test_doAdd.py 3.11 KB
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import unittest
import json
import urllib3
from commons.api.login import login
from commons.api.fieldConfig import fieldConfig
from commons.api.doAdd import doAdd
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
ll=login()
do=doAdd()
field=fieldConfig()

#列表查询
class test_doAdd(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        #获取session
        cls.se=ll.get_session("user01",allow_redirects=False)
        #提前配置新增页的字段配置
        field.post("user01",url=field.url,headers=field.header,json=field.body)

    def setUp(self):
        pass
    
    def test_01_doAdd(self):
        #成功新增一个商品为大白菜的报备单,重量为111
        re=self.se.post(url=do.url,headers=do.header,json=do.body,proxies={'http': 'http://localhost:8888', 'https': 'http://localhost:8888'})
        print(re.json())
        self.assertEqual(re.status_code, 200)
        self.assertTrue("'code':'200'" in str(re.json()).replace(" ",""))
        
    def test_02_doAdd(self):
        #成功新增一个商品为鲜花生的报备单,重量为111
        body=do.body.copy()
        body["productName"]="鲜花生"
        body["productId"]="3496"
        re=self.se.post(url=do.url,headers=do.header,json=body,proxies={'http': 'http://localhost:8888', 'https': 'http://localhost:8888'})
        print(re.json())
        self.assertEqual(re.status_code, 200)
        self.assertTrue("'code':'200'" in str(re.json()).replace(" ",""))

    def test_03_doAdd(self):
        #用错误的用户来新增,无法新增
        body=do.body.copy()
        body["userId"]="516111"
        re=self.se.post(url=do.url,headers=do.header,json=body,proxies={'http': 'http://localhost:8888', 'https': 'http://localhost:8888'})
        print(re.json())
        self.assertEqual(re.status_code, 200)
        self.assertTrue("查询客户信息失败" in str(re.json()).replace(" ",""))


    def tearDown(self):
        pass
           
    @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_doAdd("test_03_doAdd"))
#     #以列表形式添加多个测试用例
# #     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)