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