[发明专利]一种web自动化测试方法及系统在审
| 申请号: | 202111471750.3 | 申请日: | 2021-12-03 |
| 公开(公告)号: | CN114281680A | 公开(公告)日: | 2022-04-05 |
| 发明(设计)人: | 徐基法;刘超;张悦;边智慧 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 张志欣 |
| 地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 web 自动化 测试 方法 系统 | ||
本发明提供了一种web自动化测试方法及系统,所述方法包括获取客户端上传的录制代码,所述录制代码为用户在客户端通过Playwright代码录制命令得到;根据所述录制代码,生成Pytest测试用例的脚本文件,所述测试用例中包括测试数据和断言数据,一组所述测试数据至少对应一组断言数据;响应于用户选择的测试用例及配置参数,以无头模式调用对应脚本文件的执行命令,发送至Celery中异步执行web测试任务。将playwright录制代码自动重写为Pytest测试案例代码,利用Pytest的前置处理和参数配置特性,实现一个案例适用多个测试数据的问题,并输出整理测试报告,实现测试用例重复自动执行,提高测试效率。
技术领域
本发明涉及自动化测试技术领域,尤其是一种web自动化测试方法及系统。
背景技术
目前UI(User Interface Design,界面设计)自动化工具大多是基于Selenium实现的,Selenium通过WebDriver与浏览器交互,通过自定义测试脚本实现Web测试。
使用Selenium进行Web自动化测试,无法在遵从RESTFUL协议的Web中使用,且需要自行编写测试脚本执行且在测试时必须使用浏览器,使用的依赖性、复杂度偏高,无法支持在Linux/Unix服务器中后端自动运行测试案例。
现有专利号为202110506580的专利申请提供了一种实现web应用自动化测试的方法及装置,提供了一种通过Playwright代码录制功能生成测试案例代码,并在代码中手动增加断言代码并截图,以playwright无头模式运行编辑后的代码。该专利技术中每次录制的代码仅能支持一种测试数据测试(代码录制时人工输入的测试数据)使用,无法适用于一个测试用例、多个测试数据的场景。
发明内容
本发明提供了一种web自动化测试方法及系统,用于解决现有测试方法无法适用于多个测试场景的问题。
为实现上述目的,本发明采用下述技术方案:
本发明第一方面提供了一种web自动化测试方法,所述测试方法包括以下步骤:
获取客户端上传的录制代码,所述录制代码为用户在客户端通过Playwright代码录制命令得到;
根据所述录制代码,生成Pytest测试用例的脚本文件,所述测试用例中包括测试数据和断言数据,一组所述测试数据至少对应一组断言数据;
响应于用户选择的测试用例及配置参数,以无头模式调用对应脚本文件的执行命令,发送至Celery中异步执行web测试任务。
进一步地,用户在客户端录制代码的具体过程为:
用户在前端发起代码录制指令,后端执行拼接playwright代码录制命令,打开浏览器;
用户在新打开的浏览器窗口中进行操作,操作完成后关闭所述浏览器窗口,生成代码文件,所述操作为当前测试用例需测试的执行动作。
进一步地,所述根据所述录制代码,生成Pytest测试用例的脚本文件的具体过程为:
根据测试用例ID,从数据库中获取用例信息,在指定目录下创建测试文件;
创建以测试用例ID为名称的class对象,增加Pytest参数注解方法;
创建测试函数,测试函数参数包括playwright参数page、测试数据、断言数据;
获取所述录制代码,从所述录制代码中提取部分代码作为所述测试函数的运行代码;
将所述运行代码中存在预设关键字的代码行用逗号分割,将测试数据作为当前代码行被匹配序列的下标;
在所述运行代码的结尾,增加断言判断,遍历断言参数列表,根据断言类型添加断言语句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111471750.3/2.html,转载请声明来源钻瓜专利网。





