接口测试 探索接口自动化

木易 · 2019年01月03日 · 最后由 yangyao 回复于 2024年07月02日 · 2624 次阅读

接口自动化测试是什么样的?


·自动化的开始

随着公司业务越来越复杂,东西越来越多,回归测试已经力不从心,每次上线前测试不完全,经常因为当前业务的修改影响了之前的业务,传统的手工,验收时又不可能完全的把系统跑一遍(测试就我一个人,产品助理偶尔也会帮着一起)。苦不堪言时主管交给我一项任务,开展自动化。刚好了解一点 Python,脑海马上想到Python3+Requests的组合。

·自动化的进行

说干就干,立马桌面创建文件(一直觉得 python 自带的编辑器用的比较顺手,打开也快,后来换了 pycharm,启动都要花老半天,毕竟方便文件管理和代码补充,也就一直这样了,大家都用的哪个,轻量的,快捷的)

"""登陆接口"""

import CONFIG
import requests
import login_exit

# 登陆接口,其他模块调用
def Login(tel = CONFIG.Mobile()):
    login_exit.Login_exit()  # 初始化操作,解除绑定
    url = CONFIG.Url() + 'login/*****.jhtml'
    params = {'tel': tel,
                    'code': code,
                    'unionId': CONFIG.Unionid()}
    request_login = requests.get(url, params)
    if request_login.status_code == 200:
        if request_login.json()['msg'] == '成功':
            return '登陆成功(登陆的账号: %s)'%tel
        else:
            return '异常记录-->%s'%request_login.json()
    else:
        return request_login.status_code, '登录失败'

# Test_Case
if __name__ == '__main__':
    print('全部为空-->', Login_edit('', ''))
    print('账号为空-->', Login_edit('', '123456'))
    print('验证码为空-->', Login_edit('138********', ''))
    print('账号错误-->', Login_edit('138********', '123456'))
    print('验证码错误-->', Login_edit('138********', '123456'))
    print('全部正确-->',Login_edit('138********', '123456'))

下面是批量运行

"""运行业务流程"""

import login

print('[1]', login.Login()) # 登陆

基本上就是这样,我不知道这算不算的上是自动化,不过各种的 if 搞得我已经头晕目眩了

·自动化的思考??

做了几天,我开始思考,我这叫自动化吗?虽然加个 time.sleep() 确实能够每天定时跑一跑。不过我又在思考,别人的自动化又是什么样子的。从无到有,没有人带过我,我也不知道,也没见过别人的自动化具体是怎么实施的,或是用了框架或是自己写了自动化平台,总是不断的看到什么fromworkjenkins都什么鬼。
唉~愁啊
跪求好心人指点🙏

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 15 条回复 时间 点赞

去看看 HttpRunner 呗,正在使用中,应该可以满足你当前需要咯。

@ 徐汪成 你这个平台是用什么写的

徐汪成 回复

你好,你这个接口自动化平台投入使用了吗?在实际项目中运用

接口自动化还是建议使用 jmeter

chenyouan 回复

之前公司有在用。
不过我已经离职很久了,不知道用的咋样。

目前个人在维护一个版本,在码云开源。
有兴趣的可以看看。

httprunner 已经 2.0 版了😀

你做的已经很不错了,但框架的话还需要考虑一些其他东西,可以关注下公众号 “诗泽园”,有一些框架类的文章,讲的比较具体。

徐汪成 回复

可以把码云的项目地址分享下吗?账号:youanchen。

我觉得你做的挺好的。我做的就是 Jenkins 的自动化测试。Jenkins 是一个持续集成的工具。用于监督持续重复的工作。相对来说,比较适合大量的回归测试和成熟的软件版本。

我做的回归测试,简单的说包含了:自动部署测试环境,自动跑测试用例,自动产生测试报告。

接口测试我不太了解,不过你已经走出了第一步,后边不断的把重复性的工作,用脚本来实现,整个框架就可以慢慢的搭建起来了。不过,不是所有的测试都适合用自动化测试,如果需求经常改变,测试用例生命周期太短的,就不要用自动化测试了,付出的精力和回报不等

徐汪成 回复

hao de ,3Q

3楼 已删除

登录接口的 token 最好请求后保存到本地不然影响性能

Laimf 回复

大佬,你之前开源的那个基于 jmeter 的平台 能否再开源一下

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册