Mic*_*hal 1 java testing methods selenium
我有两节课:
public class UnoLoginPageUi {
public final Input username = new Input("id=username");
public final Input password = new Input("id=password");
public final Button loginButton = new Button("name=login");
}
Run Code Online (Sandbox Code Playgroud)
和
public class DuoLoginPageUi {
public final Input username = new Input("id=usernameField");
public final Input password = new Input("id=passwordField");
public final Button loginButton = new Button("id=submitButton");
}
Run Code Online (Sandbox Code Playgroud)
在一个共同的课堂上,我想做出类似的东西:
public void loginUsingUsernameAndPassword(String username, String password, String pageType) {
getUi(pageType).username.waitForToBeDisplayed();
getUi(pageType).username.setValue(username);
getUi(pageType).password.setValue(password);
getUi(pageType).loginButton.click();
}
Run Code Online (Sandbox Code Playgroud)
其中getUi()是一个gas参数pageType(即UNO或DUO)的方法.
private Class getUi(String pageType) {
if (pageType.equals("UNO")) {
return new DuoLoginPageUi();
}
else if (pageType.equals("DUO")) {
return new UnoLoginPageUi;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
然而它不起作用,因为这个方法需要在这两个页面的类型选择器 - 如何处理?
您可以创建一个名为LoginPageUi的接口.让你的UnoLoginPageUi和DuoLoginPageUi实现该接口.
然后你的getUi方法将是private LoginPageUi getUi(String pageType).
偏离主题:我建议实现枚举而不是String pageType.
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |