我们应该使用哪个驱动程序在appium中创建页面对象模型

时间:2019-07-04 10:34:13

标签: appium

public class logintoindia {

     private AndroidDriver<AndroidElement> driver;

    // private AndroidDriver driver;
   /* private AndroidDriver<AndroidElement> driver;*/

    public logintoindia(AndroidDriver driver) {
        this.driver = driver;
        PageFactory.initElements(new AppiumFieldDecorator(driver), this);
    }

我怀疑我应该使用哪个驱动程序通过使用appium初始化运行应用程序的页面类

3 个答案:

答案 0 :(得分:1)

要使用页面对象模型,建议您将AppiumDriver或AndroidDriver定义为公共静态

public static AppiumDriver<MobileElement> driver;
//initialize DesiredCapabilities and AppiumDriver

然后,您将可以在任何您喜欢的其他课程中使用它。不要在页面对象模型内创建AppiumDriver或AndroidDriver。

页面对象应如下定义

public class Login {
   public logintoindia(AndroidDriver driver) {
    this.driver = driver;
    PageFactory.initElements(new AppiumFieldDecorator(driver), this);
   }

  @AndroidFindBy(accessibility = "accessibility id")
  MobileElement btn;

  public void clickBtn(){
     btn.click();
  }
}

然后从另一个班级

public void Test1(){
   Login login= new Login(driver);
   //import driver from the class where you initialize it
   login.clickBtn();
}

答案 1 :(得分:0)

https://github.com/appium/java-client/blob/master/docs/The-starting-of-an-Android-app.md#possible-cases

  

您也可以使用io.appium.java_client.AppiumDriver和io.appium.java_client.android.AndroidDriver。主要区别在于AndroidDriver实现了描述与Android本机/混合应用程序交互的所有API。 AppiumDriverallowallows最终可以使用特定于Android的API。

答案 2 :(得分:0)

如果您正在使用android,则可以使用android驱动程序;对于ios,则可以使用IOSdriver;如果要使用appium驱动程序,则可以同时使用两者