Appium测试甚至没有在AWS DeviceFarm上启动 [英] Appium test doesn't even start on AWS DeviceFarm

查看:127
本文介绍了Appium测试甚至没有在AWS DeviceFarm上启动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经为我的应用程序在iOS设备上运行了一些iOS Appium测试(Java TestNG)。

I have run somel iOS Appium tests (Java TestNG) on iOS devices for my app.

有些测试甚至没有在六到七个上安装该应用程序在22种设备中。所有人都具有与不创建会话完全相同的错误:

Some tests don't even install the app, on six or seven out of 22 devices. All with the exact same error about not creating a session:

Trying to execute simple Appium Driver
Failed to invoke configuration method scenarios.ScreenshotsAppiumTest.setUp:
It is impossible to create a new session because 
'createSession' which takes HttpClient, 
InputStream and long was not found or it is not accessible

该测试可以在我的所有设备以及AWS Device Farm上的几乎所有其他设备上运行并通过。
在失败的那些设备中,它什么也不做。它不会安装该应用。

The test works and passes on all my devices and almost all other devices on AWS Device Farm. In those devices where it fails, it does nothing. It doesn't install the app.

我不知道如何调试此测试或为什么它们没有运行。 Google帮不上忙。

I have no idea how to debug this test or why they are not running. Google doesn't help.

我肯定该测试有效,因为它可以在其他设备上使用。

I am positive the test works, since it works on other devices.

我想知道如何调试或尝试解决此错误。调试Appium而不在AWS Device Farm上安装应用程序的步骤是什么?
我该怎么办?是否有任何命令可以执行以获取更多日志?有什么事吗
我曾在AWS论坛上问过同样的问题,没有任何运气...。
谢谢。

I'd like to know how to debug or try to solve this error. What are the steps to debug Appium not installing the app on AWS Device Farm? What can I do? Is there any command to execute to get more logs? Anything? I have asked this same question on AWS Forum without any luck.... Thanks.

我在日志中有此错误:

RUNNING: Suite: "test" containing "1" Tests (config: /private/tmp/scratchudZ8pO.scratch/testng_xml93e7D5/screenshotsTest.xml)
https://forums.aws.amazon.com/ Keeping method ScreenshotsAppiumTest.setUp()pri:0, instance:scenarios.ScreenshotsAppiumTest@4e04a765 for class http://TestClass name=class scenarios.ScreenshotsAppiumTest
https://forums.aws.amazon.com/ Invoking @BeforeClass ScreenshotsAppiumTest.setUp()pri:0, instance:scenarios.ScreenshotsAppiumTest@4e04a765
INVOKING CONFIGURATION: "test" - @BeforeClass scenarios.ScreenshotsAppiumTest.setUp()
Trying to execute simple Appium Driver
Failed to invoke configuration method scenarios.ScreenshotsAppiumTest.setUp:It is impossible to create a new session because 'createSession' which takes HttpClient, InputStream and long was not found or it is not accessible
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'
System info: host: 'prod-osx-device-host-master-v18.local', ip: 'fe80:0:0:0:82:486b:ed14:4cef%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.2', java.version: '1.8.0_141'
Driver info: driver.version: AppiumDriver
FAILED CONFIGURATION: "test" - @BeforeClass scenarios.ScreenshotsAppiumTest.setUp() finished in 0 ms
org.openqa.selenium.WebDriverException: It is impossible to create a new session because 'createSession' which takes HttpClient, InputStream and long was not found or it is not accessible
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'
System info: host: 'prod-osx-device-host-master-v18.local', ip: 'fe80:0:0:0:82:486b:ed14:4cef%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.2', java.version: '1.8.0_141'
Driver info: driver.version: AppiumDriver
at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:182)
at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:196)
at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:218)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)
at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42)
at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)
at io.appium.java_client.DefaultGenericMobileDriver.<init>(DefaultGenericMobileDriver.java:38)
at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:84)
at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:94)
at scenarios.TestSetup.prepareDriver(TestSetup.java:117)
at scenarios.ScreenshotsAppiumTest.setUp(ScreenshotsAppiumTest.java:44)
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:84)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)
at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:175)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:107)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
at org.testng.SuiteRunner.run(SuiteRunner.java:254)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.TestNG.privateMain(TestNG.java:1364)
at org.testng.TestNG.main(TestNG.java:1333)
Caused by: java.lang.reflect.InvocationTargetException
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 io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:172)
... 35 more
Caused by: java.io.IOException: unexpected end of stream on Connection{127.0.0.1:4723, proxy=DIRECT hostAddress=/127.0.0.1:4723 cipherSuite=none protocol=http/1.1}
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:205)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
at okhttp3.RealCall.execute(RealCall.java:77)
at org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:105)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:101)
... 40 more
Caused by: java.io.EOFException: \n not found: limit=0 content=…
at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:227)
at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:212)
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189)
... 57 more
INVOKING: "test" - scenarios.ScreenshotsAppiumTest.screenshotsTest()
SKIPPED: "test" - scenarios.ScreenshotsAppiumTest.screenshotsTest() finished in 0 ms
browses the page the title
https://forums.aws.amazon.com/ Keeping method ScreenshotsAppiumTest.tearDown()pri:0, instance:scenarios.ScreenshotsAppiumTest@4e04a765 for class http://TestClass name=class scenarios.ScreenshotsAppiumTest
SKIPPED CONFIGURATION: "test" - @AfterClass scenarios.ScreenshotsAppiumTest.tearDown() finished in 0 ms


