当我尝试在Browserstack上使用AppiumDriver运行测试时,收到“页面对象类Integration.pages.login.LoginPage看起来很狡猾:”错误

时间:2018-08-08 13:33:26

标签: appium browserstack serenity-bdd

下面的问题涉及一个应用的Appium-Serenity-Cucumber-JUnit项目

当我使用WebDriver在本地运行测试并且连接了设备时,一切运行正常。当我用AppiumDriver更改WebDriver以便在没有物理设备的情况下在Browserstack上运行它们时,会收到错误消息。

The BasePage:

public class BasePage extends PageObject {
    public AppiumDriver driver;

    public BasePage(AppiumDriver appiumDriver) {
        this.driver = appiumDriver;
        PageFactory.initElements(new AppiumFieldDecorator(appiumDriver), this);
    }
}

页面示例:

public LoginPage(AppiumDriver passedDriver) {
    super(passedDriver);
}

@iOSFindBy(xpath ="//XCUIElementTypeButton[@name=\"haveAnAccountNormalStateButton\"]")
@AndroidFindBy(id = "com.braeburn.bluelink:id/login_button")
private MobileElement loginBtn;

public void loginWith(String username, String pass){
    Waiting.visible(driver,loginBtn);
    loginBtn.click();
    Waiting.visible(driver,emailField);
    CommonTask.sendKeys(emailField, username,"email field");
    Waiting.visible(driver,passField);
    CommonTask.sendKeys(passField, pass, "pass field");
    //driver.hideKeyboard;
    signInBtn.click();
}

步骤示例:

@Given("^User is on login page and enters valid creditentials$")
public void userIsOnLoginPageAndEntersValidCreditentials() {
    loginPage.loginWith(TestData.CORRECT_EMAIL,TestData.FIRST_PASSWORD);
}

使用的跑步者:

Runner

宁静中使用的功能:

Capabilities

如果有人能够提供一个很好的例子或任何帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

从您共享的功能配置中,我看到您正在使用前缀“ appium”附加功能。然后解析您的代码。如果是,请添加以下功能,以根据您的配置在Google Nexus 6中运行测试。

SOURCEDID ORGS ROLES EMAILS ---------- -------------------- --------------------------------------- ------------------ 123456 0, 1802, 1803, 1804 teacher1, teacher2, teacher1, teacher1 test@teachers.org

您可以在此处引用示例项目: https://github.com/browserstack/serenity-browserstack