错误:无法创建新会话,因为' createSession'它找不到HttpClient,InputStream和long

时间:2018-06-11 07:21:18

标签: android automation appium hybrid-mobile-app

我正在尝试自动化Android混合应用程序,但却出现以下错误:

  

1)线程中的异常" main" org.openqa.selenium.WebDriverException:创建新会话是不可能的,因为' createSession'它找不到HttpClient,InputStream和long,或者无法访问它

     

2)引起:java.lang.reflect.InvocationTargetException

     

3)引起:org.openqa.selenium.WebDriverException:找不到这样的上下文。

     

4)NoSuchContextError:找不到这样的上下文。

以下是我正在尝试执行的代码

package Demo;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Set;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
public class NewTest {

private static AndroidDriver<MobileElement> driver;
public static void main(String[] args) throws MalformedURLException, InterruptedException {

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "android");
capabilities.setCapability("deviceName", "ZY223ZMPG6");
capabilities.setCapability("platformVersion", "7.0");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("autoGrantPermissions","true");
capabilities.setCapability("appPackage", "com.equationswork.enis");
capabilities.setCapability("appActivity", "com.equationswork.enis.MainActivity");
capabilities.setCapability("--session-override","true");
capabilities.setCapability("autoWebview","true");
capabilities.setCapability("chromedriverExecutable","C:\\Users\\Anjani \\AppData\\Roaming\\npm\\node_modules\\appium\\node_modules\\appium-chromedriver\\chromedriver\\win\\chromedriver.exe");
AppiumDriver<MobileElement> driver = new AndroidDriver<MobileElement>(new  URL("http://0.0.0.0:4723/wd/hub"), capabilities);
        //driver.manage().timeouts().implicitlyWait(80, TimeUnit.SECONDS);
        Thread.sleep(5000);
        //System.out.println(driver.getPageSource());
Set<String> contextNames = driver.getContextHandles();
for (String contextName : contextNames) {
 System.out.println(contextNames); //prints out something like   NATIVE_APP \n WEBVIEW_1
        }
driver.context((String) contextNames.toArray()[1]);
driver.context("WEBVIEW_1");
driver.findElement(By.id("btnGuest")).click();
//driver.quit(); 
   }
}

Following are the errors thrown:
Exception in thread "main" 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: 'DESKTOP-LAHP4RL', ip: '10.0.0.65', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_171'
Driver info: driver.version: AndroidDriver
    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 io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.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 io.appium.java_client.android.AndroidDriver.<init>(AndroidDriver.java:88)
    at Demo.NewTest.main(NewTest.java:31)
Caused by: java.lang.reflect.InvocationTargetException
    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 io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:172)
    ... 13 more
Caused by: org.openqa.selenium.WebDriverException: No such context found.
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'
System info: host: 'DESKTOP-LAHP4RL', ip: '10.0.0.65', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_171'
Driver info: driver.version: AndroidDriver
remote stacktrace: NoSuchContextError: No such context found.
    at AndroidDriver.callee$0$0$ (C:\Users\Anjani\AppData\Roaming\npm\node_modules\appium\node_modules\appium-android-driver\lib\commands\context.js:49:11)
    at tryCatch (C:\Users\Anjani\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:67:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\Anjani\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:315:22)
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\Anjani\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:100:21)
    at GeneratorFunctionPrototype.invoke (C:\Users\Anjani\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:136:37)
    at <anonymous>
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$new$0(W3CHandshakeResponse.java:57)
    at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$getResponseFunction$2(W3CHandshakeResponse.java:104)
    at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
    at java.util.Spliterators$ArraySpliterator.tryAdvance(Unknown Source)
    at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
    at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
    at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
    at java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source)
    at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
    at java.util.stream.ReferencePipeline.findFirst(Unknown Source)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)
    ... 18 more

Following is the selenium server log

