尝试安装一个简单的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)
答案 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版本更新为最新的稳定版本。