乐哈哈yoyo 发表于 2017-6-27 09:28:51

appium 定位会偶尔定位偏是怎么回事?

问题描述:在appium定位中,发现会偶尔定位偏,两个相同的用例每次循环执行5次,会有几次失败。具体代码如下:
// 爱分享
@Test(priority = 0, invocationCount = 5)
public void loveToshare() throws InterruptedException {
Thread.sleep(9000);
driver.findElementById("com.lvman:id/item2").click();
// WebElement el = driver.findElement(By.id("com.lvman:id/item1"));
// el.click();
System.out.println("进入友邻社交一级板块");
Thread.sleep(5000);
driver.findElementByXPath("//android.widget.TextView[@text='爱分享']")
.click();
if (appiumcommon.isElementExsit(driver,
"//android.widget.TextView[@text='爱分享']")) {
// driver.sendKeyEvent(4);
System.out.println("-----" + "爱分享验证完成" + "-----");
} else {
}
driver.findElementById("com.lvman:id/head_info").click();
driver.findElementById("com.lvman:id/neighbour_title").sendKeys(
"aifengxiangfangweiwei");
driver.findElementById("com.lvman:id/neighbour_introduce").sendKeys(
"fangweishigehaoren.");
driver.findElementById("com.lvman:id/btn_homecommit_submit").click();
((AndroidDriver) driver).sendKeyEvent(AndroidKeyCode.BACK);
return;
}
// 活动
@Test(priority = 1, invocationCount = 5)
public void activity() throws InterruptedException {
Thread.sleep(9000);
driver.findElementById("com.lvman:id/item2").click();
// WebElement el = driver.findElement(By.id("com.lvman:id/item1"));
// el.click();
System.out.println("进入友邻社交一级板块");
Thread.sleep(5000);
driver.findElementByXPath("//android.widget.TextView[@text='活动']")
.click();
if (appiumcommon.isElementExsit(driver,
"//android.widget.TextView[@text='活动']")) {
// driver.sendKeyEvent(4);
System.out.println("-----" + "活动验证完成" + "-----");
} else {
}
driver.findElementById("com.lvman:id/head_info").click();
driver.findElementById("com.lvman:id/neighbour_title").sendKeys(
"huodongfangweiwei");
driver.findElementById("com.lvman:id/neighbour_introduce").sendKeys(
"zheshihuodongneirong.");
driver.findElementById("com.lvman:id/btn_homecommit_submit").click();
driver.findElementById("com.lvman:id/tv_conclude_time").click();
driver.findElementById("android:id/button1").click();
((AndroidDriver) driver).sendKeyEvent(AndroidKeyCode.BACK);
return;
}
定位元素是加粗位置标识。
下面是我的app元素详情定位截图:

https://testerhome.com/uploads/photo/2017/b907d710-4cd0-4ca7-8744-dd5c10bbfdca.png%21large


https://testerhome.com/uploads/photo/2017/170dc517-0857-4557-8789-56c714e14d37.png%21large


也就是我在定位item2的时候,偶尔会定位到item4中。注意是偶尔哦,不知道各位在工作中有没有人遇到这个错误?求大神指点!谢谢

乐哈哈yoyo 发表于 2017-6-27 09:50:11

元素定位偏可能是页面没有加载完全,还有可能是你定位元素的方式以及元素本身的判定区域决定

乐哈哈yoyo 发表于 2017-6-27 09:52:49

乐哈哈yoyo 发表于 2017-6-27 09:50
元素定位偏可能是页面没有加载完全,还有可能是你定位元素的方式以及元素本身的判定区域决定

了解!
页: [1]
查看完整版本: appium 定位会偶尔定位偏是怎么回事?