- 如果一个用例目录下所有Python文件都需要相同的初始化、清除,就需要在该目录下创建一个__str__.py的文件
- 公共的代码提取到__str__.py文件中,函数名和单个Python文件初始化、清除时一致
- __str__.py文件代码如下:
1 from lib.webui import *
2
3
4 def suite_setup():
5 INFO('单个用例目录下的 suite_setup')
6 open_browser()
7 mgr_login()
8
9
10 def suite_teardown():
11 INFO('单个用例目录下的 suite_teardown')
12 wd = GSTORE['wd']
13 wd.quit()
1 from time import sleep
2 from lib.webui import *
3
4
5 def suite_setup():
6 INFO('suite_setup')
7
8
9 def suite_teardown():
10 INFO('suite_teardown')
11
12 class UI_0101:
13 name = '检查操作菜单 UI_0101'
14
15 # 初始化方法
16 def setup(self):
17 INFO('UI_0101 setup')
18
19 # 清除方法
20 def teardown(self):
21 INFO('UI_0101 teardown')
22
23 def teststeps(self):
24 STEP(1, '获取左边菜单栏')
25 wd = GSTORE['wd']
26 eles = wd.find_elements(By.CSS_SELECTOR, '.sidebar-menu span')
27 menuText = [ele.text for ele in eles]
28 INFO(menuText)
29 STEP(2, '检查左边菜单栏')
30 CHECK_POINT('检查菜单是否正确', ['客户', '药品', '订单'] == menuText[:3])
31
32
33 class UI_0102:
34 name = '添加客户 UI_0102'
35
36 # 初始化方法
37 def setup(self):
38 INFO('UI_0102 setup')
39
40 # 清除方法
41 def teardown(self):
42 INFO('UI_0102 teardown')
43
44 def teststeps(self):
45 STEP(1, '点击左侧客户菜单')
46 wd = GSTORE['wd']
47 # 先找到上层节点,缩小查找范围
48 sidebarMenu = wd.find_element(By.CLASS_NAME, 'sidebar-menu')
49
50 # 再找到内部元素
51 elements = sidebarMenu.find_elements(By.TAG_NAME, 'span')
52
53 # 第一个span对应的菜单是 客户,点击它
54 elements[0].click()
55
56 STEP(2, '添加客户')
57
58 # 点击添加客户按钮
59 wd.find_element(By.CLASS_NAME, 'glyphicon-plus').click()
60
61 # form-contorl 对应3个输入框
62 inputs = wd.find_elements(By.CSS_SELECTOR, '.add-one-area .form-control')
63
64 # 输入客户姓名
65 inputs[0].send_keys('南京中医院')
66 # 输入联系电话
67 inputs[1].send_keys('2551867858')
68 # 输入客户描述
69 inputs[2].send_keys('江苏省-南京市-秦淮区-汉中路-16栋504')
70
71 # 第1个 btn-xs 就是创建按钮, 点击创建按钮
72 wd.find_element(By.CSS_SELECTOR, '.add-one-area .btn-xs').click()
73
74 # 等待1秒
75 sleep(1)
76
77 STEP(3, '检查添加信息')
78
79 # 找到 列表最上面的一栏
80 item = wd.find_elements(By.CLASS_NAME, 'search-result-item')[0]
81
82 fields = item.find_elements(By.TAG_NAME, 'span')[:6]
83
84 texts = [field.text for field in fields]
85 INFO(texts)
86
87 # 预期内容为
88 expected = [
89 '客户名:',
90 '南京中医院',
91 '联系电话:',
92 '2551867858',
93 '地址:',
94 '江苏省-南京市-秦淮区-汉中路-16栋504'
95 ]
96
97 CHECK_POINT('客户信息和添加内容一致 ',
98 texts == expected)
1 from time import sleep
2 from lib.webui import *
3
4
5 def suite_setup():
6 INFO('suite_setup')
7
8
9 def suite_teardown():
10 INFO('suite_teardown')
11
12
13 class UI_0301:
14 name = '检查操作菜单 UI_0301'
15
16 # 初始化方法
17 def setup(self):
18 INFO('UI_0301 setup')
19
20 # 清除方法
21 def teardown(self):
22 INFO('UI_0301 teardown')
23
24 def teststeps(self):
25 STEP(1, '获取左边菜单栏')
26 wd = GSTORE['wd']
27 eles = wd.find_elements(By.CSS_SELECTOR, '.sidebar-menu span')
28 menuText = [ele.text for ele in eles]
29 INFO(menuText)
30 STEP(2, '检查左边菜单栏')
31 CHECK_POINT('检查菜单是否正确', ['客户', '药品', '订单'] == menuText[:3])
32
33
34 class UI_0302:
35 name = '添加客户 UI_0302'
36
37 # 初始化方法
38 def setup(self):
39 INFO('UI_0302 setup')
40
41 # 清除方法
42 def teardown(self):
43 INFO('UI_0302 teardown')
44
45 def teststeps(self):
46 STEP(1, '点击左侧客户菜单')
47 wd = GSTORE['wd']
48 # 先找到上层节点,缩小查找范围
49 sidebarMenu = wd.find_element(By.CLASS_NAME, 'sidebar-menu')
50
51 # 再找到内部元素
52 elements = sidebarMenu.find_elements(By.TAG_NAME, 'span')
53
54 # 第一个span对应的菜单是 客户,点击它
55 elements[0].click()
56
57 STEP(2, '添加客户')
58
59 # 点击添加客户按钮
60 wd.find_element(By.CLASS_NAME, 'glyphicon-plus').click()
61
62 # form-contorl 对应3个输入框
63 inputs = wd.find_elements(By.CSS_SELECTOR, '.add-one-area .form-control')
64
65 # 输入客户姓名
66 inputs[0].send_keys('南京中医院')
67 # 输入联系电话
68 inputs[1].send_keys('2551867858')
69 # 输入客户描述
70 inputs[2].send_keys('江苏省-南京市-秦淮区-汉中路-16栋504')
71
72 # 第1个 btn-xs 就是创建按钮, 点击创建按钮
73 wd.find_element(By.CSS_SELECTOR, '.add-one-area .btn-xs').click()
74
75 # 等待1秒
76 sleep(1)
77
78 STEP(3, '检查添加信息')
79
80 # 找到 列表最上面的一栏
81 item = wd.find_elements(By.CLASS_NAME, 'search-result-item')[0]
82
83 fields = item.find_elements(By.TAG_NAME, 'span')[:6]
84
85 texts = [field.text for field in fields]
86 INFO(texts)
87
88 # 预期内容为
89 expected = [
90 '客户名:',
91 '南京中医院',
92 '联系电话:',
93 '2551867858',
94 '地址:',
95 '江苏省-南京市-秦淮区-汉中路-16栋504'
96 ]
97
98 CHECK_POINT('客户信息和添加内容一致 ',
99 texts == expected)