2017-02-15 52 views
1

當我運行正常啓動的基本appium代碼應用程序,但我得到下面的錯誤。 應用程序已正確加載,但測試失敗。無法創建新的會話原來的錯誤:com.xxx.xxx/ view.activity.ActivityStart從未開始

org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: XXX.XXX.XXX.view.activity.ActivityStart never started. 

Current: com.XXX.XXXcom.pearsoned.auth.ui.AuthenticationActivity) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 32.99 seconds 
Build info: version: '2.46.0', revision: '61506a4624b13675f24581e453592342b7485d71', time: '2015-06-04 10:22:50' 
System info: host: 'LKSRIWL-9Y3BF72', ip: '192.168.56.1', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_101' 
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:204) 
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:605) 
    at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:27) 
    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:242) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:128) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:155) 
    at io.appium.java_client.DefaultGenericMobileDriver.<init>(DefaultGenericMobileDriver.java:22) 
    at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:202) 
    at io.appium.java_client.android.AndroidDriver.<init>(AndroidDriver.java:50) 
    at com.pearson.eselenium.liverPool.testmob.WhatsApp.testapp(WhatsApp.java:50) 
    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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) 
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) 
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) 
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 

java.lang.NullPointerException 
    at com.XXX.XXX.liverPool.testmob.WhatsApp.quit(WhatsApp.java:62) 
    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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) 
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) 
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 

這是我的芹代碼:

public class WhatsApp 
{ 
WebDriver dr; 

@SuppressWarnings("rawtypes") 
@Test 
public void testapp() throws MalformedURLException, InterruptedException { 
    File app = new File(System.getProperty("user.dir") + "\\apks\\mediashare-debug.apk"); 

    DesiredCapabilities capabilities = DesiredCapabilities.android(); 

    capabilities.setCapability("deviceName", "motorola-nexus_6-ZX1G323XDM"); 
    capabilities.setCapability("platformVersion", "6.0.1"); 
    capabilities.setCapability("platformName", "Android"); 

    capabilities.setCapability("app", app.getAbsolutePath()); 


    dr = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 
    dr.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 


    // clicking 
    Thread.sleep(10000); 

} 

@AfterMethod 
public void quit() { 
    dr.quit(); 
} 

欣賞這個幫助。 謝謝!

+0

不是指定apk路徑,而是手動安裝應用程序,然後嘗試提及應用程序包和應用程序活動? – Vinod

+0

謝謝維諾德這對我有用。 – dilRox

+0

歡迎您:) – Vinod

回答

0
org.openqa.selenium.SessionNotCreatedException: 

當appium無法在您的設備和本身之間建立任何會話時,會出現這些異常。

由於以下原因而發生。

  1. 如果您沒有正確設置功能(包括appPackage,appPath等)。
  2. 當設備不包含您在appPackage中提到的應用程序(.apk)。
  3. 當您提到錯誤時appPath

在你的情況你APPPATH是錯即「\的apk \ mediashare-debug.apk」

請註明寫路徑或您的設備上安裝應用程序。

希望這些幫助你。

0

很明顯,appium無法創建會話設備。以下是您需要傳遞的強制性功能,以便與設備創建會話並開始執行。

mobileCapabilities.setCapability("appPackage", "com.flipkart.android"); 
mobileCapabilities.setCapability("appActivity", 
"com.flipkart.android.SplashActivity"); 
mobileCapabilities.setCapability("platformName", "Android"); 
mobileCapabilities.setCapability("platformVersion", "6.0.1"); 
mobileCapabilities.setCapability("deviceName", "Ash"); 
mobileCapabilities.setCapability("udid", "45s56f82r6"); 
mobileCapabilities.setCapability("app","YourAppPath/Flipkart_com.flipkart.android.apk"); 
mobileCapabilities.setCapability("noReset", "true"); 

在iOS的情況下,您不需要傳遞appPackage和appActivity。

相關問題