51Testing软件测试论坛

标题: appium 定位会偶尔定位偏是怎么回事? [打印本页]

作者: 八戒你干嘛    时间: 2017-6-26 09:48
标题: appium 定位会偶尔定位偏是怎么回事?
本帖最后由 八戒你干嘛 于 2017-6-26 09:49 编辑

问题描述:在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元素详情定位截图:


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




作者: 巴黎的灯光下    时间: 2017-6-26 14:19
页面没有加载完就点击
作者: 草帽路飞UU    时间: 2017-6-26 14:19
元素定位偏可能是页面没有加载完全,还有可能是你定位元素的方式以及元素本身的判定区域决定




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2