appium中的java.lang.NullPointerException

appium中的java.lang.NullPointerException,java,Java,这是我的appium java代码,在启动测试后,它在应用程序登录方法中停止,并显示java.lang.NullPointerException。我尝试了所有可能的解决方案,但根本不起作用。请帮助解决这个问题 public class FirstAutomate { private WebDriver driver; @Test public void setup() throws Exception { File app = new File("C:\\sdk\\platform

这是我的appium java代码,在启动测试后,它在应用程序登录方法中停止,并显示java.lang.NullPointerException。我尝试了所有可能的解决方案,但根本不起作用。请帮助解决这个问题

public class FirstAutomate {
private WebDriver driver;

@Test

public void setup() throws Exception {


   File app = new File("C:\\sdk\\platform-tools\\Myapp.apk");
    DesiredCapabilities capabilities = new DesiredCapabilities();
    //capabilities.setCapability("BROWSER_NAME", "Android");
    capabilities.setCapability("VERSION", "5.0.2"); 
    capabilities.setCapability("deviceName","G3 Beat");
    capabilities.setCapability("appPackage", "com.skooly.app");
    capabilities.setCapability("appActivity","com.skooly.app.screens.prehomescreens.activities.SplashScreen");
    capabilities.setCapability("platformName","Android");

    capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME,MobilePlatform.ANDROID);
    capabilities.setCapability("app", app.getAbsolutePath());
    try{
        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

    }catch(MalformedURLException e)
    {
        e.printStackTrace();

    }

   // TODO Auto-generated method stub

}
 @Test

    public void AppLogin() throws InterruptedException {
    //Tapping  button
     driver.findElement(By.id("loginButtonTextView")).click();
}
}

使用JUnit,您的每个测试(用
@Test
注释)都独立于其他测试运行。这就是为什么您不能在一个
@Test
中设置一些数据(“
驱动程序”
”),并期望它在另一个
@Test
中出现

要在每次测试之前进行初始化工作,请使用
@before
注释,如中所示

@Before public void setup()引发异常{…


这将使
setup()
在每次实际测试之前运行并设置
驱动程序,即在您的情况下
AppLogin()
。例如,请参见。

我不知道appium,但我不会假设在
AppLogin()之前调用
setup()
在测试的同一实例上。在public void setup()引发异常{…
或类似情况之前,请尝试
@您可以添加堆栈跟踪吗?您使用什么测试框架来运行appium测试?@JimmyB我正在使用Junit,谢谢它为我工作很好:-)