推荐答案

更新。我发现有此问题的设备。看来它发生在

Update. I have found devices with this issue. It looks like it happens on

Apple iPad 2 iOS version 9
Apple iPad Air 2 iOS version 9
Apple iPad Mini 1st Gen iOS version 9
Apple iPad Mini 3 
Apple iPad Pro 9.7" iOS version 10
Apple iPhone 5s iOS version 9
Apple iPhone 7 Plus iOS version 10

在iOS 9版本上,我对此并不担心,因为它看起来像是版本问题我会接受自己的答案,直到以后进行研究并检查其他版本为止。

On versions 9 of iOS. I am not worring too much about it because it looks like a version issue. I accept my own answer until future research and checking other versions.

以下是一台设备的日志供以后参考:

For future reference here's the log of one device:

[TestNG] RUNNING: Suite: "test" containing "1" Tests (config: /tmp/scratchK72Ot0.scratch/testng_xmlK427pl/second_login_is_much_faster.xml)
[Invoker 310656974] Keeping method LoginDurationAppiumTest.setUp()[pri:0, instance:scenarios.LoginDurationAppiumTest@64616ca2] for class [TestClass name=class scenarios.LoginDurationAppiumTest]
[Invoker 310656974] Invoking @BeforeClass LoginDurationAppiumTest.setUp()[pri:0, instance:scenarios.LoginDurationAppiumTest@64616ca2]
[TestNG] INVOKING CONFIGURATION: "test" - @BeforeClass scenarios.LoginDurationAppiumTest.setUp()
Trying to execute simple Appium Driver
Failed to invoke configuration method scenarios.LoginDurationAppiumTest.setUp:It is impossible to create a new session because 'createSession' which takes HttpClient, InputStream and long was not found or it is not accessible
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'
System info: host: 'ip-172-31-13-65', ip: '172.31.13.65', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-139-generic', java.version: '1.8.0_151'
Driver info: driver.version: AppiumDriver
[TestNG] FAILED CONFIGURATION: "test" - @BeforeClass scenarios.LoginDurationAppiumTest.setUp() finished in 0 ms
[TestNG] org.openqa.selenium.WebDriverException: It is impossible to create a new session because 'createSession' which takes HttpClient, InputStream and long was not found or it is not accessible
[TestNG] Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'
[TestNG] System info: host: 'ip-172-31-13-65', ip: '172.31.13.65', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-139-generic', java.version: '1.8.0_151'
[TestNG] Driver info: driver.version: AppiumDriver
[TestNG]    at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:182)
[TestNG]    at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:196)
[TestNG]    at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:218)
[TestNG]    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)
[TestNG]    at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42)
[TestNG]    at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
[TestNG]    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207)
[TestNG]    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)
[TestNG]    at io.appium.java_client.DefaultGenericMobileDriver.<init>(DefaultGenericMobileDriver.java:38)
[TestNG]    at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:84)
[TestNG]    at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:94)
[TestNG]    at scenarios.TestSetup.prepareDriver(TestSetup.java:119)
[TestNG]    at scenarios.LoginDurationAppiumTest.setUp(LoginDurationAppiumTest.java:46)
[TestNG]    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[TestNG]    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[TestNG]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[TestNG]    at java.lang.reflect.Method.invoke(Method.java:498)
[TestNG]    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
[TestNG]    at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)
[TestNG]    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
[TestNG]    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)
[TestNG]    at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:175)
[TestNG]    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:107)
[TestNG]    at org.testng.TestRunner.privateRun(TestRunner.java:767)
[TestNG]    at org.testng.TestRunner.run(TestRunner.java:617)
[TestNG]    at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
[TestNG]    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
[TestNG]    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
[TestNG]    at org.testng.SuiteRunner.run(SuiteRunner.java:254)
[TestNG]    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
[TestNG]    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
[TestNG]    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
[TestNG]    at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
[TestNG]    at org.testng.TestNG.run(TestNG.java:1057)
[TestNG]    at org.testng.TestNG.privateMain(TestNG.java:1364)
[TestNG]    at org.testng.TestNG.main(TestNG.java:1333)
[TestNG] Caused by: java.lang.reflect.InvocationTargetException
[TestNG]    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[TestNG]    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[TestNG]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[TestNG]    at java.lang.reflect.Method.invoke(Method.java:498)
[TestNG]    at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:172)
[TestNG]    ... 35 more
[TestNG] Caused by: java.io.IOException: unexpected end of stream on Connection{127.0.0.1:4723, proxy=DIRECT hostAddress=/127.0.0.1:4723 cipherSuite=none protocol=http/1.1}
[TestNG]    at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:205)
[TestNG]    at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
[TestNG]    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
[TestNG]    at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
[TestNG]    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
[TestNG]    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
[TestNG]    at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
[TestNG]    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
[TestNG]    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
[TestNG]    at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
[TestNG]    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
[TestNG]    at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)
[TestNG]    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
[TestNG]    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
[TestNG]    at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
[TestNG]    at okhttp3.RealCall.execute(RealCall.java:77)
[TestNG]    at org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:105)
[TestNG]    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:101)
[TestNG]    ... 40 more
[TestNG] Caused by: java.io.EOFException: \n not found: limit=0 content=…
[TestNG]    at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:227)
[TestNG]    at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:212)
[TestNG]    at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189)
[TestNG]    ... 57 more
[TestNG] INVOKING: "test" - scenarios.LoginDurationAppiumTest.second_login_is_much_faster()
[TestNG] SKIPPED: "test" - scenarios.LoginDurationAppiumTest.second_login_is_much_faster() finished in 10 ms
[TestNG]          Checks if the second time the app logs in is much faster
[Invoker 310656974] Keeping method LoginDurationAppiumTest.tearDown()[pri:0, instance:scenarios.LoginDurationAppiumTest@64616ca2] for class [TestClass name=class scenarios.LoginDurationAppiumTest]
[TestNG] SKIPPED CONFIGURATION: "test" - @AfterClass scenarios.LoginDurationAppiumTest.tearDown() finished in 0 ms
===== Invoked methods
  LoginDurationAppiumTest.setUp()[pri:0, instance:scenarios.LoginDurationAppiumTest@64616ca2] 1684106402
    LoginDurationAppiumTest.second_login_is_much_faster()[pri:0, instance:scenarios.LoginDurationAppiumTest@64616ca2] 1684106402
=====

这篇关于Appium测试甚至没有在AWS DeviceFarm上启动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