04-公共代码放入库中

  • 用例代码:登录测试.py
 1 from time import sleep
 2 from lib.webui import *
 3 
 4 
 5 class UI_0101:
 6     name = '检查操作菜单 UI_0101'
 7 
 8     def teststeps(self):
 9         STEP(1, '登录网站')
10         open_browser()
11         mgr_login()
12 
13         STEP(2, '获取左边菜单栏')
14         wd = GSTORE['wd']
15         eles = wd.find_elements(By.CSS_SELECTOR, '.sidebar-menu span')
16         menuText = [ele.text for ele in eles]
17         INFO(menuText)
18         STEP(3, '检查左边菜单栏')
19         CHECK_POINT('检查菜单是否正确', ['客户', '药品', '订单'] == menuText[:3])
20         wd.quit()
21 
22 
23 class UI_0102:
24     name = '添加客户 UI_0102'
25 
26     def teststeps(self):
27         STEP(1, '登录网站')
28         open_browser()
29         mgr_login()
30 
31         STEP(2, '点击左侧客户菜单')
32         wd = GSTORE['wd']
33         # 先找到上层节点,缩小查找范围
34         sidebarMenu = wd.find_element(By.CLASS_NAME, 'sidebar-menu')
35 
36         # 再找到内部元素
37         elements = sidebarMenu.find_elements(By.TAG_NAME, 'span')
38 
39         # 第一个span对应的菜单是 客户,点击它
40         elements[0].click()
41 
42         STEP(3, '添加客户')
43 
44         # 点击添加客户按钮
45         wd.find_element(By.CLASS_NAME, 'glyphicon-plus').click()
46 
47         # form-contorl 对应3个输入框
48         inputs = wd.find_elements(By.CSS_SELECTOR, '.add-one-area .form-control')
49 
50         # 输入客户姓名
51         inputs[0].send_keys('南京中医院')
52         # 输入联系电话
53         inputs[1].send_keys('2551867858')
54         # 输入客户描述
55         inputs[2].send_keys('江苏省-南京市-秦淮区-汉中路-16栋504')
56 
57         # 第1个 btn-xs 就是创建按钮, 点击创建按钮
58         wd.find_element(By.CSS_SELECTOR, '.add-one-area .btn-xs').click()
59 
60         # 等待1秒
61         sleep(1)
62 
63         STEP(4, '检查添加信息')
64 
65         # 找到 列表最上面的一栏
66         item = wd.find_elements(By.CLASS_NAME, 'search-result-item')[0]
67 
68         fields = item.find_elements(By.TAG_NAME, 'span')[:6]
69 
70         texts = [field.text for field in fields]
71         INFO(texts)
72 
73         # 预期内容为
74         expected = [
75             '客户名:',
76             '南京中医院',
77             '联系电话:',
78             '2551867858',
79             '地址:',
80             '江苏省-南京市-秦淮区-汉中路-16栋504'
81         ]
82 
83         CHECK_POINT('客户信息和添加内容一致 ',
84                     texts == expected)
85 
86         wd.quit()
  • 冗余代码提取到了lib下面的webui.py文件中
 1 from selenium import webdriver
 2 from hytest import *
 3 from selenium.webdriver.common.by import By
 4 
 5 
 6 def open_browser():
 7     INFO('打开浏览器')
 8     options = webdriver.ChromeOptions()
 9     options.add_experimental_option('excludeSwitches', ['enable-logging'])
10 
11     wd = webdriver.Chrome(options=options)
12     wd.implicitly_wait(10)
13 
14     GSTORE['wd'] = wd
15 
16 
17 def mgr_login():
18     wd = GSTORE['wd']
19 
20     wd.get('http://127.0.0.1/mgr/sign.html')
21 
22     wd.find_element(By.ID, 'username').send_keys('byhy')
23     wd.find_element(By.ID, 'password').send_keys('88888888')
24 
25     wd.find_element(By.TAG_NAME, 'button').click()

 

posted @ 2025-02-01 22:58  lzp123456  阅读(16)  评论(0)    收藏  举报