环境

在手机上测试手机淘宝, 自动化手机淘宝的搜索
appium 1.0.0

过程

使用如下代码定位输入框

WebElement text; 
text = driver.findElement(By.xpath("//android.widget.EditText"));
System.out.println(text.getText());     
text = driver.findElement(By.xpath("//android.widget.EditText"));
System.out.println(text.getText());     
text = driver.findElement(By.xpath("//android.widget.EditText[1]"));
System.out.println(text.getText());     
text = driver.findElementByXPath("//android.widget.EditText[1]");
System.out.println(text.getText());
text = driver.findElementByAndroidUIAutomator("new UiSelector().className(\"android.widget.EditText\")");
System.out.println(text.getText());
text = driver.findElementByXPath("//*[@text='寻找宝贝、店铺']");
System.out.println(text.getText());
text = driver.findElementByClassName("android.widget.EditText");
System.out.println(text.getText());

运行时输出结果是

聚划算
寻找宝贝、店铺
寻找宝贝、店铺
寻找宝贝、店铺
寻找宝贝、店铺
寻找宝贝、店铺
寻找宝贝、店铺

可以发现前两次的定位方式一样, 但是结果却不一样, 初步怀疑是跟 appium 在进行 xpath 定位的时候, 每次都 dump 界面结构导致了写入读取延迟导致的.


↙↙↙阅读原文可查看相关链接,并与作者交流