07-用例目录的初始化、清除

  • 如果一个用例目录下所有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()
  • 管理员操作.py
 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)
  • 管理员操作2.py
 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)

 

posted @ 2025-02-02 09:09  lzp123456  阅读(14)  评论(0)    收藏  举报