test_upStream.py 4.13 KB
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import unittest
import json
import urllib3
from commons import ConfigDB as db
from commons import common as com
from commons.api.login import login
from commons.api.upStream import upStream
from commons.MyRequest import myrequest
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
ll=login()
uu=upStream()
my=myrequest()


class test_upStream(unittest.TestCase):
    '''分别封装各个接口和数据,数据处理过程写入代码'''
    @classmethod
    def setUpClass(cls):
        #获取session
        cls.se=ll.get_session("sg_wenze", "111111")
        
    def setUp(self):
        pass
    
    def test_01_upStream(self):
        #成功查询上下游企业,无过滤条件---直接调用登陆类的方法,session可以保持一致
        #直接把接口和数据一起封装,测试时直接调用接口数据(请求数据没有修改的情况)
        re=self.se.post(url=uu.url,headers=uu.header,json=uu.body)
        print(re.json())
        self.assertEqual(re.status_code, 200)

    def test_02_upStream(self):
        #成功查询上下游企业,加入企业/个人名称过滤条件----直接调用登陆类的方法,session可以保持一致
        #直接把接口和数据一起封装,测试时直接调用接口数据(需要修改请求数据的情况)
        body=uu.body.copy()
        body["likeName"]="111"
        print("test_02_upStream",body)
        re=self.se.post(url=uu.url,headers=uu.header,json=uu.body)
        print(re.json())
        self.assertEqual(re.status_code, 200)
        
    def test_03_upStream(self):
        #成功查询上下游企业,加入业户名称名称过滤条件---实验直接传session给接口类使用(封装使用)
        re=uu.post2(self.se,"sg_wenze", "111111",url=uu.url,headers=uu.header,json=uu.body)
        print("test_03_upStream",re.json())
        print(re.json())
        self.assertEqual(re.status_code, 200)
    
    def test_04_upStream(self):
        #成功查询上下游企业,加入业户名称名称过滤条件
        #使用公共的请求方法,数据需要单独维护
        re=my.post2(self.se,"test_01_upStream")
        print("test_04_upStream",re.json())
        self.assertEqual(re.status_code, 200)

    def tearDown(self):
        print("tearDown")
           
    @classmethod
    def tearDownClass(cls):
        cls.se.close()



class test_demo(unittest.TestCase):
    '''提供一个封装好的公共方法,请求数据需求提前存储到配置文件'''
    @classmethod
    def setUpClass(cls):
        #获取session
        cls.se=ll.get_session("sg_wenze", "111111")
        
    def setUp(self):
        pass
    
    def test_01_demo(self):
        #成功查询上下游企业,加入业户名称名称过滤条件
        #使用公共的请求方法,数据需要单独维护
        re=my.post2(self.se,"test_01_upStream")
        print("test_01_upStream",re.json())
        self.assertEqual(re.status_code, 200)

    def tearDown(self):
        print("tearDown")
           
    @classmethod
    def tearDownClass(cls):
        cls.se.close()




if __name__ == "__main__":
#unittest.main()方法会搜索该模块文件下所有以test开头的测试用例方法,并自动执行它们。
#如果不加下面这个语句,那么在通过unittest的方法添加测试用例时,这个文件里面的用例不会被搜索到。

#     unittest.main(verbosity=2)

# #    以下代码可以调试单个测试用例,用例中打印的语句不会展示到控制台,使用前需要注释上面的代码unittest.main(),如果不使用下面代码,
# #    在有unittest.main()的情况下点击ctrl+f11,会直接运行当前页面所有用例,并且把用例用有打印的语句显示到控制台
    current_suite = unittest.TestSuite()
    current_suite.addTest(test_upStream("test_08_upStream"))
#     #以列表形式添加多个测试用例
# #     current_suite.addTests([submitOrder_With_Coupon("test_01"),submitOrder_With_Coupon("test_02")])
#     # 执行测试
    runner = unittest.TextTestRunner()
##    runner.run(可以直接添加测试用例如submitOrder_With_Coupon("test_01"))
    runner.run(current_suite)