test_login.py 2.56 KB
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import unittest
import json
import urllib3
from commons.api.login import login
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
lo=login()

class test_login(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
    #初始化工作:该类的所有用例执行前会执行一次,且只执行一次,优先级高于setup,非必要代码
        print("setUpClass")

    def setUp(self):
    #初始化工作:每个用例执行前都会执行一次,N个用例就执行N次,非必要代码
        print("setUp")
    
    def test_01_login(self):
        #账户密码都正确
        re=lo.post("sg_wenze", "111111")
#         print(re.headers)
        self.assertTrue("Set-Cookie" in re.headers.keys())
        
    def test_02_login(self):
        #密码错误
        re=lo.post("sg_wenze", "111111111111")
#         print(re.text)
        self.assertTrue("用户名或密码错误" in re.text)

    def test_03_login(self):
        #账户错误
        re=lo.post("sg_wenze11111111", "11111")
#         print(re.text)
        self.assertTrue("用户名或密码错误" in re.text)

    
    def tearDown(self):
    #清理工作:每个用例执行后都会执行一次,N个用例就执行N次,非必要代码
        print("tearDown:")
           
    @classmethod
    def tearDownClass(cls):
    #清理工作:该类的所有用例执行完成后会执行一次,且只执行一次,非必要代码 
        print("tearDownClass")


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)