Python自动化测试自动生成测试用例,超厉害技能get

自动化测试在很大程度上节约了测试的时间成本,提高了回归测试的效率,但是如何通过自动化测试提高测试的覆盖率或者更有效的发现bug呢?

众所周知,测试用例的设计对测试的覆盖率有很重要的影响,测试用例本身又要依赖设计各种不同的测试数据。也就是说只要提高了测试数据的数量和质量,测试的覆盖率就可以得到很大程度的提升。

那用python怎样才能自动生成有效多样的测试数据,不仅如此,如果能进一步生成可供自动化测试脚本直接读取的测试用例?

如何自动生成测试用例?

1.在后台配置测试用例

· 获取点击位置xpath,该测试用例预期文案或者样式。

· 请求接口将测试用例数据配置写入表,并提供接口拉取所有测试用例数据。

2.配置完测试用例

python请求接口获取测试用例配置的入参(in字段),出参(out字段),in里边的字段是入参,url是点击行为所在的页面,xpath是点击的位置,out里边的字段是出参,url是预期要跳转的页面,xpath是预期页面的标记位置,带text是预期的文案,带class是预期的样式,把用户行为尽量拆分成入参,出参能够表达的行为。

3.python请求接口

遍历接口数据生成前缀为test_case_xxx的测试用例,自动生成测试用例而不是在一条测试用例里边执行完所有的行为,避免出错而中断代码执行。

4.生成测试报告

1.安装HTMLTestRunner

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告。

2.测试脚本中引入

from HTMLTestRunner import HTMLTestRunner

3.定义测试报告的路径,调用HtmlTestRunner

4.执行测试脚本,打印测试报告,生成html

5.再次执行测试脚本,生成测试报告

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!å¨è¿éæå¥å¾çæè¿°

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!喜欢软件测试的小伙伴们,可以加入我们的测试技术交流扣扣群:310357728里面有各种软件测试资源和技术讨论)

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Python中的requests和openpyxl库来实现根据Swagger文档生成自动化测试用例并写入Excel的功能。具体步骤如下: 1. 使用requests库发送GET请求,获取Swagger文档的JSON数据。 2. 解析JSON数据,获取接口名称、请求方法、请求URL、请求参数、请求体、响应结果等信息。 3. 使用openpyxl库创建Excel文件,并在第一行写入表头。 4. 遍历每个接口,将接口信息写入Excel文件的每一行。 5. 在每个接口的行下方,写入该接口的测试用例,包括请求参数、请求体、预期响应结果等信息。 下面是一个简单的示例代码,供参考: ```python import requests from openpyxl import Workbook # 获取Swagger文档的JSON数据 response = requests.get('https://petstore.swagger.io/v2/swagger.json') swagger_data = response.json() # 解析JSON数据,获取接口信息 paths = swagger_data['paths'] sheet_data = [['接口名称', '请求方法', '请求URL', '请求参数', '请求体', '预期响应结果']] for url, methods in paths.items(): for method, info in methods.items(): name = info['summary'] parameters = info.get('parameters', []) request_body = info.get('requestBody', {}).get('content', {}).get('application/json', {}).get('example', {}) responses = info.get('responses', {}) status_code = list(responses.keys())[0] response_body = responses[status_code].get('schema', {}).get('example', {}) # 将接口信息添加到Excel数据中 sheet_data.append([name, method, url, parameters, request_body, response_body]) # 创建Excel文件并写入数据 wb = Workbook() ws = wb.active for row in sheet_data: ws.append(row) wb.save('test_cases.xlsx') ``` 需要注意的是,以上代码是一个简单的示例,实际应用中可能需要对请求参数、请求体、响应结果等进行处理和解析,以生成更完整的测试用例。同时也需要根据实际情况对Excel文件的表头和数据进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值