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

相关文章

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Java Response返回值的最佳处理方案

《JavaResponse返回值的最佳处理方案》在开发Web应用程序时,我们经常需要通过HTTP请求从服务器获取响应数据,这些数据可以是JSON、XML、甚至是文件,本篇文章将详细解析Java中处理... 目录摘要概述核心问题:关键技术点:源码解析示例 1:使用HttpURLConnection获取Resp

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决