首页 > 解决方案 > 启动画面后 Appium 测试不再进行

问题描述

我希望有人能帮忙。我正在测试三个应用程序,一旦应用程序启动,正确的行为应该是,启动屏幕显示几秒钟,然后显示登录页面。

我正在尝试使用 appium 自动执行此操作,但是一旦自动测试打开启动画面,测试就会结束。我看到此错误消息:

NoSuchElementError: An element could not be located on the page using the given search parameters. at AndroidUiautomator2Driver.findElOrEls (C:\Users\zminhas\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\commands\find.js:75:11)

这是我的 env.rb 代码:

require "appium_lib"
require "pry"


opts = {
         caps: {
           deviceName: :Anyname,
           platformName: :Android,
           app: 'C:\Users\zminhas\Desktop\three_app_automation\features\support\biometrics.apk',
           appPackage: "com.hutchison3g.planet3",
           appActivity: ".SplashScreenActivity",
           noReset: true
         },
         appium_lib: {
           #wait_timeout: 30

         }
       }
Appium::Driver.new(opts, true).start_driver
Appium.promote_appium_methods Object

还有我的 hooks.rb 代码:

Before do
    $driver.start_driver    
end

After do
    $driver.driver_quit
end

这是完整的结果屏幕:

$ cucumber
*** WARNING: You must use ANSICON 1.31 or higher (https://github.com/adoxa/ansicon/) to get coloured output on Windows
Feature: All external URLs work as expected within the More Tab

2019-11-11 12:08:13 WARN Selenium [DEPRECATION] Selenium::WebDriver::Error::TimeOutError is deprecated. Use Selenium::WebDriver::Error::TimeoutError (ensure the driver supports W3C WebDriver specification) instead.
  Scenario: test                        # features/more_tab.feature:3
    Given I see the enter number screen # features/step_definitions/more_tab_steps.rb:1
      An element could not be located on the page using the given search parameters. (Selenium::WebDriver::Error::NoSuchElementError)
      NoSuchElementError: An element could not be located on the page using the given search parameters.
          at AndroidUiautomator2Driver.findElOrEls (C:\Users\zminhas\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\commands\find.js:75:11)
      ./features/step_definitions/more_tab_steps.rb:2:in `"I see the enter number screen"'
      features/more_tab.feature:4:in `Given I see the enter number screen'

Failing Scenarios:
cucumber features/more_tab.feature:3 # Scenario: test

1 scenario (1 failed)
1 step (1 failed)
0m14.888s

感谢您的时间

标签: rubymobileautomationappium

解决方案


在面试中给我一个应用程序时,我遇到了同样的问题。但 2 天后,我能够找到解决与启动画面相关的问题的解决方案,并且无法使用脚本/appium 进入第二个屏幕,但手动它工作正常。问题与 INTENT 活动解决方案有关:我在脚本/功能中添加了一些额外的代码行到 appium,它运行良好。尝试将这些行用于具有闪屏问题的应用程序。

capabilities.setCapability("androidCoverage","com.my.Pkg/com.my.Pkg.instrumentation.MyInstrumentation");
capabilities.setCapability("androidCoverageEndIntent","com.example.pkg.END_EMMA");
capabilities.setCapability("intentAction","android.intent.action.MAIN");
capabilities.setCapability("intentCategory","android.intent.category.LAUNCHER");
capabilities.setCapability("intentFlags","0x10200000");

请让我知道它是否也对您有用?


推荐阅读