AutoRunner场景异常处理

2024-01-10 22:18

本文主要是介绍AutoRunner场景异常处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里大家看到的场景异常,应该理解为场景下的不正常输入导致的报错,比如登录页面上,我们输入了错误的用户名密码,这个时候页面通常都会弹出一个错误提示框,把错误信息反馈给我们,在自动化测试里面我们需要对这些报错,也就是异常进行一个处理,一般的做法就是把这个报错信息记录下来之后处理下异常然后继续执行后续的测试。
在这里我们以一个上海泽众CRM客户管理系统的登录为场景,来看一下场景的异常处理:
1.首先录制脚本如下:
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.第二步我们要对脚本进行参数化处理,在这个登录场景下,用户名和密码是可以做参数化的先对脚本做一个参数化处理:
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场景异常处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/592245

相关文章

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

maven异常Invalid bound statement(not found)的问题解决

《maven异常Invalidboundstatement(notfound)的问题解决》本文详细介绍了Maven项目中常见的Invalidboundstatement异常及其解决方案,文中通过... 目录Maven异常:Invalid bound statement (not found) 详解问题描述可

SpringSecurity中的跨域问题处理方案

《SpringSecurity中的跨域问题处理方案》本文介绍了跨域资源共享(CORS)技术在JavaEE开发中的应用,详细讲解了CORS的工作原理,包括简单请求和非简单请求的处理方式,本文结合实例代码... 目录1.什么是CORS2.简单请求3.非简单请求4.Spring跨域解决方案4.1.@CrossOr

requests处理token鉴权接口和jsonpath使用方式

《requests处理token鉴权接口和jsonpath使用方式》文章介绍了如何使用requests库进行token鉴权接口的处理,包括登录提取token并保存,还详述了如何使用jsonpath表达... 目录requests处理token鉴权接口和jsonpath使用json数据提取工具总结reques

Nginx内置变量应用场景分析

《Nginx内置变量应用场景分析》Nginx内置变量速查表,涵盖请求URI、客户端信息、服务器信息、文件路径、响应与性能等类别,这篇文章给大家介绍Nginx内置变量应用场景分析,感兴趣的朋友跟随小编一... 目录1. Nginx 内置变量速查表2. 核心变量详解与应用场景3. 实际应用举例4. 注意事项Ng

Java Exception异常类的继承体系详解

《JavaException异常类的继承体系详解》Java中的异常处理机制分为异常(Exception)和错误(Error)两大类,异常分为编译时异常(CheckedException)和运行时异常... 目录1. 异常类的继承体系2. Error错误3. Exception异常3.1 编译时异常: Che

C# 空值处理运算符??、?. 及其它常用符号

《C#空值处理运算符??、?.及其它常用符号》本文主要介绍了C#空值处理运算符??、?.及其它常用符号,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、核心运算符:直接解决空值问题1.??空合并运算符2.?.空条件运算符二、辅助运算符:扩展空值处理

浅析Python中如何处理Socket超时

《浅析Python中如何处理Socket超时》在网络编程中,Socket是实现网络通信的基础,本文将深入探讨Python中如何处理Socket超时,并提供完整的代码示例和最佳实践,希望对大家有所帮助... 目录开篇引言核心要点逐一深入讲解每个要点1. 设置Socket超时2. 处理超时异常3. 使用sele

Java中接口和抽象类的异同以及具体的使用场景

《Java中接口和抽象类的异同以及具体的使用场景》文章主要介绍了Java中接口(Interface)和抽象类(AbstractClass)的区别和联系,包括相同点和不同点,以及它们在实际开发中的具体使... 目录一、接口和抽象类的 “相同点”二、接口和抽象类的 “核心区别”关键区别详解(避免踩坑)三、具体使