我试图拥有自己的自定义MobileElement类,可以添加更多方法。 例如,我有一个名为SamplePage的类,它包含以下移动元素:
@iOSFindBy(accessibility = "Settings")
@AndroidFindBy(id = "Settings")
public MobileElement SettingsButton;
我在测试用例中使用它,如下所述:
samplePage.SettingsButton.click();
我想拥有的东西如下
@iOSFindBy(accessibility = "Settings")
@AndroidFindBy(id = "Settings")
public customisedMobileElement SettingsButton;
我在customizedMobileElement类中具有IsVisible()方法或CopyText()方法的测试用例:
Assert.isTrue(samplePage.SettingsButton.IsVisible(), "not visible");
samplePage.LoginTextInput.CopyText();
请您分享您的想法吗?
答案 0 :(得分:0)
首先定义页面,如下所示:
public class SettingPage{
@AndroidFindBy(accessibility = "Settings")
@iOSFindBy(accessibility = "Settings")
private MobileElement setting;
public SettingPage(AppiumDriver<MobileElement> driver) {
PageFactory.initElements(new AppiumFieldDecorator(driver), this);
}
public boolean isScreenDisplayed(){
try {
return setting.isDisplayed();
}catch (Exception e){
return false;
}
}
public void click(){
setting.click();
}
}
然后您可以按以下方式使用它:
public class Test(){
AppiumDriver<MobileElement> driver;
//define your desiredCapabilities and appium driver
private SettingPage settingPage;
public void displayTest(
settingPage= new SettingPage(driver);
settingPage.isScreenDisplayed();
}
public void clickTest(
settingPage= new SettingPage(driver);
settingPage.click();
}
}