test_login.py
2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/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)