System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件自动化测试,特别涉及一种基于selenium和httpclient的自动化测试系统。
技术介绍
1、对于功能已经完整和成熟的软件,每发布一个新的版本,其中大部分功能和界面都和上一个版本相似或完全相同,这部分功能特别适合于自动化测试,从而可以达到自动化回归测试到每个功能的目的。自动化测试通常使用java、python等编程语言实现,随着自动化测试的发展,为了降低使用者使用编程语言难度,将测试常用编程模块封装成各个功能的方式呈现,由此自动化测试工具也随即出现。如今已有web自动化测试、app自动化测试、ai自动化测试、接口自动化测试等的方式,通常这些由编程封装的工具只有手动执行方式,没有定期执行的方法;而且执行没有失败用例再处理的机制,导致因环境问题使得自动化测试用例的执行达不到预期效果;同时舍弃了不同类型的自动化测试用例的组合执行的方法;也舍弃了编程的灵活性;单一的用例编辑失去了快速编辑的能力。
2、selenium是一种自动化测试工具,它支持各种浏览器,包括chrome,safari,firefox等主流界面式浏览器,如果在这些浏览器里面安装一个selenium的插件,那么便可以方便地实现web界面的测试。selenium测试直接运行在浏览器中,本质是通过驱动浏览器,模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果。
3、httpcl ient是一个客户端的http通信实现库。httpclient的目标是发送和接收http报文。httpcl ient不会去缓存内容
4、专利cn202011232408.3公开了一种基于selenium框架的web自动化测试系统、测试方法和测试装置,专利cn202110779565.4公开了一种http接口自动化测试方法、装置、设备及存储介质。现有专利加载的方案不支持不支持定期执行,并且在设置测试变量的问题上缺乏灵活性,不便于设置。
技术实现思路
1、本专利技术的目的旨在至少解决所述技术缺陷之一。
2、为此,本专利技术的目的在于提出一种基于selenium和httpclient的自动化测试系统可以有效解决web自动化测试用例执行受到的环境因素问题。
3、为了实现上述目的,本专利技术的实施例提供一种基于selenium和httpclient的自动化测试系统,包括:
4、web自动化测试模块、接口自动化测试模块、测试执行设置模块和测试变量设置模块,其中,
5、所述web自动化测试模块用于新建ui测试用例并配置ui测试用例参数,提供对ui测试用例中的步骤的页面操作和数据获取,包括:用例步骤通过全局变量方式直接获取测试变量设置中的变量数据,用例间传参使用全局变量方式获取数据,步骤间传参使用局部变量方式获取数据;
6、所述接口自动化测试模块用于新建接口用例并配置接口参数,提供对httpclient的独立封装,支持多种文件导入方式,包括:手动录入接口测试,对swagger接口文件导入的方式实现接口参数的自动解析,多接口场景组合测试用例设置和接口间参数传递调用;
7、所述测试执行设置模块用于新建测试任务,将web自动化测试用例和接口自动化测试组合,形成不同的测试任务,并设置测试任务的执行方式和失败用例的重复执行方式,实现用例执行结果的日志、截图和报告,通过时间段的执行结果生成对应的汇总统计图;
8、所述测试变量设置模块用于新建变量名,选择脚本执行的类型,输入执行脚本语句、判断是否需要输入参数实现变量的新增,通过模拟调用或用例步骤中全局变量调用方式实现变量的输出,实现用例使用的常量数据、自定义函数随机生成变量数据的获取,以设置web自动化测试用例和接口自动化测试用例使用的变量。
9、进一步,所述web自动化测试模块执行js、java、python或sql代码获取步骤中使用的数据,通过md5、base64、哈希的加密方式将字符转化后使用。
10、进一步,步骤间使用同一数据时,先将需要的数据设置为输出参数,如果是不同用例间使用输出参数则所述web自动化测试模块采用全局变量方式获取,如果是同一用例的不同步骤间使用输出参数则所述web自动化测试模块采用局部变量方式获取。
11、进一步,所述web自动化测试模块设置步骤的页面操作包括:浏览器windows切换、frame切换、alert切换的方式。
12、进一步,所述接口自动化测试模块对接口用例的步骤配置包括新增、编辑、请求头、请求体、响应头、响应体、检查点设置的手动编辑方式,以及swagger的导入、导出、复制的快速编辑方式。
13、进一步,对接口用例的步骤中使用的数据,所述接口自动化测试模块使用全局变量方法直接获取测试变量设置的常量值、变量值或随机数值,通过csv、sql方式获取数据,并通过md5、base64、哈希的加密方式将字符转化后使用。
14、进一步,所述接口自动化测试模块用于对接口用例的编辑包括新增、编辑和删除的方式,以及excel的导入、导出、复制的快速编辑方式。
15、进一步,所述测试执行设置模块支持多个web自动化测试用例或接口自动化测试用例单一组合或混合组合并执行。
16、进一步,所述测试执行设置模块设置执行方式为手动立即执行或按照cron表达式设置定期执行,设置执行策略为单次执行,或因受环境因素导致的测试任务失败而设置的多次重复执行。
17、进一步,所述测试变量设置模块设置的常量为字符串,设置变量可执行js、java、python或sql代码实现数据的获取。
18、本专利技术实施例的基于selenium和httpclient的自动化测试系统,具有以下有益效果:
19、(1)不同类型用例组合执行:不仅支持单一类型的web用例或接口用例执行,还支持两种用例类型组合的方式执行,且不同类型用例间通过全局变量方式可互相传参。解决了以往单一自动化测试用例类型的组合并执行的方式,也解决了单一自动化测试用例类型的传参方式。实现了web用例执行后使用接口用例作为断言校验的方式,避免了使用web用例步骤跳转其他页做断言验证的繁琐步骤问题;也现实了接口用例的请求参数通过web用例执行获取的方式,避免了接口造测试数据困难的问题。
20、(2)失败的web用例自动执行:同一测试任务中的用例执行不仅支持默认的单次执行,还支持通过设置实现失败的web用例自动重复执行。因web自动化用例的结果受睡眠时间、执行环境等因素导致执行失败,通过失败的用例自动执行设置,只要有一次达到预期结果则视为用例通过,以此有效解决web自动化测试用例结果受到外界干扰的问题。
21、(3)用例变量的多种设置方式:同一条测试用例中变量可通过多种方式获取,不仅可以使用本文档来自技高网...
【技术保护点】
1.一种基于Selenium和HttpClient的自动化测试系统,其特征在于,包括:Web自动化测试模块、接口自动化测试模块、测试执行设置模块和测试变量设置模块,其中,
2.如权利要求1所述的基于Selenium和HttpClient的自动化测试系统,其特征在于,所述Web自动化测试模块执行Js、Java、Python或SQL代码获取步骤中使用的数据,通过md5、base64、哈希的加密方式将字符转化后使用。
3.如权利要求1所述的基于Selenium和HttpClient的自动化测试系统,其特征在于,步骤间使用同一数据时,先将需要的数据设置为输出参数,如果是不同用例间使用输出参数则所述Web自动化测试模块采用全局变量方式获取,如果是同一用例的不同步骤间使用输出参数则所述Web自动化测试模块采用局部变量方式获取。
4.如权利要求1所述的基于Selenium和HttpClient的自动化测试系统,其特征在于,所述Web自动化测试模块设置步骤的页面操作包括:浏览器windows切换、frame切换、alert切换的方式。
5.如权利要
6.如权利要求1所述的基于Selenium和HttpClient的自动化测试系统,其特征在于,对接口用例的步骤中使用的数据,所述接口自动化测试模块使用全局变量方法直接获取测试变量设置的常量值、变量值或随机数值,通过csv、SQL方式获取数据,并通过md5、base64、哈希的加密方式将字符转化后使用。
7.如权利要求1所述的基于Selenium和HttpClient的自动化测试系统,其特征在于,所述接口自动化测试模块用于对接口用例的编辑包括新增、编辑和删除的方式,以及Excel的导入、导出、复制的快速编辑方式。
8.如权利要求1所述的基于Selenium和HttpClient的自动化测试系统,其特征在于,所述测试执行设置模块支持多个Web自动化测试用例或接口自动化测试用例单一组合或混合组合并执行。
9.如权利要求8所述的基于Selenium和HttpClient的自动化测试系统,其特征在于,所述测试执行设置模块设置执行方式为手动立即执行或按照cron表达式设置定期执行,设置执行策略为单次执行,或因受环境因素导致的测试任务失败而设置的多次重复执行。
10.如权利要求1所述的基于Selenium和HttpClient的自动化测试系统,其特征在于,所述测试变量设置模块设置的常量为字符串,设置变量可执行Js、Java、Python或SQL代码实现数据的获取。
...【技术特征摘要】
1.一种基于selenium和httpclient的自动化测试系统,其特征在于,包括:web自动化测试模块、接口自动化测试模块、测试执行设置模块和测试变量设置模块,其中,
2.如权利要求1所述的基于selenium和httpclient的自动化测试系统,其特征在于,所述web自动化测试模块执行js、java、python或sql代码获取步骤中使用的数据,通过md5、base64、哈希的加密方式将字符转化后使用。
3.如权利要求1所述的基于selenium和httpclient的自动化测试系统,其特征在于,步骤间使用同一数据时,先将需要的数据设置为输出参数,如果是不同用例间使用输出参数则所述web自动化测试模块采用全局变量方式获取,如果是同一用例的不同步骤间使用输出参数则所述web自动化测试模块采用局部变量方式获取。
4.如权利要求1所述的基于selenium和httpclient的自动化测试系统,其特征在于,所述web自动化测试模块设置步骤的页面操作包括:浏览器windows切换、frame切换、alert切换的方式。
5.如权利要求1所述的基于selenium和httpclient的自动化测试系统,其特征在于,所述接口自动化测试模块对接口用例的步骤配置包括新增、编辑、请求头、请求体、响应头、响应体、检查点设置的手动编辑方式,以及swagger的导入、导出、复制的快速编辑...
【专利技术属性】
技术研发人员:韩院朝,余月宏,李成钢,赵志宏,蒋思玉,
申请(专利权)人:中电信数智科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。