같은 코드로 IE11을 테스트할때 UnsupportedOperationError 에러가 나타납니다.
[package.json]
iedriver: 3.9.2
selenium-webdriver: 4.0.0-alpha.1
[Node.js] 10.8.0
[npm ] 6.2.0
IE Browser - IE 11
해당 에러가 났던 코드입니다.
let subMenuList = await this.currlnbMenu.findElements(By.css('ul li'));
await Promise.all(subMenuList.map(async (item,index)=>{
let topSubMenuTextTag = await item.findElement(By.css('.top-menu_text'));
// 이부분에서 에러가 나타납니다.
let targetText = await topSubMenuTextTag.getText();
// 이부분에서 에러가 나타납니다.
if(clickSubMenuText.toLowerCase()===targetText.toLowerCase()){
console.log("find It");
this.currlnbSubMenu = item;
this.currlnbSubMenuText = targetText;
await topSubMenuTextTag.click();
return item;
}
else{
console.log("[subMenuSelect] Looking for element : " ,clickSubMenuText );
console.log("[subMenuSelect] Checking for element : " ,targetText );
console.log('');
}
}));
정확히 나는 부분은 Promise.all 안에 async map 순환 까지는 문제가 없으나
순환되는 item 파라미터로
item.getText , item.getAttribute('innerText') 등의 작업을 하게되면 위의 알수없는 미지원에러가 나타납니다.
그래서 해당 코드를 수정했습니다.
let subMenuList = await this.currlnbMenu.findElements(By.css('ul li'));
let length = subMenuList.length;
for(let i=0;i<length;i++){
let topSubMenuTextTag = await subMenuList[i].findElement(By.css('.top-menu_text'));
let targetText = await topSubMenuTextTag.getText();
if(clickSubMenuText.toLowerCase()===targetText.toLowerCase()){
console.log('find It');
this.currlnbSubMenu = subMenuList[i];
this.currlnbSubMenuText = targetText;
await topSubMenuTextTag.click();
break;
}
else{
console.log("[subMenuSelect] Looking for element : " ,clickSubMenuText );
console.log("[subMenuSelect] Checking for element : " ,targetText );
console.log('');
}
}
// Promise.all 과 map 의 합작으로 인해서 오류가 나는것으로 추측 하여 일반 for 문으로 변경하여 사용
'QA_자동화_UI_Automation > Selenium-WebDriver' 카테고리의 다른 글
Jenkins 와 Selenium 을 사용한 웹 자동화(web Automation Test) (0) | 2018.11.07 |
---|---|
[Selenium-웹자동화] async Iterator 유의사항 ( findElements By.css ) (0) | 2018.08.31 |
[Selenium-웹자동화] Naver Login 페이지 변경에 따른 예제 변경(Chrome) (18) | 2018.08.21 |
[Selenium-웹자동화] Naver Login 페이지 변경에 따른 예제 변경 안내 (0) | 2018.07.24 |
[Selenium - 트러블 슈팅] Windows 10 과 IE 11 에 자동 클릭 (0) | 2018.07.19 |