想请教一下,目前主流的自动化测试框架是什么? 主要是做接口测试的
1
efaun 2022-02-21 15:40:23 +08:00 1
|
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 1
|
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 测试框架,现已开源,如希望参考,可以私聊啊。
|