zoukankan      html  css  js  c++  java
  • [Appium] 使用Appium过程中遇到的各种坑

    以下问题都是以ios为背景:

    1.

    问题:

    Case: 在页面S1上,点击元素A后,判读B元素是否出现。

    Detail:一开始通过Appium Inspector, 可以找到B元素,所以直接取该元素的name, 在代码中写入findElement(By.name("NameOfB"));

    但是case始终运行失败, 之后打开Appium Inspector, 通过name查找该元素, 发现inspector定位到了另一个非此名的元素上。即使重新刷新页面去获取新的dom, 也不起作用。

    解决方案:

    这种情况非常诡异, 目前不知道是不是Appium的bug。可换一种定位方式,如使用findElement(By.UIAutomation("XXX"))。

    2. 

    问题:

    与web和android相比,在ios上使用appium做自动化速度非常的慢。 

    解决方案:

    • 不要使用xpath定位方式。
    • 尽量少用findElement, 如果该值需要在之后继续使用,可以把它赋值给一个变量。 也就是说尽可能减少与Appium server的交互。

    3. 

    问题:

    因为元素必须先出现在页面上,才可以使用click/tap方法。所以这里先使用isDisplay()方法判读该元素出现, 然后点击该元素。但是测试下来,仍有可能即使isDisplay()返回的结果为true, 该元素还会因为不可见而点击报错。

    解决方案:

    虽然该元素的isDisplay()返回了true,但是该元素的中心点可能仍然不在屏幕上。 tap方法其实点击的就是元素的中心点。可以使用swipe方法再滑动一下屏幕让这个元素完全显示在屏幕上。

  • 相关阅读:
    html页面中的转意字符
    bootstrap学习笔记3- navbar-header navbar-toggle 类 data-toggle和data-target
    DIV嵌套过程中的高度自适应问题
    <span class="icon-bar"></span> 不显示?
    CSS中定位的浮动float
    CSS 盒模型,块级元素和行内元素的区别和特性
    CSS padding
    CSS Position(定位)
    网络资料
    vue中 具名插槽+作用域插槽的混合使用
  • 原文地址:https://www.cnblogs.com/mytianying/p/5547246.html
Copyright © 2011-2022 走看看