[Appium] Welcome to Appium v1.8.0
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
[HTTP] --> POST /wd/hub/session
[HTTP] {"desiredCapabilities":{"appActivity":"com.equationswork.enis.MainActivity","appPackage":"com.equationswork.enis","chromedriverExecutable":"C:\\Users\\Anjani\\AppData\\Roaming\\npm\\node_modules\\appium\\node_modules\\appium-chromedriver\\chromedriver\\win\\chromedriver.exe","platformVersion":"7.0","autoGrantPermissions":"true","browserName":"android","--session-override":"true","autoWebview":"true","platformName":"Android","deviceName":"ZY223ZMPG6"},"capabilities":{"desiredCapabilities":{"appActivity":"com.equationswork.enis.MainActivity","appPackage":"com.equationswork.enis","chromedriverExecutable":"C:\\Users\\Anjani\\AppData\\Roaming\\npm\\node_modules\\appium\\node_modules\\appium-chromedriver\\chromedriver\\win\\chromedriver.exe","platformVersion":"7.0","autoGrantPermissions":"true","browserName":"android","--session-override":"true","autoWebview":"true","platformName":"Android","deviceName":"ZY223ZMPG6"},"firstMatch":[{"--session-override":"true","appium:appActivity":"com.equati
[debug] [MJSONWP] Calling AppiumDriver.createSession() with args: [{"appActivity":"com.equationswork.enis.MainActivity","appPackage":"com.equationswork.enis","chromedriverExecutable":"C:\\Users\\Anjani\\AppData\\Roaming\\npm\\node_modules\\appium\\node_modules\\appium-chromedriver\\chromedriver\\win\\chromedriver.exe","platformVersion":"7.0","autoGrantPermissions":"true","browserName":"android","--session-override":"true","autoWebview":"true","platformName":"Android","deviceName":"ZY223ZMPG6"},null,{"desiredCapabilities":{"appActivity":"com.equationswork.enis.MainActivity","appPackage":"com.equationswork.enis","chromedriverExecutable":"C:\\Users\\Anjani\\AppData\\Roaming\\npm\\node_modules\\appium\\node_modules\\appium-chromedriver\\chromedriver\\win\\chromedriver.exe","platformVersion":"7.0","autoGrantPermissions":"true","browserName":"android","--session-override":"true","autoWebview":"true","platformName":"Android","deviceName":"ZY223ZMPG6"},"firstMatch":[{"--session-override":"true","appium:appActivity":"com.equationswork.enis.MainActivity","appium:appPackage":"com.e...
[debug] [BaseDriver] Event 'newSessionRequested' logged at 1528700143344 (12:25:43 GMT+0530 (India Standard Time))
[BaseDriver] The capabilities ["--session-override"] are not standard capabilities and should have an extension prefix
[BaseDriver] Boolean capability passed in as string. Functionality may be compromised.
[Appium] Consider setting 'automationName' capability to 'uiautomator2' on Android >= 6, since UIAutomator framework is not maintained anymore by the OS vendor.
[Appium] Creating new AndroidDriver (v2.4.1) session
[Appium] Capabilities:
[Appium]   --session-override: true
[Appium]   browserName: android
[Appium]   platformName: android
[Appium]   appActivity: com.equationswork.enis.MainActivity
[Appium]   appPackage: com.equationswork.enis
[Appium]   autoGrantPermissions: true
[Appium]   autoWebview: true
[Appium]   chromedriverExecutable: C:\Users\Anjani\AppData\Roaming\npm\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win\chromedriver.exe
[Appium]   deviceName: ZY223ZMPG6
[Appium]   platformVersion: 7.0
[debug] [BaseDriver] W3C capabilities {"alwaysMatch":{"appium:--s... and MJSONWP desired capabilities [object Object] were provided
[debug] [BaseDriver] Creating session with W3C capabilities: {"alwaysMatch":{"appium:--s...
[BaseDriver] Boolean capability passed in as string. Functionality may be compromised.
[BaseDriver] Boolean capability passed in as string. Functionality may be compromised.
[BaseDriver] Capability 'autoWebview' changed from string to boolean. This may cause unexpected behavior
[BaseDriver] Capability 'autoGrantPermissions' changed from string to boolean. This may cause unexpected behavior
[BaseDriver] The following capabilities were provided, but are not recognized by appium: --session-override.
[BaseDriver] Session created with session id: e5ce581e-243f-4a72-bc16-f2d84070f32b
[debug] [AndroidDriver] Getting Java version
[AndroidDriver] Java version is: 1.8.0_171
[ADB] Checking whether adb is present
[ADB] Found 1 'build-tools' folders under 'C:\Users\Anjani\AppData\Local\Android\sdk' (newest first):
[ADB]     C:/Users/Anjani/AppData/Local/Android/sdk/build-tools/23.0.3
[ADB] Using adb.exe from C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe
[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] Looking for a device with Android '7.0'
[debug] [ADB] Setting device id to ZY223ZMPG6
[ADB] Getting device platform version
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell getprop ro.build.version.release'
[debug] [ADB] Current device property 'ro.build.version.release': 7.0
[AndroidDriver] Using device: ZY223ZMPG6
[ADB] Checking whether adb is present
[ADB] Using adb.exe from C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe
[debug] [ADB] Setting device id to ZY223ZMPG6
[AndroidDriver] App file was not listed, instead we're going to run com.equationswork.enis directly on the device
[debug] [AndroidDriver] Checking whether package is present on the device
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell pm list packages com.equationswork.enis'
[AndroidDriver] Starting Android session
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 wait-for-device'
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell echo ping'
[debug] [AndroidDriver] Pushing settings apk to device...
[debug] [ADB] Getting install status for io.appium.settings
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell pm list packages io.appium.settings'
[debug] [ADB] App is installed
[debug] [ADB] Getting package info for 'io.appium.settings'
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell dumpsys package io.appium.settings'
[ADB] Checking whether aapt is present
[ADB] Using aapt.exe from C:\Users\Anjani\AppData\Local\Android\sdk\build-tools\23.0.3\aapt.exe
[debug] [ADB] The installed 'io.appium.settings' package does not require upgrade ('2.3.0' >= '2.3.0')
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell ps'
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell getprop ro.build.version.sdk'
[debug] [ADB] Current device property 'ro.build.version.sdk': 24
[debug] [ADB] Device API level: 24
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell am start -W -n io.appium.settings/.Settings -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000'[debug] [ADB] Device API level: 24
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell appops set io.appium.settings android\:mock_location allow'
[AndroidDriver] setDeviceLanguageCountry requires language or country.
[AndroidDriver] Got language: 'null' and country: 'null'
[debug] [Logcat] Starting logcat capture
[debug] [AndroidDriver] Pushing unlock helper app to device...
[debug] [ADB] Getting install status for io.appium.unlock
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell pm list packages io.appium.unlock'
[debug] [ADB] App is installed
[debug] [ADB] Getting package info for 'io.appium.unlock'
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell dumpsys package io.appium.unlock'
[ADB] Checking whether aapt is present
[ADB] Using aapt.exe from C:\Users\Anjani\AppData\Local\Android\sdk\build-tools\23.0.3\aapt.exe
[debug] [ADB] The installed 'io.appium.unlock' package does not require upgrade ('2.0.0' >= '2.0.0')
[ADB] Getting device platform version
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell getprop ro.build.version.release'
[debug] [ADB] Current device property 'ro.build.version.release': 7.0
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell wm size'
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell getprop ro.product.model'
[debug] [ADB] Current device property 'ro.product.model': Moto G (5) Plus
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell getprop ro.product.manufacturer'
[debug] [ADB] Current device property 'ro.product.manufacturer': motorola
[AndroidDriver] No app sent in, not parsing package/activity
[debug] [AndroidDriver] No app capability. Assuming it is already on the device
[debug] [ADB] Getting install status for com.equationswork.enis
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell pm list packages com.equationswork.enis'
[debug] [ADB] App is installed
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell am force-stop com.equationswork.enis'
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell pm clear com.equationswork.enis'
[debug] [ADB] Device API level: 24
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell dumpsys package com.equationswork.enis'
[debug] [AndroidDriver] Performed fast reset on the installed 'com.equationswork.enis' application (stop and clear)
[debug] [AndroidBootstrap] Watching for bootstrap disconnect
[debug] [ADB] Forwarding system: 4724 to device: 4724
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 forward tcp\:4724 tcp\:4724'
[debug] [UiAutomator] Starting UiAutomator
[debug] [UiAutomator] Moving to state 'starting'
[debug] [UiAutomator] Parsing uiautomator jar
[debug] [UiAutomator] Found jar name: 'AppiumBootstrap.jar'
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 push C\:\\Users\\Anjani\\AppData\\Roaming\\npm\\node_modules\\appium\\node_modules\\appium-android-bootstrap\\bootstrap\\bin\\AppiumBootstrap.jar /data/local/tmp/'
[debug] [ADB] Attempting to kill all uiautomator processes
[debug] [ADB] Getting all processes with uiautomator
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell ps'
[ADB] No uiautomator process found to kill, continuing...
[debug] [UiAutomator] Starting UIAutomator
[debug] [ADB] Creating ADB subprocess with args: ["-P",5037,"-s","ZY223ZMPG6","shell","uiautomator","runtest","AppiumBootstrap.jar","-c","io.appium.android.bootstrap.Bootstrap","-e","pkg","com.equationswork.enis","-e","disableAndroidWatchers",false,"-e","acceptSslCerts",false]
[debug] [UiAutomator] Moving to state 'online'
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Loading json...
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Registered crash watchers.
[AndroidBootstrap] Android bootstrap socket is now connected
[debug] [ADB] Getting connected devices...
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Client connected
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell dumpsys window'
[AndroidDriver] Screen already unlocked, doing nothing
[debug] [ADB] Device API level: 24
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell am start -W -n com.equationswork.enis/com.equationswork.enis.MainActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000'
[AndroidDriver] Setting auto webview to context 'WEBVIEW_com.equationswork.enis' with timeout 2000ms
[debug] [AndroidDriver] Getting a list of available webviews
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell cat /proc/net/unix'
[debug] [AndroidDriver] Found webviews: ["WEBVIEW_chrome"]
[debug] [AndroidDriver] Available contexts: ["NATIVE_APP","WEBVIEW_chrome"]
[debug] [AndroidDriver] Getting a list of available webviews
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell cat /proc/net/unix'
[debug] [AndroidDriver] Found webviews: ["WEBVIEW_chrome"]
[debug] [AndroidDriver] Available contexts: ["NATIVE_APP","WEBVIEW_chrome"]
[debug] [AndroidDriver] Getting a list of available webviews
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell cat /proc/net/unix'
[debug] [AndroidDriver] Found webviews: ["WEBVIEW_chrome"]
[debug] [AndroidDriver] Available contexts: ["NATIVE_APP","WEBVIEW_chrome"]
[debug] [AndroidDriver] Getting a list of available webviews
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell cat /proc/net/unix'
[debug] [AndroidDriver] Found webviews: ["WEBVIEW_chrome"]
[debug] [AndroidDriver] Available contexts: ["NATIVE_APP","WEBVIEW_chrome"]
[debug] [AndroidDriver] Shutting down Android driver
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell am force-stop com.equationswork.enis'
[debug] [ADB] Pressing the HOME button
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell input keyevent 3'
[debug] [AndroidBootstrap] Sending command to android: {"cmd":"shutdown"}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [UiAutomator] Shutting down UiAutomator
[debug] [UiAutomator] Moving to state 'stopping'
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {"cmd":"shutdown"}
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type SHUTDOWN
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {"status":0,"value":"OK, shutting down"}
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Closed client connection
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: numtests=1
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: stream=.
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: id=UiAutomatorTestRunner
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: test=testRunServer
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: class=io.appium.android.bootstrap.Bootstrap
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: current=1
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS_CODE: 0
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: stream=
[debug] [AndroidBootstrap] [UIAUTO STDOUT] Test results for WatcherResultPrinter=.
[debug] [AndroidBootstrap] [UIAUTO STDOUT] Time: 5.426
[debug] [AndroidBootstrap] [UIAUTO STDOUT] OK (1 test)
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS_CODE: -1
[debug] [UiAutomator] UiAutomator shut down normally
[debug] [UiAutomator] Moving to state 'stopped'
[debug] [ADB] Attempting to kill all uiautomator processes
[debug] [ADB] Getting all processes with uiautomator
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell ps'
[ADB] No uiautomator process found to kill, continuing...
[debug] [UiAutomator] Moving to state 'stopped'
[debug] [Logcat] Stopping logcat capture
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running 'C:\Users\Anjani\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s ZY223ZMPG6 shell am force-stop io.appium.unlock'
[debug] [AndroidDriver] Not cleaning generated files. Add `clearSystemFiles` capability if wanted.
[debug] [BaseDriver] Event 'newSessionStarted' logged at 1528700164410 (12:26:04 GMT+0530 (India Standard Time))
[HTTP] <-- POST /wd/hub/session 400 21093 ms - 1026
[HTTP]

13 个答案:

答案 0 :(得分:1)

我希望您启动了appium服务器,可能具有用于初始化驱动程序对象的相同URL和端口。 还有一件事,请使用string.contains(“ WEBVIEW”)

,每个循环再使用一个来切换上下文

答案 1 :(得分:1)

转到开发人员选项并启用以下选项-

  1. USB调试-连接USB时的调试模式

  2. 通过USB安装-允许通过USB安装应用

  3. USB调试(安全设置)-允许通过USB调试授予权限并模拟输入

这对我有用。

答案 2 :(得分:1)

运行命令:appium-doctor

分析是否存在Java_Home和Android_Home问题

转到bash个人资料并再次保存

do:如果设备检测或设备中存在任何问题,则构建gradle    内存,请在这种情况下查看日志以使用新的模拟器

运行您的项目

这对我有用

答案 3 :(得分:0)

如果已经有一个使用相同IP和相同端口运行的Appium服务器,则会显示此错误消息。在尝试启动appium服务器之前,请确保终止所有appium服务器,或者可以通过编程为每个appium服务器指定新端口。

答案 4 :(得分:0)

Appium日志表明问题与功能有关,并且 我假设在您的路径中,“ \ Anjani”之后有一个空格,表示所需的功能。 这可能是原因。

("chromedriverExecutable","C:\\Users\\Anjani \\AppData\\....")

就我而言,我设置了"NO_Reset=false**e**" (with double "e" )

希望有帮助。

答案 5 :(得分:0)

请确保您的设备已连接,否则,它将抛出您指定的错误。要验证您是否已连接设备,请在终端上运行以下命令:

adb devices

答案 6 :(得分:0)

如果我们手动运行Appium Desktop Server,则可能会发生此问题。 尝试通过终端“ $ appium”运行Appium服务器 在Appium服务器启动后运行脚本

希望它能起作用...!

答案 7 :(得分:0)

就我而言,这是由于DesiredCapabilities造成的。确保正确分配了“ appPackage”,“ appActivity”或其他功能。

答案 8 :(得分:0)

只要我们在所需功能中遇到问题,就会出现此错误。查看所需的功能,并确保所有数据正确。对我来说,我正在通过int传递Android版本,其中想要在String中传递。查看整个错误日志,逐行显示,您将获得更多的见解。还要确保appium UI没有打开,因为bboth会使用相同的端口。

答案 9 :(得分:-1)

当您通过URL方法传递本地主机的IP时,它必须是127.0.0.1,例如URL(“ http://127.0.0.1:4723/wd/hub”),这对于所有本地主机都是通用的。

希望有帮助!!!!

很乐意提供帮助。...

答案 10 :(得分:-1)

我在Android自动化项目中也遇到了这个问题。 找到解决方案。在测试有所帮助之前,删除“ io.appium.uiautomator2.server”和“ io.appium.uiautomator2.server.test”包。 在创建会话期间,这两个软件包将自动重新安装。

答案 11 :(得分:-1)

有时会出现此问题,因为 USB调试不通过USB安装接受应用程序

为此,进入手机中的开发人员选项模式,并授予通过USB安装应用程序的所有权限。

答案 12 :(得分:-1)

我在这个论坛上找到了解决方案> https://github.com/appium/appium/issues/11210

也许它也可以为您提供帮助。

将IP从0.0.0.0更改为127.0.0.1对我有用。 另外,尝试在每次执行之前重新启动服务器。我在测试设置中为此编写了一个小脚本,也许您可​​以尝试相同的方法。

如果您将AUTOMATION_NAME的功能用作ANDROID_UIAUTOMATOR2,则可能会遇到此问题。

desiredCap.setCapability(MobileCapabilityType.AUTOMATION_NAME,AutomationName.ANDROID_UIAUTOMATOR2);

解决方案: 1.尝试删除/注释此行 2.或者,运行以下命令:

adb shell pm list packages -f > D://t.txt
adb uninstall io.appium.uiautomator2.server
adb uninstall io.appium.uiautomator2.server.test

在会话开始时,这些软件包将再次自动安装。