由于appiumDriver无法运行appium测试

时间:2019-02-14 11:32:40

标签: java android appium serenity-bdd

在尝试运行我的appium时,我一直在堆栈跟踪中遇到此问题,并且我一直在尝试很多方法来修复它,但是没有运气。我该怎么做才能解决以下问题?

[BaseDriver] Session created with session id: xxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxx
[AndroidDriver] Java version is: 1.8.0_201
[HTTP] <-- POST /wd/hub/session 500 130 ms - 598
[HTTP] 
[HTTP] --> POST /wd/hub/session
[HTTP] {"desiredCapabilities":{"app":"./xxxx.apk","appPackage":"xxxx","hub":"http://xxxx:xxxx/wd/hub","platformVersion":"6.0.1","automationName":"appium","appWaitActivity":"xxx.xxxx.LoginActivity","browserName":"","udid":"xxx","platformName":"Android","deviceName":"Galaxy S6"},"requiredCapabilities":{}}
[Appium] DeprecationWarning: 'automationName' capability was not provided. Future versions of Appium will require 'automationName' capability to be set for Android sessions.

然后进一步说:

Tests in error: 
  Could not instantiate class io.appium.java_client.AppiumDriver
  Could not instantiate class io.appium.java_client.AppiumDriver

从宁静属性中调用:

webdriver.driver= appium
appium.hub = http://xxx/wd/hub
appium.automationName=appium
appium.platformName = Android

####### Android CAPS Real Device ######

appium.platformVersion = 6.0.1
appium.browserName =
serenity.take.screenshots= AFTER_EACH_STEP
webdriver.timeouts.implicitlywait = 5000


appium.app=./xxx.apk
appium.appPackage = xxx
appium.appWaitActivity = xxx.LoginActivity

## TestTeam Galaxy S6
appium.deviceName = Galaxy S6
appium.udid = xxx

2 个答案:

答案 0 :(得分:2)

  

Appium驱动程序是从Java Client版本开始的抽象类   2.0.0。

您必须专门实例化AndroidDriver或IOSDriver(而不是AppiumDriver)。 检查this答案。

答案 1 :(得分:2)

您在功能中缺少此句子,可以使用此或

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

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

我已与您共享链接,因此您应该了解为什么我们在appium中使用该功能

http://appium.io/docs/en/drivers/android-uiautomator2/

http://appium.io/docs/en/drivers/android-uiautomator/

让我们知道它是否有效。