接口自动化使用setUp解决数据依赖问题

Posted xiamaojjie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口自动化使用setUp解决数据依赖问题相关的知识,希望对你有一定的参考价值。

setUp是用例运行的前置条件,每次在运行用例的时候,都会优先运行setUp函数,我们可以运用setUp的这一特性,来解决数据依赖问题。

如下图:

技术图片

将登录的请求放到了setUp函数里面,每次运行前都会发起登录请求。然后再将需要用到的cookie当做参数传递到了下一个请求中。从而解决了数据依赖问题。

技术图片

参考代码如下:

from API_AUTO.tools.http_request import HttpRequest
import unittest
import re


class TestJenkins(unittest.TestCase):
    def setUp(self):
        ‘‘‘登录请求‘‘‘
        self.url = ‘https://www.ketangpai.com/UserApi/login‘
        self.data = {
            "email": "1489088761@qq.com",
            "password": "A1789788",
            "remember": 0
        }
        self.headers = {
            "User-Agent": " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/78.0.3904.108 Safari/537.36",
            "Content-Type": "application/x-www-form-urlencoded",
        }
        self.login_res = HttpRequest().http_request(‘post‘, self.url, self.data, self.headers, verify=False)

    def test_mooc(self):
        ‘‘‘我的精品页面‘‘‘
        print(self.login_res.text)
        url1 = ‘https://www.ketangpai.com/Mooc/Mooc/index.html‘
        headers1 = {
            "Referer": "https: // www.ketangpai.com / Main / index.html",
            "User-Agent": " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36",
        }
        res1 = HttpRequest().http_request(‘get‘, url=url1, headers=headers1, cookies=self.login_res.cookies,
                                          verify=False)
        try:
            pattern = ‘<img class=.*?salt=(".*?").*?>‘
            regular = re.search(pattern, res1.text, re.S)
            self.assertEqual(‘夏茂杰‘, eval(regular.group(1)), ‘进入我的界面失败‘)
        except Exception as e:
            print(‘错误是{}‘.format(e))
            raise e

    def tearDown(self):
        pass


if __name__ == ‘__main__‘:
    unittest.main()

  

以上是关于接口自动化使用setUp解决数据依赖问题的主要内容,如果未能解决你的问题,请参考以下文章

接口自动化使用反射解决数据依赖问题

python自动化测试怎么将多个依赖数据

在 setup.py 脚本中安装 nltk 数据依赖项

接口自动化(八):如何处理接口依赖

【python接口自动化】在业务流程特别长的情况下,如何设计接口自动化?

Android 片段和依赖注入