我是网络应用程序,我想要记录测试用例并回放这些案例。
应用程序的第一个版本,我的登录模块有用户名和密码,并为整个应用程序记录了500个测试用例。在500个测试用例中,200个测试用例使用用户名和密码进行日志记录。
应用程序的第二个版本,我的登录模块只有用户名,所以我想通过修改使用以前记录的测试用例,而不是去所有测试用例更改密码字段。在这里,我对测试框架有一些要求
我使用了不同的UI自动化测试工具和记录&播放选项非常好,但我无法在UI自动化测试框架中找到我想要的方式。
是否有任何可用的框架可以帮我完成工作?
提前致谢。
答案 0 :(得分:0)
这是为什么你永远不应该记录硒测试案例的一个主要例子。每当您想要更新登录等内容时,您都必须更改它们。
您应该为您的应用程序创建一个测试工具/框架。
1.开始为每个网页创建一个类,其中包含您希望能够访问的每个元素的1个函数。
public By username(){
return By.cssSelector("input[id$='username']"); }
2.创建辅助类,在其中创建经常使用的序列。
public void login(String username, String password){
items.username().sendkeys(username);
items.password().sendkeys(password);
}
3.在常用的测试设置中添加登录功能
@BeforeMethod(alwaysRun = true)
public void setUp() {
helper.login("user","password");
}
这使您有机会以编程方式创建测试用例。因此,例如,如果您想对不存在密码元素的其他登录模块使用相同的测试用例,则可以像这样更改它。
items.username().sendkeys(username);
if(isElementPresent(items.password())
items.password().sendkeys(password);
功能" isElementPresent"可能看起来像这样
public boolean isElementPresent(By locator){
try {
driver.findElement(locator);
logger.trace( "Element " + stripBy(locator) + " found");
} catch (NoSuchElementException e) {
logger.trace( "Element " + stripBy(locator) + " not found");
return false;
}
return true;
}