我是Appium的新手,并一直在尝试自动化
Android的转换计算器应用.我在尝试查找EditText元素时收到错误“org.openqa.selenium.NoSuchElementException:使用给定的搜索参数无法在页面上找到元素”.使用Appium ver 1.0.0和Android 4.3
以下是我的代码:
List<WebElement> textViews = driver.findElements(By.className("android.widget.TextView")); for (i=0; i<textViews.size(); i++) { if(textViews.get(i).getText().toLowerCase().contains("memory")) { textViews.get(i).click(); } } Thread.sleep(5000); WebElement editText = driver.findElement(By.className("android.widget.EditText")); editText.sendKeys("123");
即使是ID的findElement也无效.请让我知道我在这里做错了什么,或者我是否需要提供更多细节.
解决方法
我会用
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);而不是Thread.sleep(5000).
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);而不是Thread.sleep(5000).
尝试使用更新版本的Appium,我得到了很多改进.您可以在此处下载最新版本的Appium和Appium客户端:http://appium.io/downloads.html
但要小心,因为在较新版本中,如果搜索结果多于一个,则findElement会抛出异常.
我会在评论中写这个,但我没有足够的声誉:/