繁体   English   中英

线程“ main”中的异常org.openqa.selenium.WebDriverException

[英]Exception in thread “main” org.openqa.selenium.WebDriverException

我正在尝试使用抛出此错误的Java在Eclipse IDE中测试我的应用程序。 我也启动了appium服务器。 也提供了匹配的端口号。 这是我的日志跟踪。 帮帮我。谢谢

这是我使用appium测试我的android应用程序的代码:

public class MilonowFirstTest {

        static AppiumDriver<WebElement> driver;

    //  @BeforeClass
        public static void main(String[] args) throws MalformedURLException

        //public void Setup() throws MalformedURLException
        {
            DesiredCapabilities cap = new DesiredCapabilities();
            //cap.setCapability(AndroidMobileCapabilityType.De, value);
            cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android emulator");
            //cap.setCapability(MobileCapabilityType.APP_PACKAGE, value);
            cap.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "com.test.myapp");

            //cap.setCapability(MobileCapabilityType.APP, "");
            cap.setCapability("avd", "Honor 7X API 27");
            cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
            cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, "23");
            cap.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Appium");

            driver = new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wb/hub"), cap);

            Assert.assertNotNull(driver.getContext());
        }

//      @Test()
//      public void SimpleTest()
//      {
//          Assert.assertNotNull(driver.getContext());
//      }
    }

错误日志:

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-08T15:15:03.216Z'
System info: host: 'DESKTOP-4DSS7OC', ip: '192.168.2.21', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_161'
Driver info: driver.version: AndroidDriver
    at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:195)
    at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:209)
    at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:231)
    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:93)
    at testcase.MilonowFirstTest.main(MilonowFirstTest.java:37)
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:185)
    ... 13 more
Caused by: org.openqa.selenium.WebDriverException: Unable to parse remote response: The URL '/wb/hub/session' did not map to a valid resource
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T15:15:03.216Z'
System info: host: 'DESKTOP-4DSS7OC', ip: '192.168.2.21', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_161'
Driver info: driver.version: AndroidDriver
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:111)
    ... 18 more

关闭appium服务器,然后重新启动,这应该可以工作。 该问题的永久解决方案是:

  • 启动Appium应用
  • 转到高级设置
  • 输入所需的服务器地址和服务器端口。 我正在使用127.0.0.1作为服务器地址和4723作为服务器端口
  • 选择或检查会话覆盖

如果愿意,可以将该配置另存为预设以供下次使用。 在您的应用程序中还包括追随欲望的能力

AppiumDriver<MobileElement> driver;
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("deviceName", "Android phone");
caps.setCapability("udid", "your device uuid");
caps.setCapability("platformName", "Android");
caps.setCapability("platformVersion", "your device version");
caps.setCapability("appPackage", "name of app package");
caps.setCapability("appActivity", "name of app activity");

driver=new AndroidDriver<MobileElement>(new URL(
            "http://127.0.0.1:4723/wd/hub"), caps);

如何找到装置uuid?

  • 在Android设备中启用USB调试模式并连接到笔记本电脑
  • 打开命令提示符并键入adb设备

它将显示您的笔记本电脑已连接设备的列表。 在连接的设备列表下方,您可以找到您的设备uuid

如何找到appPackage和appActivity

单击此处: 如何找到appPackage和appActivity?

尝试输入所需的功能参数“ APP”,

cap.setCapability(MobileCapabilityType.APP, "path_to_your_app");

或者,如果您已在设备上安装了应用程序,则从匹配的配对电容开始时:

    cap.setCapability("appActivity", "com.test.myapp.ui.activities.MainActivity");
    cap.setCapability("appPackage", "com.test.myapp");

您可以通过以下方法检查您的活动和程序包名称:打开手机上的应用程序,然后进入控制台并运行该程序:

adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

这将返回如下内容:

mCurrentFocus = Window {5f6bfe8 u0 d0 abc.com.test.android/com.test.abc.ui.home.HomeActivity}
mFocusedApp = AppWindowToken {123d4faf token = Token {asd2342 ActivityRecord {323tgee3 u0 abc.com.test.android/com.test.abc.ui.home.HomeActivity t1732}}}

如下:

窗口{5f6bfe8 u0 d0 abc.com.test.android/com.test.abc.ui.home.HomeActivity}

活动:

“ abc.com.test.android”

...是一个包装

“ com.test.abc.ui.home.HomeActivity”

但建议将所有参数混合使用APP,APP_PACKAGE和APP_ACTIVITY

希望这可以帮助,

你在打电话

  driver = new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wb/hub"), cap); 

正确的URL应该是/ wd / hub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM