AutoRunner自动化测试场景异常处理

Odele ·
更新时间:2024-09-21
· 759 次阅读

在这里我们提到的AR场景异常,应该理解为场景下不正常的输入导致的报错。比如在登录页面上,我们输入了错误的用户名或密码,这个时候页面通常会弹出一个错误提示框,把错误信息反馈给我们。 在自动化测试里面,我们需要对这些报错,也是异常进行处理,一般的做法是把这个报错信息记录下来,之后处理下异常,然后继续执行后续的测试。 在这里我们以一个上海泽众CRM客户管理系统的登录场景为例,来看一下场景的异常处理方法: 1.首先,我们来录制一个登陆上海泽众CRM客户关系管理系统的脚本,我们在登陆界面输入用户名和密码,点击登陆,再点击退出系统,录制的脚本信息如下所示: ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").setValue("INPUT_text_username", "test"); //输入用户名 ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").setValue("INPUT_password_password", "test"); //输入密码 ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").clickControl("INPUT_submit_登 录", 27, 6, "left"); //点击登录 ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").clickControl("A_退出系统", 23, 2, "left"); //点击退出系统

2. 在这个登录场景下,我们可以将用户名和密码进行参数化处理,具体操作如下: 在原脚本输入用户名和密码的位置,将具体的用户名和密码改为:"+pd.getFrom(“username”)和"+pd.getFrom(“password”) 即: ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").setValue("INPUT_text_username", ""+pd.getFrom(“username”)); //输入用户名 ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").setValue("INPUT_password_password",""+pd.getFrom(“password”)); //输入密码 ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").clickControl("INPUT_submit_登 录", 27, 6, "left"); //点击登录 ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").clickControl("A_退出系统", 23, 2, "left"); //点击退出系统 3.设置参数表: 在信息框下方的参数表栏目中,我们可以自己手动添加行和列。 参数表的第一列我们设置的是参数化字段的名称,第一列第一行是用户名:username;第一列第二行是密码:password。这里的设置顺序和一般脚本里面的参数化字段的顺序一致,第一个参数化字段是用户名,第二个参数化字段是密码。

4.循环参数表设置: 设置好参数表中要循环的部分:

5.把要循环执行的脚本放到循环体内,完整的脚本如下: for(ParameterData pd : ar.getParameterDataList("ghf.xls")/*.subList(0, 3)*/) { //ar.parameterData = pd;//ar.parameterData可用于脚本之间传递参数 ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").setValue("INPUT_text_username",""+pd.getFrom("username"));// 输入用户名 ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").setValue("INPUT_password_password",""+pd.getFrom("password"));// 输入密码 ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").clickControl("INPUT_submit_登 录",27,6,"left");// 点击登录 ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").clickControl("A_退出系统",23,2,"left");// 点击退出系统 } 6.执行脚本:

上面的过程没有涉及到用户名和密码的错误处理,下面我们把这些情况添加进去,用户名输入错误的时候会出现如下的报错信息:

密码错误会出现如下的报错信息:

如果出现这两种情况,我们要把结果异常的脚本录制下来,然后,继续执行后面的测试:

参数表设计:

完整的脚本如下: for(ParameterData pd : ar.getParameterDataList("ghf.xls")/*.subList(0, 3)*/) { //ar.parameterData = pd;//ar.parameterData可用于脚本之间传递参数 ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").setValue("INPUT_text_username",""+pd.getFrom("username"));// 输入用户名 ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").setValue("INPUT_password_password",""+pd.getFrom("password"));// 输入密码 ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").clickControl("INPUT_submit_登 录",27,6,"left");// 点击登录 if (ar.windowExist("#32770_来自网页的消息")){ String str1 = ar.window("#32770_来自网页的消息").getProperty("Static_用户名不存在!", "name"); System.out.println(str1); ar.window("#32770_来自网页的消息").clickControl("Button_确定", 34, 16, "left"); } else if (ar.windowExist("#32770_来自网页的消息_2")){ String str2 = ar.window("#32770_来自网页的消息_2").getProperty("Static_密码错误!", "name"); System.out.println(str2); ar.window("#32770_来自网页的消息_2").clickControl("Button_确定_2", 53, 16, "left"); }else if (ar.windowExist("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer")){ System.out.println("登录成功!"); ar.window("IEFrame_上海泽众软件科技有限公司客户管理系统 - Windows Internet Explorer").clickControl("A_退出系统",23,2,"left");// 点击退出系统 } }

下面我们执行下脚本,看看结果:

脚本运行成功,并且我们把参数表中每一组的执行结果都输出到输出区域了,我们成功了!



异常 AutoRunner 测试 异常处理

需要 登录 后方可回复, 如果你还没有账号请 注册新账号