Appium Java客户端中的NullPointerException

时间:2018-11-22 07:52:20

标签: appium appium-android

尝试安装一个简单的AndroidDriver时出现NullPointerException

所需的代码如下-

import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.MobileElement;

import io.appium.java_client.android.AndroidElement;

import java.net.URL;
import java.net.MalformedURLException;

import org.openqa.selenium.remote.DesiredCapabilities;

public class TestAutomation {
    protected AndroidDriver<MobileElement>  driver;

    public void setup() throws MalformedURLException, InterruptedException {
        URL u = new URL("http://127.0.0.1:4723/wd/hub");

        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("device", "Android");
        capabilities.setCapability("deviceName","Android");
        capabilities.setCapability("platformName","Android");

        driver = new AndroidDriver<MobileElement>(u, capabilities);
    }

    public static void main(String[] args) throws Exception {
        TestAutomation object = new TestAutomation();
        System.out.println(object);
        object.setup();
    }
}

Appium Java客户端版本为6.1.0。

确认Appium服务器正在本地主机上的端口4723上运行。

有什么我想念的吗?

我得到的异常如下所示-

  

线程“主”中的异常java.lang.NullPointerException         在io.appium.java_client.android.AndroidDriver.getCapabilities(AndroidDriver.java:209)         在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:669)         在io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42)         在io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)         在io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1)         在org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)         在org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:131)         在org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:144)         在io.appium.java_client.DefaultGenericMobileDriver。处(DefaultGenericMobileDriver.java:38)         在io.appium.java_client.AppiumDriver。(AppiumDriver.java:84)         在io.appium.java_client.AppiumDriver。(AppiumDriver.java:94)         在io.appium.java_client.android.AndroidDriver。(AndroidDriver.java:93)         在TestAutomation.setup(TestAutomation.java:22)         在TestAutomation.main(TestAutomation.java:28)

1 个答案:

答案 0 :(得分:0)

您的所需功能有问题。

  必须包含

appActivity appPackage

     必须删除所需功能中的

设备

DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("deviceName", "My Phone");
caps.setCapability("platformName", "Android");
caps.setCapability("appPackage", "your app Package");
caps.setCapability("appActivity",
            "your app activity");;
  

还将您的selenium-java版本更新为最新的稳定版本。