appium中的java.lang.NullPointerException

时间:2016-11-02 12:15:12

标签: java

这是我的appium java代码,在开始测试之后停止在app登录方法中并说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();
}
}

1 个答案:

答案 0 :(得分:1)

使用JUnit,每个用@Test注释的测试都是从任何其他测试中独立运行的 。这就是为什么你不能在一个driver中设置一些数据(“@Test”)并期望它在另一个@Test中。

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

@Before public void setup() throws Exception { ...

这将使setup()在每次实际测试之前运行并设置driver,例如AppLogin()。例如,请参阅JUnit before and test