Приведенная ниже проблема относится к проекту Appium-Serenity-Cucumber-JUnit для приложения.
Когда я запускаю свои тесты локально с помощью WebDriver и подключенного устройства, все работает отлично. Когда я меняю WebDriver на AppiumDriver, чтобы запустить их в Browserstack без физического устройства, я получаю сообщение об ошибке.
Базовая страница:
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);
}
Используемый бегун:
Возможности, используемые в Serenity:
Если кто-то сможет предоставить хороший пример или какую-либо помощь, я буду более чем благодарен.