requests基础使用讲解后,开始自动化框架的搭建。
首先分析需求,从比较复杂的post来当作实例在分析:
request.post(url,data,headers)
正常一个post请求需要url,body和headers。
url一般由基础url地址和api接口地址组成。所以url可以用config.ini来保存,视为一个几乎不变的量(以防由测试环境的变化);同时在用例内部进行url的拼接。所以首先需要一个config.ini文件和读取config文件的readConfig.py。当前config.ini还要保存其他的路径信息,来为环境变化做准备(比如路径变化)。
body因为每个接口的数据不同,所以不需要封装读取,直接在每个用例里写明。
headers一般也是不尽相同,所以不用封装读取,但是access_token,session等需要登录后获取,每次调用接口时都需要填写在headers中,可以使用writeconfig包写入config.ini文件中,来方便接口的调用,同时因为config文件编写次数不多,所以不用封装方法来多次调用。
另外可以加入logging模块,进行错误信息的统计。
所以总体下来目录结构是这样的:
apitest
-testcase(测试用例)
-config(config方法封装和ini文件)
-config.ini
-readconfig.py
-logreport(logging方法封装和产生的日志)
-log.py
-logreport
-report(测试报错)
-run.py(测试用例执行)