做网页自动化测试的时候,浏览器打不开,死掉 等环境因素问题很让人头疼,总会导致自动化脚本运行无法连续进行;本质上,这些错误不是我们要测的code导致的;没准只是偶发的错误,就像我们平时浏览网页,难免出现一些偶发错误;只要重来几次,没准就能绕开这些环境错误;逻辑图如下:
实际应用效果感觉还不错,示例java代码如下:
//自动化测试用例的基础类
public abstract class BaseTest {
public abstract void execTest(); //抽象方法,由继承类去实现
public void test( ) {
while (retry && loop > 0) {
try {
execTest();
retry = false;
} catch (Exception ex) {
ex.printStackTrace();
clearEnv(); //发生错误,清理环境,比如killBrowser
loop--;
} finally {
if (retry) {
if (loop > 0) {
logInfo("测试用例:" + TESTCASE_NAME + " 执行异常,清理环境重新尝试!!");
setBrowser();
} else {
logInfo("测试用例:" + TESTCASE_NAME + " 多次执行异常,放弃尝试继续执行,退出本测试用例执行!!");
}
} else {
logInfo("测试用例:" + TESTCASE_NAME + " 执行正常,准备结束。");
//说明:正常退出不用记录AllPassCaseNumber, 这个参数由terminalTestcase()函数记录
}
}
}
}
}
//具体回归测试用例,需要继承BaseTest基础类
public class Regression01 extends BaseTest {
public void execTest() {
//把所需要的具体测试步骤,写在这个方法中
}
public static void main(String[] argus) {
new Regression01().test(); //运行的时候,这样调用,就可以产生意外错误重试的效果了
}
}