想请教一下,目前主流的自动化测试框架是什么? 主要是做接口测试的
![]() | 1 efaun 2022-02-21 15:40:23 +08:00 ![]() |
3 mydingyan 2022-02-21 16:34:27 +08:00 公司 UI 自动化用的 robotframework ,我接口也只能用这个了。 |
5 warcraft1236 2022-02-21 16:43:08 +08:00 自动化框架推荐用 behave 这种 bdd 的框架,具体发请求基本上就是 requests , 我相信应该不会有其他的比这个更好用的发请求的库 |
![]() | 6 efaun 2022-02-21 16:45:48 +08:00 ![]() |
![]() | 8 jeeyong 2022-02-21 17:42:01 +08:00 我是用 Python 做的...用下来感觉. Selenium 是首选.. 偶尔会用 Playwright 这两个满足我所有需求了. |
9 tibifide 2022-02-21 17:43:33 +08:00 yapi |
10 xuegj1010 OP 我们项目组是用 postman 做的接口自动化,所以想来请教一下 |
![]() | 11 NJAllen 2022-02-22 13:22:42 +08:00 之前用 selenium+pytest 做过 UI ,request+pytest 做接口 |
![]() | 12 312ybj 2022-02-22 18:35:34 +08:00 我们公司用的是 metersphere ,这个用着还行吧。要是简单点的工具,api-fox 也能写自动化接口测试。 |
13 eggt 2022-02-22 21:45:03 +08:00 via iPhone pytest |
![]() | 14 wangdaqiao 2022-02-25 13:50:41 +08:00 接口测试,我主要用到 pytest + request + jsonschema(验证返回) + allure 通过操作浏览器,自动记录 api 请求到 csv ,根据实际需要略加工下 csv 。 总的来说,还是比较简单的。 |
![]() | 15 iyaozhen 2022-03-01 15:21:44 +08:00 简单来说用 Postman 其实挺好的 写代码的话 一般都是 py.test reqeusts 封装下 《使用 Python nose 组织 HTTP 接口测试》 https://iyaozhen.com/use-python-nose-to-http-api-test.html |
16 stonesirsir 2022-03-03 20:46:29 +08:00 @jeeyong selenum 真的是神器 |
![]() | 17 wangdaqiao 2022-03-25 17:01:42 +08:00 @jeeyong 哈,我现在基本投奔 playwright 了。 |
![]() | 18 jeeyong 2022-03-27 09:48:22 +08:00 @wangdaqiao 那你再 pw 里面怎么完成移动端的触摸啊.. 下拉, 触摸点击. 长按... |
![]() | 19 wangdaqiao 2022-03-29 10:48:18 +08:00 @jeeyong 可以试试 mouse , 支持移动,长按之类的操作 |
![]() | 20 wangdaqiao 2022-03-29 11:23:29 +08:00 @wangdaqiao 还有 Touchscreen |
![]() | 21 jeeyong 2022-03-29 13:31:10 +08:00 @wangdaqiao mouse 不行, 页面监听事件, 如果是 click 之类的之间会触发风控.. 所以要用 touch 事件, 但是 playwright 只有 tap, 不像 selenium 有 tap, longPress, hold_and_press 之类的操作... 如果都是 js 我还不知道怎么弄 |
![]() | 22 remrem 2022-04-01 17:24:00 +08:00 @wangdaqiao 您好,请教一下,“操作浏览器,自动记录 api 请求到 csv”,是怎么样实现的呢? |
![]() | 23 wangdaqiao 2022-04-15 10:37:48 +08:00 @remrem playwright 有个 page.on 方法,可以用来添加一个 listener 用来记录需要的请求及其返回数据, 大体上是这样。 def log_request(request): urls_mOnitor= ['/v5/your_api_path', ] if request.method == 'POST' and any(x in request.url for x in urls_monitor): res = request.response() print(request.url) print(request.method) print(request.post_data_json) print(res.json()) page.on("request", log_request) |
24 Leexzyy 2022-05-25 22:15:24 +08:00 我是自己写了一套自动化接口测试框架 主要用了 requests+pymysql+unittest+beautifulreport+pyyaml ( ddt+kdt )做的 |
25 BrightLiao 2022-12-05 15:10:27 +08:00 针对特定的场景,有时候自己写一个框架比较合理。我们之前根据数据开发的场景,也编写过一个简单的 ETL 测试框架,现已开源,如希望参考,可以私聊啊。 |