Android应用无法在Appium中启动

时间:2017-04-18 10:35:28

标签: testng appium

[TestNG] Running:
C:\Users\user\AppData\Local\Temp\testng-eclipse--1898663871\testng-customsuite.xml

FAILED CONFIGURATION: @BeforeTest setUp
org.openqa.selenium.SessionNotCreatedException: Unable to create new remote 
session. desired capabilities = Capabilities [{appPackage=com.company.remoteOn, appActivity=com.se.appname.views.login.MainLoginActivity, browserName=Android, platformName=Android, deviceName=3a2e249, version=5.1.1}], required capabilities = Capabilities [{}]
Build info: version: 'unknown', revision: '8c03df6', time: '2017-03-02 09:30:17 -0800'
System info: host: 'WTIN05200024L', ip: '10.179.201.254', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_60'
Driver info: driver.version: AndroidDriver
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:91)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141)
at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:69)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:604)
at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:40)
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:244)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
at io.appium.java_client.DefaultGenericMobileDriver.<init>(DefaultGenericMobileDriver.java:36)
at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:114)
at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:132)
at io.appium.java_client.android.AndroidDriver.<init>(AndroidDriver.java:92)
at com.schneider.android.app.SimpleAndroidCalcTest.setUp(SimpleAndroidCalcTest.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:86)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:514)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:215)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142)
at org.testng.TestRunner.beforeRun(TestRunner.java:656)
at org.testng.TestRunner.run(TestRunner.java:624)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:366)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:319)
at org.testng.SuiteRunner.run(SuiteRunner.java:268)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1244)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1169)
at org.testng.TestNG.run(TestNG.java:1064)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:113)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:206)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:177)

我们正试图在Windows 10机器上使用appium 1.6.4自动化Android应用程序。使用的Android版本是6.0.1。

每次我们运行脚本时,都会收到此错误。知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

试试这个,

public void f()
{ 
      WebDriver driver;
      DesiredCapabilities cap=new DesiredCapabilities(); 
      cap.setCapability("deviceName","95cffad2"); 
      cap.setCapability(CapabilityType.BROWSER_NAME, "Android"); 
      cap.setCapability(CapabilityType.VERSION, "6.0.1"); 
      cap.setCapability("platformName", "Android"); 
      cap.setCapability("appPackage", "com.xxxxxxx.remoteOn.NonProd"); 
      cap.setCapability("appActivity", "com.se.xxxxxx.views.MainActivity"); 
      driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);   
}

在任何自动化代码中,协议定义是必需的,因为此处URL需要HTTP ..

答案 1 :(得分:0)

这是我的最后一个建议。

在Android Manifest文件的活动中添加android:exported =“true”,设备应处于调试模式(settings-&gt; Developer Options)

相关问题