Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Проблема с запуском Appium Android тестов в Jenkins Android Emulator

jenkins
android
appium
Теги: #<Tag:0x00007f7b626b1338> #<Tag:0x00007f7b626b11f8> #<Tag:0x00007f7b626b10b8>

(Tim Russo) #1

На локальной машине стоит Jenkins.
Установил в него плагин https://wiki.jenkins…Emulator Plugin
В настройках Job указываю существующий эмулятор http://joxi.ru/DmBJRBkt85a7mP
При запуске тестов запускается appium и эмулятор и вроде как бы находит девайс, но не коннектится к нему/

`$ /Users/timrusso/Library/Android/sdk/tools/android list target
[android] Using Android SDK: /Users/timrusso/Library/Android/sdk
$ /Users/timrusso/Library/Android/sdk/platform-tools/adb start-server

  • daemon not running. starting it now on port 5825 *
  • daemon started successfully *
    $ /Users/timrusso/Library/Android/sdk/platform-tools/adb start-server
    [android] Starting Android emulator
    $ /Users/timrusso/Library/Android/sdk/tools/emulator -engine classic -ports 5692,5693 -report-console tcp:5835,max=60 -avd Nexus_5X_API_23 -no-snapshot-load -no-snapshot-save
    emulator: WARNING: VM heap size set below hardware specified minimum of 228MB
    emulator: WARNING: Setting VM heap size to 384MB
    emulator: WARNING: Classic qemu does not support SMP. The hw.cpu.ncore option from your config file is ignored.
    HAXM is working and emulator runs in fast virt mode
    [android] Emulator reported that the console is available on port 5,692
    [android] Waiting for emulator to finish booting…
    $ /Users/timrusso/Library/Android/sdk/platform-tools/adb -s emulator-5692 wait-for-device shell getprop init.svc.bootanim
    [android] Emulator reported that the startup process is ‘running’
    $ /Users/timrusso/Library/Android/sdk/platform-tools/adb -s emulator-5692 wait-for-device shell getprop init.svc.bootanim
    [android] Emulator reported that the startup process is ‘stopped’
    $ /Users/timrusso/Library/Android/sdk/platform-tools/adb -s emulator-5692 logcat -v time
    [android] Attempting to unlock emulator screen
    $ /Users/timrusso/Library/Android/sdk/platform-tools/adb -s emulator-5692 shell input keyevent 82
    $ /Users/timrusso/Library/Android/sdk/platform-tools/adb -s emulator-5692 shell input keyevent 4
    [android] Emulator is ready for use (took 44 seconds)
    [Test_tim] $ mvn test
    [INFO] Scanning for projects…
    [INFO]
    [INFO] ------------------------------------------------------------------------
    [INFO] Building engage_adviser_test 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO]
    [INFO] — maven-resources-plugin:2.6:resources (default-resources) @ engage_adviser_test —
    [INFO] Using ‘UTF-8’ encoding to copy filtered resources.
    [INFO] skip non existing resourceDirectory /Users/timrusso/.jenkins/workspace/Test_tim/src/main/resources
    [INFO]
    [INFO] — maven-compiler-plugin:3.1:compile (default-compile) @ engage_adviser_test —
    [INFO] No sources to compile
    [INFO]
    [INFO] — maven-resources-plugin:2.6:testResources (default-testResources) @ engage_adviser_test —
    [INFO] Using ‘UTF-8’ encoding to copy filtered resources.
    [INFO] Copying 1 resource
    [INFO]
    [INFO] — maven-compiler-plugin:3.1:testCompile (default-testCompile) @ engage_adviser_test —
    [INFO] Nothing to compile - all classes are up to date
    [INFO]
    [INFO] — maven-surefire-plugin:2.16:test (default-test) @ engage_adviser_test —
    [INFO] Surefire report directory: /Users/timrusso/.jenkins/workspace/Test_tim/target/surefire-reports

T E S T S

Running TestSuite
[Appium] Welcome to Appium v1.5.2 (REV 2921795668970f9b5598037fc55940d29ba941d6)
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
[HTTP] --> GET /wd/hub/status {}
[MJSONWP] Calling AppiumDriver.getStatus() with args: []
[MJSONWP] Responding to client with driver.getStatus() result: {“build”:{“version”:“1.5.2”,“revision”:“2921795668970f9b5598037fc55940d29ba941d6”}}
[HTTP] <-- GET /wd/hub/status 200 15 ms - 121
[HTTP] --> POST /wd/hub/session {“desiredCapabilities”:{“app”:"/Users/timrusso/TIM/test/android/apps/app-advisor-debug.apk",“automationName”:“Appium”,“platformName”:“Android”,“deviceName”:“emulator-5748”,“platformVersion”:“4.4”}}
[MJSONWP] Calling AppiumDriver.createSession() with args: [{“app”:"/Users/timrusso/TIM/test/android/apps/app-advisor-debug.apk",“automationName”:“Appium”,“platformName”:“Android”,“deviceName”:“emulator-574…
[Appium] Creating new AndroidDriver session
[Appium] Capabilities:
[Appium] app: ‘/Users/timrusso/TIM/test/android/apps/app-advisor-debug.apk’
[Appium] automationName: ‘Appium’
[Appium] platformName: ‘Android’
[Appium] deviceName: ‘emulator-5748’
[Appium] platformVersion: ‘4.4’
[BaseDriver] Session created with session id: 07afaaac-3e3b-462d-b66b-652eccc38da1
[debug] [AndroidDriver] Getting Java version
[AndroidDriver] Java version is: 1.8.0_91
[ADB] Checking whether adb is present
[ADB] Using adb from /Users/timrusso/Library/Android/sdk/platform-tools/adb
[AndroidDriver] Retrieving device list
[debug] [ADB] Trying to find a connected android device
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[AndroidDriver] Using device: emulator-5692
[ADB] Checking whether adb is present
[ADB] Using adb from /Users/timrusso/Library/Android/sdk/platform-tools/adb
[debug] [ADB] Setting device id to emulator-5692
[BaseDriver] Using local app ‘/Users/timrusso/TIM/test/android/apps/app-advisor-debug.apk’
[debug] [AndroidDriver] Checking whether app is actually present
[AndroidDriver] Starting Android session
[debug] [ADB] Running /Users/timrusso/Library/Android/sdk/platform-tools/adb with args: [”-P",5037,"-s",“emulator-5692”,“wait-for-device”]
[debug] [ADB] Running /Users/timrusso/Library/Android/sdk/platform-tools/adb with args: ["-P",5037,"-s",“emulator-5692”,“wait-for-device”]
[debug] [ADB] Restarting adb
[debug] [ADB] Getting connected devices…
[debug] [ADB] 0 device(s) connected
[ADB] Error: Error in waiting for device. Original error: ‘Error executing adbExec. Original error: Command ‘/Users/timrusso/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5692 wait-for-device’ timed out after 10000ms{“stdout”:"",“stderr”:"",“code”:null}’. Retrying by restarting ADB
at Object.wrappedLogger.errorAndThrow (lib/logger.js:60:13)
at ADB.callee$1$0$ (lib/tools/system-calls.js:418:11)
at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
Error: Error in waiting for device. Original error: ‘Error executing adbExec. Original error: Command ‘/Users/timrusso/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5692 wait-for-device’ timed out after 10000ms{“stdout”:"",“stderr”:"",“code”:null}’. Retrying by restarting ADB
at Object.wrappedLogger.errorAndThrow (lib/logger.js:60:13)
at ADB.callee$1$0$ (lib/tools/system-calls.js:418:11)
at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
[debug] [ADB] Running /Users/timrusso/Library/Android/sdk/platform-tools/adb with args: ["-P",5037,"-s",“emulator-5692”,“wait-for-device”]
[debug] [ADB] Running /Users/timrusso/Library/Android/sdk/platform-tools/adb with args: ["-P",5037,"-s",“emulator-5692”,“wait-for-device”]
[debug] [ADB] Restarting adb
[debug] [ADB] Getting connected devices…
[debug] [ADB] 0 device(s) connected
[ADB] Error: Error in waiting for device. Original error: ‘Error executing adbExec. Original error: Command ‘/Users/timrusso/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5692 wait-for-device’ timed out after 10000ms{“stdout”:"",“stderr”:"",“code”:null}’. Retrying by restarting ADB
at Object.wrappedLogger.errorAnd[deThrow (lib/logger.js:60:13)
at ADB.callee$1$0$ (lib/tools/system-calls.js:418:11)
at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_mbug] [ADB] Running /Users/timrusso/Library/Android/sdk/platform-tools/adb with args: ["-P",5037,"-s",“emulator-5692”,“wait-for-device”]
odules/babel-runtime/regenerator/runtime.js:136:37)
at process._tickCallback (internal/process/next_tick.js:103:7)
Error: Error in waiting for device. Original error: ‘Error executing adbExec. Original error: Command ‘/Users/timrusso/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5692 wait-for-device’ timed out after 10000ms{“stdout”:"",“stderr”:"",“code”:null}’. Retrying by restarting ADB
at Object.wrappedLogger.errorAndThrow (lib/logger.js:60:13)
at ADB.callee$1$0$ (lib/tools/system-calls.js:418:11)
at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
at process._tickCallback (internal/process/next_tick.js:103:7)
[debug] [ADB] Running /Users/timrusso/Library/Android/sdk/platform-tools/adb with args: ["-P",5037,"-s",“emulator-5692”,“wait-for-device”]
[debug] [ADB] Restarting adb
[debug] [ADB] Getting connected devices…
[debug] [ADB] 0 device(s) connected
[ADB] Error: Error in waiting for device. Original error: ‘Error executing adbExec. Original error: Command ‘/Users/timrusso/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5692 wait-for-device’ timed out after 10000ms{“stdout”:"",“stderr”:"",“code”:null}’. Retrying by restarting ADB
at Object.wrappedLogger.errorAndThrow (lib/logger.js:60:13)
at ADB.callee$1$0$ (lib/tools/system-calls.js:418:11)
at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
at process._tickCallback (internal/process/next_tick.js:103:7)
Error: Error in waiting for device. Original error: ‘Error executing adbExec. Original error: Command ‘/Users/timrusso/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5692 wait-for-device’ timed out after 10000ms{“stdout”:"",“stderr”:"",“code”:null}’. Retrying by restarting ADB
at Object.wrappedLogger.errorAndThrow (lib/logger.js:60:13)
at ADB.callee$1$0$ (lib/tools/system-calls.js:418:11)
at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
at process._tickCallback (internal/process/next_tick.js:103:7)
[MJSONWP] Encountered internal error running command: Error: Error in waiting for device. Original error: ‘Error executing adbExec. Original error: Command ‘/Users/timrusso/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5692 wait-for-device’ timed out after 10000ms{“stdout”:"",“stderr”:"",“code”:null}’. Retrying by restarting ADB
at Object.wrappedLogger.errorAndThrow (lib/logger.js:60:13)
at ADB.callee$1$0$ (lib/tools/system-calls.js:418:11)
at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
at process._tickCallback (internal/process/next_tick.js:103:7)
[debug] [AndroidDriver] Shutting down Android driver
[AndroidDriver] Cannot shut down Android driver; it has already shut down
[HTTP] <-- POST /wd/hub/session 500 69444 ms - 429
Tests run: 31, Failures: 1, Errors: 0, Skipped: 30, Time elapsed: 73.742 sec <<< FAILURE! - in TestSuite
setUp(tests.ClientsTest) Time elapsed: 73.653 sec <<< FAILURE!
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Error in waiting for device. Original error: ‘Error executing adbExec. Original error: Command ‘/Users/timrusso/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5692 wait-for-device’ timed out after 10000ms{“stdout”:"",“stderr”:"",“code”:null}’. Retrying by restarting ADB (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 69.60 seconds
Build info: version: ‘2.53.0’, revision: ‘35ae25b1534ae328c771e0856c93e187490ca824’, time: ‘2016-03-15 10:43:46’
System info: host: ‘Tims-iMac.local’, ip: ‘192.168.1.204’, os.name: ‘Mac OS X’, os.arch: ‘x86_64’, os.version: ‘10.11.5’, java.version: ‘1.8.0_91’
Driver info: io.appium.java_client.android.AndroidDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:43)
at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:144)
at io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:39)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:69)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:78)
at io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:67)
at applogic1.ApplicationManager1.(ApplicationManager1.java:44)
at pages.TestBase.setUp(TestBase.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:525)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:202)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:130)
at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:173)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:105)
at org.testng.TestRunner.runWorkers(TestRunner.java:1178)
at org.testng.TestRunner.privateRun(TestRunner.java:757)
at org.testng.TestRunner.run(TestRunner.java:608)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1158)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1083)
at org.testng.TestNG.run(TestNG.java:999)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:217)
at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:84)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:92)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

Results :

Failed tests:
ClientsTest>TestBase.setUp:23 » WebDriver An unknown server-side error occurre…

Tests run: 31, Failures: 1, Errors: 0, Skipped: 30

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:15 min
[INFO] Finished at: 2016-05-24T18:17:47+03:00
[INFO] Final Memory: 11M/225M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.16:test (default-test) on project engage_adviser_test: There are test failures.
[ERROR]
[ERROR] Please refer to /Users/timrusso/.jenkins/workspace/Test_tim/target/surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Build step ‘Invoke top-level Maven targets’ marked build as failure
[android] Stopping Android emulator
[android] Archiving emulator log
$ /Users/timrusso/Library/Android/sdk/platform-tools/adb kill-server
TestNG Reports Processing: START
Looking for TestNG results report in workspace using pattern: **/testng-results.xml
Saving reports…
Processing ‘/Users/timrusso/.jenkins/jobs/Test_tim/builds/24/testng/testng-results.xml’
TestNG Reports Processing: FINISH`


(Nikita Barchugov) #2

Нашлось решение? У меня такая же проблема