V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
xuegj1010
V2EX  ›  Python

有没有大佬是做自动化测试的?

  •  
  •   xuegj1010 · 2022-02-21 15:25:19 +08:00 · 4849 次点击
    这是一个创建于 1008 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想请教一下,目前主流的自动化测试框架是什么? 主要是做接口测试的

    25 条回复    2022-12-05 15:10:27 +08:00
    efaun
        1
    efaun  
       2022-02-21 15:40:23 +08:00   ❤️ 1
    xiaoshan
        2
    xiaoshan  
       2022-02-21 15:58:26 +08:00
    @efaun 哈哈哈 秀儿
    mydingyan
        3
    mydingyan  
       2022-02-21 16:34:27 +08:00
    公司 UI 自动化用的 robotframework ,我接口也只能用这个了。
    duke807
        4
    duke807  
       2022-02-21 16:39:14 +08:00
    @efaun 求一個 bing 版本
    warcraft1236
        5
    warcraft1236  
       2022-02-21 16:43:08 +08:00
    自动化框架推荐用 behave 这种 bdd 的框架,具体发请求基本上就是 requests , 我相信应该不会有其他的比这个更好用的发请求的库
    efaun
        6
    efaun  
       2022-02-21 16:45:48 +08:00   ❤️ 1
    @duke807 #4 https://lmstfy.net/bing/?q=5biu5L2g5b+F5bqU
    本来我也想用"帮你百度"来回复你的, 结果发现百度搜不出来结果🤣
    duke807
        7
    duke807  
       2022-02-21 17:32:54 +08:00
    @efaun 好險,我還真沒自己搜尋
    話說要是能選擇國際版本 bing 就好了
    jeeyong
        8
    jeeyong  
       2022-02-21 17:42:01 +08:00
    我是用 Python 做的...用下来感觉.
    Selenium 是首选..
    偶尔会用 Playwright
    这两个满足我所有需求了.
    tibifide
        9
    tibifide  
       2022-02-21 17:43:33 +08:00
    yapi
    xuegj1010
        10
    xuegj1010  
    OP
       2022-02-22 10:15:16 +08:00
    我们项目组是用 postman 做的接口自动化,所以想来请教一下
    NJAllen
        11
    NJAllen  
       2022-02-22 13:22:42 +08:00
    之前用 selenium+pytest 做过 UI ,request+pytest 做接口
    312ybj
        12
    312ybj  
       2022-02-22 18:35:34 +08:00
    我们公司用的是 metersphere ,这个用着还行吧。要是简单点的工具,api-fox 也能写自动化接口测试。
    eggt
        13
    eggt  
       2022-02-22 21:45:03 +08:00 via iPhone
    pytest
    wangdaqiao
        14
    wangdaqiao  
       2022-02-25 13:50:41 +08:00
    接口测试,我主要用到
    pytest + request + jsonschema(验证返回) + allure
    通过操作浏览器,自动记录 api 请求到 csv ,根据实际需要略加工下 csv 。
    总的来说,还是比较简单的。
    iyaozhen
        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
    stonesirsir
        16
    stonesirsir  
       2022-03-03 20:46:29 +08:00
    @jeeyong selenum 真的是神器
    wangdaqiao
        17
    wangdaqiao  
       2022-03-25 17:01:42 +08:00
    @jeeyong 哈,我现在基本投奔 playwright 了。
    jeeyong
        18
    jeeyong  
       2022-03-27 09:48:22 +08:00
    @wangdaqiao 那你再 pw 里面怎么完成移动端的触摸啊.. 下拉, 触摸点击. 长按...
    wangdaqiao
        19
    wangdaqiao  
       2022-03-29 10:48:18 +08:00
    @jeeyong 可以试试 mouse , 支持移动,长按之类的操作
    wangdaqiao
        20
    wangdaqiao  
       2022-03-29 11:23:29 +08:00
    @wangdaqiao 还有 Touchscreen
    jeeyong
        21
    jeeyong  
       2022-03-29 13:31:10 +08:00
    @wangdaqiao mouse 不行, 页面监听事件, 如果是 click 之类的之间会触发风控..
    所以要用 touch 事件, 但是 playwright 只有 tap, 不像 selenium 有 tap, longPress, hold_and_press 之类的操作...
    如果都是 js 我还不知道怎么弄
    remrem
        22
    remrem  
       2022-04-01 17:24:00 +08:00
    @wangdaqiao 您好,请教一下,“操作浏览器,自动记录 api 请求到 csv”,是怎么样实现的呢?
    wangdaqiao
        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)
    Leexzyy
        24
    Leexzyy  
       2022-05-25 22:15:24 +08:00
    我是自己写了一套自动化接口测试框架 主要用了 requests+pymysql+unittest+beautifulreport+pyyaml ( ddt+kdt )做的
    BrightLiao
        25
    BrightLiao  
       2022-12-05 15:10:27 +08:00
    针对特定的场景,有时候自己写一个框架比较合理。我们之前根据数据开发的场景,也编写过一个简单的 ETL 测试框架,现已开源,如希望参考,可以私聊啊。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1108 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:02 · PVG 03:02 · LAX 11:02 · JFK 14:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.