Appium多个用例共用一个driver

将Driver和配置封装进来供其他用例的调用

需要将Driver定义为private
getDriver方法也定义为静态方法,这样在其他用例中就可以直接使用this.driver = StartDriver.getDriver();来共用一个Driver,方便testSuite中顺序执行测试用例

public class StartDriver {

    public static AndroidDriver driver;


    @BeforeSuite()
    public static void setUp() {

        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "CB5A2AAQU8");
        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability("platformVersion", "7.1.1");
        capabilities.setCapability("appPackage", "xx.xx.xx.xx");
        capabilities.setCapability("appActivity", ".SplashActivity");
        try {
            driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
            driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

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


    }

    public static AndroidDriver getDriver() {

        return driver;

    }


    @AfterSuite
    public static void afters() {

        driver.quit();


    }


}

之前遇到了没有定义static的getDriver方法,导致使用driver时,driver= new StartDriver.getDriver()来调用,这样就会出现driver为空,报空指针的异常

你可能感兴趣的:(自动化测试)