• 接口自动化使用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()
    

      

  • 相关阅读:
    第四篇 kubernetes 部署EFK日志平台
    青云KubeSphere 容器平台部署教程
    第三篇 kubernetes使用Operator部署Prometheus监控
    第二篇 kubernetes 集群部署 Traefik-ingress
    第一篇 kubernetes V1.19.4 部署教程
    OpenShift强大的oc set命令详解
    kubernetes集群调度策略及调度原理
    MAC 环境变量的管理
    hackindosh 折腾
    RactNative 框架 Hippy
  • 原文地址:https://www.cnblogs.com/xiamaojjie/p/12034422.html
Copyright © 2020-2023  润新知