我一直在尝试在IOS模拟器7.0(IPhone)上的Safari浏览器上运行一些示例远程WebDriver测试,但每次我尝试在文本框中键入值时,我的测试会给出异常。只是尝试使用iosdriver的例子
DesiredCapabilities safari = IOSCapabilities.iphone("Safari");
RemoteWebDriver driver = new RemoteWebDriver(new URL("http://<someip>:4444/wd/hub"), safari);
driver.get("http://hp.mobileweb.ebay.co.uk/home");
WebElement search = driver.findElement(By.id("srchDv"));
search.sendKeys("ipod");
search.submit();
给了我例外
a“org.openqa.selenium.NoSuchElementException:找不到条件的元素:{”AND“:[{”l10n“:”none“,”expected“:”UIAElement“,”matching“:”exact“, “method”:“type”},{“l10n”:“none”,“expected”:“Address”,“matching”:“exact”,“method”:“name”}“。 其他人遇到这个?它正在识别元素,但键入值失败。当我在桌面上的firefox上尝试它时,它工作正常。
答案 0 :(得分:0)
我不是专家,但熟悉selenium webdriver ..
您确定“搜索”---('srchDv')的ID实际存在于您尝试自动化的页面上吗?
如果是的话
然后我会查看UIA -Element Hierarchy / Accessibility link to UIA Element Class reference
希望这是有帮助的
答案 1 :(得分:0)
您的选择器不正确。您正在自动化的页面没有ID srchDv
。如果您收到搜索框,则需要使用:
driver.findElement(By.id("gh-ac")).clear();
driver.findElement(By.id("gh-ac")).sendKeys("ipod");
此外,我不会使用提交,而是按照用户提交操作的方式进行操作,而不是单击搜索按钮。
driver.findElement(By.id("gh-btn")).click();