sendkeys命令在IOS safari上的selenium webdriver中导致异常

时间:2014-01-30 15:08:50

标签: ios selenium safari

我一直在尝试在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上尝试它时,它工作正常。

2 个答案:

答案 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();