接口自动化测试思路和实战(2):模块化测试脚本框架
模块化测试脚本框架
需要创建独立的可描述的模块、程序片断以及待测试应用程序的脚本。这些小脚本进行组合,就能组成用来独立运行特定的测试的测试用例脚本。
场景一:
开发把 access_token接口地址由/cgi-bin/token 改为/cgi-bin/get_token或者修改参数等 ==》开发把常用的接口信息调整了;这一个场景会导致测试脚本大部分的地方需要维护,而且还担心未来再调整;故使用模块化测试框架解决。
由于获取 token操作在代码中使用非常频繁,所以做成公共的
步骤1、在common文件夹下新建common_function.py文件,封装方法
编写代码:
# encoding: utf-8 # @author: Jeffrey # @file: commom_function.py # @time: 2022/7/26 21:01 # @desc: 模块化框架 import jsonpath def get_access_token_value(session_obj): """获取access_token的值""" url_params = {"grant_type": "client_credential", "appid": "wxf14419077f707856", "secret": "92a113bd4b5ffdc72144740dc7123c99"} response = session_obj.get(url="https://api.weixin.qq.com/cgi-bin/token", params=url_params) # 获取响应json中的access_token的值 token_value = jsonpath.jsonpath(response.json(), "$.access_token")[0] return token_value
步骤2、在test_create_user_tag_api.py文件中导入公共模块,把原先多余的代码删除掉;如下图
上述代码的好处:1、降低代码的冗余;2、方便维护(上面描述的场景)
场景二:
公司的测试环境地址变更,比如从 api.weixin.qq.com该域名切换到192.168.1.12
步骤3、在common文件夹下新建local_config.py文件
步骤4、把local_config.py文件中的值放到用例层,如下图
查看执行结果
注:通过以上的用例层执行的时候,每个用例都要获取一次access_token,其实access_token每次获取后有效期是2个小时,后面解决。