【问题标题】:Appium/TestNG script on AWS device farm - could not find elementAWS 设备场上的 Appium/TestNG 脚本 - 找不到元素
【发布时间】:2016-06-16 13:11:12
【问题描述】:

我正在 AWS Device Farm 上的 java 中设置我的 Appium/TestNG 脚本,使用教程:http://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types-android-appium-java-testng.html 在我编译并上传“zip-with-dependencies.zip”到 AWS Device Farm 并在设备上运行测试后,我收到一个错误,即找不到脚本中的第一个可点击元素。 所以 Setup 和 Teardown 套件在运行中通过,但实际测试每次都失败: Failure Description on AWS Device Farm

我的问题是我是否缺少配置中的某些内容,或者脚本是否需要任何额外的所需功能才能在 AWS Device Farm 上实际执行测试?

【问题讨论】:

    标签: java amazon-web-services testng appium aws-device-farm


    【解决方案1】:

    我用另一个版本更改了测试应用程序的版本,似乎和上一个一样,找不到元素正在弹出一个android系统消息,无法使用提供的代码点击,因此搜索元素找不到。 Device Farm 不太擅长的另一件事 - 提供对正在运行的测试的实时观察,这可以在这种情况下节省大量时间。

    【讨论】:

      【解决方案2】:

      为仍然面临这个问题的人回答这个问题。

      您必须为用于自动化测试的自动化机制设置automationName 所需的功能。

      对我来说,将其设置为 uiautomator2 有效。

      capabilities.setCapability("automationName", "uiautomator2");
      

      【讨论】:

        【解决方案3】:

        两个建议: 1. 将元素等待时间设置为小于 60 秒,因为之后默认的 Appium 会话将超时。 2.创建失败截图,检查元素是否加载正确。

        希望这会有所帮助:)

        谢谢, 宏达

        【讨论】:

        • 感谢您的建议,将元素等待时间设置为30秒不起作用,仍然无法定位。我在本地使用 appium 服务器和模拟器运行相同的测试,并且脚本每次都运行。我注意到的另一件事是,在使用“mvn clean package -DskipTests=true”命令编译“zip-with-dependencies.zip”然后尝试在本地运行脚本到我的 appium 服务器时,它们无法执行。
        • 我尝试的另一件事 - 我删除了测试脚本中任何元素的点击,只留下了一些滑动动作和 wd.closeApp();和 wd.launchApp();在末尾。然后脚本成功执行并传入 Device Farm。所以问题是元素的定位,可能是需要的 JARS 在项目的文件夹中,而不是在打包时在“Maven Dependencies”中?我用于第一个元素的代码是:wait.until(ExpectedConditions.elementToBeClickable(By.id("wt_sign_in")));线程.sleep(1500); wd.findElementById("wt_sign_in").click();
        猜你喜欢
        • 2018-06-12
        • 1970-01-01
        • 2021-07-15
        • 1970-01-01
        • 1970-01-01
        • 2019-09-24
        • 1970-01-01
        • 2016-04-08
        • 2019-02-17
        相关资源
        最近更新 更多