51Testing软件测试论坛

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

作者: 测试积点老人    时间: 2020-11-13 10:37
标题: appium定位会偶尔定位偏是怎么回事?
问题描述:在appium定位中,发现会偶尔定位偏,两个相同的用例每次循环执行5次,会有几次失败。具体代码如下:
  1. // 爱分享

  2. @Test(priority = 0, invocationCount = 5)

  3. public void loveToshare() throws InterruptedException {

  4. Thread.sleep(9000);

  5. driver.findElementById("com.lvman:id/item2").click();

  6. // WebElement el = driver.findElement(By.id("com.lvman:id/item1"));

  7. // el.click();

  8. System.out.println("进入友邻社交一级板块");

  9. Thread.sleep(5000);

  10. driver.findElementByXPath("//android.widget.TextView[@text='爱分享']")

  11. .click();

  12. if (appiumcommon.isElementExsit(driver,

  13. "//android.widget.TextView[@text='爱分享']")) {

  14. // driver.sendKeyEvent(4);

  15. System.out.println("-----" + "爱分享验证完成" + "-----");

  16. } else {

  17. }

  18. driver.findElementById("com.lvman:id/head_info").click();

  19. driver.findElementById("com.lvman:id/neighbour_title").sendKeys(

  20. "aifengxiangfangweiwei");

  21. driver.findElementById("com.lvman:id/neighbour_introduce").sendKeys(

  22. "fangweishigehaoren.");

  23. driver.findElementById("com.lvman:id/btn_homecommit_submit").click();

  24. ((AndroidDriver) driver).sendKeyEvent(AndroidKeyCode.BACK);

  25. return;

  26. }

  27. // 活动

  28. @Test(priority = 1, invocationCount = 5)

  29. public void activity() throws InterruptedException {

  30. Thread.sleep(9000);

  31. driver.findElementById("com.lvman:id/item2").click();

  32. // WebElement el = driver.findElement(By.id("com.lvman:id/item1"));

  33. // el.click();

  34. System.out.println("进入友邻社交一级板块");

  35. Thread.sleep(5000);

  36. driver.findElementByXPath("//android.widget.TextView[@text='活动']")

  37. .click();

  38. if (appiumcommon.isElementExsit(driver,

  39. "//android.widget.TextView[@text='活动']")) {

  40. // driver.sendKeyEvent(4);

  41. System.out.println("-----" + "活动验证完成" + "-----");

  42. } else {

  43. }

  44. driver.findElementById("com.lvman:id/head_info").click();

  45. driver.findElementById("com.lvman:id/neighbour_title").sendKeys(

  46. "huodongfangweiwei");

  47. driver.findElementById("com.lvman:id/neighbour_introduce").sendKeys(

  48. "zheshihuodongneirong.");

  49. driver.findElementById("com.lvman:id/btn_homecommit_submit").click();

  50. driver.findElementById("com.lvman:id/tv_conclude_time").click();

  51. driver.findElementById("android:id/button1").click();

  52. ((AndroidDriver) driver).sendKeyEvent(AndroidKeyCode.BACK);

  53. return;

  54. }
复制代码
定位元素是加粗位置标识。
下面是我的app元素详情定位截图:
[attach]130601[/attach]
[attach]130602[/attach]
也就是我在定位item2的时候,偶尔会定位到item4中。注意是偶尔哦,不知道各位在工作中有没有人遇到这个错误?求大神指点!谢谢



作者: bellas    时间: 2020-11-16 10:22
页面没有加载完就点击
作者: qqq911    时间: 2020-11-16 10:50
换种定位方式
作者: 海海豚    时间: 2020-11-16 16:05
换定位方式吧,也查看下思考时间是不是够长
作者: 郭小贱    时间: 2020-11-16 17:28
可以参考这篇文章看下 http://ask.testfan.cn/question/394
作者: msnshow    时间: 2020-11-22 17:18
ID是唯一的,使用ID来定位,不可能错的




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