提交 e4737c3c authored 作者: 彭甘宇's avatar 彭甘宇

refactor(测试脚本):优化区域管理相关测试用例- 调整元素定位方式

- 优化测试步骤描述,增加细节
- 修复部分测试用例中的错误
- 删除未使用的代码片段
上级 3ebce33c
# import sys import sys
# import os import os
#
# from hytest.common import SELENIUM_LOG_SCREEN from hytest.common import SELENIUM_LOG_SCREEN
#
# sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..', '..'))) sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..', '..')))
# from 运维集控.项目测试.运维标准版.lib.base import * from 运维集控.项目测试.运维标准版.lib.base import *
#
# class AreagroupDel01: class AreagroupDel01:
# name = '删除分组-001-单个删除' name = '删除分组-001-单个删除'
# def teststeps(self): def teststeps(self):
# wd = GSTORE['wd'] wd = GSTORE['wd']
#
# STEP(1, '勾选分组') STEP(1, '勾选分组')
# areagroup_select = WebDriverWait(wd, 10).until( areagroup_select = WebDriverWait(wd, 10).until(
# EC.presence_of_element_located((By.XPATH, "(//span[@class='el-checkbox__inner'])[2]")) EC.presence_of_element_located((By.XPATH, "(//span[@class='el-checkbox__inner'])[2]"))
# ) )
# areagroup_select.click() areagroup_select.click()
# sleep(1) sleep(1)
#
# STEP(2, '点击“删除”按钮') STEP(2, '点击“删除”按钮')
# areagroup_modify = WebDriverWait(wd, 10).until( areagroup_modify = WebDriverWait(wd, 10).until(
# EC.element_to_be_clickable((By.XPATH, "//span[contains(text(),'删除')]")) EC.element_to_be_clickable((By.XPATH, "//span[contains(text(),'删除')]"))
# ) )
# areagroup_modify.click() areagroup_modify.click()
# sleep(1) sleep(1)
#
# STEP(3, '点击确认') STEP(3, '点击确认')
# commit = WebDriverWait(wd, 10).until( commit = WebDriverWait(wd, 10).until(
# EC.element_to_be_clickable((By.XPATH, "(//span[contains(text(),'确 定')])[3]")) EC.element_to_be_clickable((By.XPATH, "(//span[contains(text(),'确 定')])[3]"))
# ) )
# commit.click() commit.click()
#
# STEP(6, '验证是否修改成功') STEP(6, '验证是否修改成功')
# get_menu = WebDriverWait(wd, 10).until( get_menu = WebDriverWait(wd, 10).until(
# EC.visibility_of_element_located((By.CSS_SELECTOR, '.el-message__content')) EC.visibility_of_element_located((By.CSS_SELECTOR, '.el-message__content'))
# ) )
# get_menu1 = get_menu.text get_menu1 = get_menu.text
# CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!") CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
#
# # 截图并保存 # 截图并保存
# SELENIUM_LOG_SCREEN(wd, "50%") SELENIUM_LOG_SCREEN(wd, "50%")
# wd.refresh() wd.refresh()
#
# class AreagroupDel02: # class AreagroupDel02:
# name = '删除分组-002-多个删除' # name = '删除分组-002-多个删除'
# def teststeps(self): # def teststeps(self):
......
# import sys import sys
# import os import os
#
# from hytest.common import SELENIUM_LOG_SCREEN from hytest.common import SELENIUM_LOG_SCREEN
#
# sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..', '..'))) sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..', '..')))
# from 运维集控.项目测试.运维标准版.lib.base import * from 运维集控.项目测试.运维标准版.lib.base import *
#
# class areafuntionDel001: class areafuntionDel001:
# name = '删除区域功能-001-搜索删除单个功能' name = '删除区域功能-001-搜索删除单个功能'
# def teststeps(self): def teststeps(self):
# wd = GSTORE['wd'] wd = GSTORE['wd']
#
# STEP(1, '搜索对应的区域功能') STEP(1, '搜索对应的区域功能')
# areafuntion_search= WebDriverWait(wd, 10).until( areafuntion_search= WebDriverWait(wd, 10).until(
# EC.element_to_be_clickable( EC.element_to_be_clickable(
# (By.XPATH, "//input[@placeholder='请输入功能名称']")) (By.XPATH, "//input[@placeholder='请输入功能名称']"))
# ) )
# areafuntion_search.clear() areafuntion_search.clear()
# areafuntion_search.send_keys("修改-测试功能1") areafuntion_search.send_keys("修改-测试功能1")
#
# STEP(2, '勾选区域功能') STEP(2, '勾选区域功能')
# areafuntion_select = WebDriverWait(wd, 10).until( areafuntion_select = WebDriverWait(wd, 10).until(
# EC.element_to_be_clickable( EC.element_to_be_clickable(
# (By.XPATH, "(//span[@class='el-checkbox__inner'])[2]")) (By.XPATH, "(//span[@class='el-checkbox__inner'])[2]"))
# ) )
# areafuntion_select.click() areafuntion_select.click()
#
# STEP(3, '点击删除按钮') STEP(3, '点击删除按钮')
# areafuntion_mod = WebDriverWait(wd, 10).until( areafuntion_mod = WebDriverWait(wd, 10).until(
# EC.element_to_be_clickable( EC.element_to_be_clickable(
# (By.XPATH, "//span[contains(text(),'删除')]")) (By.XPATH, "//span[contains(text(),'删除')]"))
# ) )
# areafuntion_mod.click() areafuntion_mod.click()
# sleep(1) sleep(1)
#
# STEP(4, '点击确认') STEP(4, '点击确认')
# commit = WebDriverWait(wd, 10).until( commit = WebDriverWait(wd, 10).until(
# EC.element_to_be_clickable( EC.element_to_be_clickable(
# (By.XPATH, "(//span[contains(text(),'确 定')])[3]")) (By.XPATH, "(//span[contains(text(),'确 定')])[3]"))
# ) )
# commit.click() commit.click()
#
# STEP(5, '验证是否修改成功') STEP(5, '验证是否修改成功')
# get_menu = WebDriverWait(wd, 10).until( get_menu = WebDriverWait(wd, 10).until(
# EC.visibility_of_element_located( EC.visibility_of_element_located(
# (By.CSS_SELECTOR, '.el-message__content')) (By.CSS_SELECTOR, '.el-message__content'))
# ) )
# get_menu1 = get_menu.text get_menu1 = get_menu.text
# CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!") CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
#
# # 截图并保存 # 截图并保存
# SELENIUM_LOG_SCREEN(wd, "50%") SELENIUM_LOG_SCREEN(wd, "50%")
# sleep(1) sleep(1)
# wd.refresh() wd.refresh()
#
# class areafuntionDel002: # class areafuntionDel002:
# name = '删除区域功能-001-全选删除全部功能' # name = '删除区域功能-001-全选删除全部功能'
# def teststeps(self): # def teststeps(self):
......
...@@ -56,8 +56,7 @@ class AreafuntionAdd: ...@@ -56,8 +56,7 @@ class AreafuntionAdd:
#默认选择第一个区域类型 #默认选择第一个区域类型
areatype_select = WebDriverWait(wd, 10).until( areatype_select = WebDriverWait(wd, 10).until(
EC.presence_of_element_located( EC.presence_of_element_located(
( (By.XPATH, "//div[@x-placement='bottom-start']//ul[@class='el-scrollbar__view el-select-dropdown__list']"))
By.XPATH, "//div[@x-placement='bottom-start']//ul[@class='el-scrollbar__view el-select-dropdown__list']"))
) )
sleep(1) sleep(1)
areatype_select.click() areatype_select.click()
......
...@@ -11,21 +11,22 @@ class areafuntionMod01: ...@@ -11,21 +11,22 @@ class areafuntionMod01:
def teststeps(self): def teststeps(self):
wd = GSTORE['wd'] wd = GSTORE['wd']
STEP(1, '搜索对应的区域名称') STEP(1, '搜索对应的区域名称:测试区域0')
areaname_search= WebDriverWait(wd, 10).until( areaname_search= WebDriverWait(wd, 10).until(
EC.element_to_be_clickable( EC.element_to_be_clickable(
(By.XPATH, "//div[@class='company-search el-input el-input--suffix']//input[@placeholder='请输入区域名称']")) (By.XPATH, "//div[@class='company-search el-input el-input--suffix']//input[@placeholder='请输入区域名称']"))
) )
areaname_search.clear() areaname_search.clear()
areaname_search.send_keys("测试区域0") areaname_search.send_keys("测试区域0")
areaname_search.send_keys(Keys.RETURN)
STEP(2, '勾选区域') STEP(2, '点击勾选区域')
area_select = WebDriverWait(wd, 10).until( area_click= WebDriverWait(wd, 10).until(
EC.element_to_be_clickable( EC.presence_of_element_located(
(By.XPATH, "(//span[contains(@class,'el-checkbox__input')])[2]")) (By.XPATH, "//th[contains(@class,'is-leaf el-table__cell')]//span[contains(@class,'el-checkbox__inner')]"))
) )
area_select.click() sleep(1)
sleep(2) area_click.click()
STEP(3, '点击编辑按钮') STEP(3, '点击编辑按钮')
area_mod = WebDriverWait(wd, 10).until( area_mod = WebDriverWait(wd, 10).until(
...@@ -33,17 +34,11 @@ class areafuntionMod01: ...@@ -33,17 +34,11 @@ class areafuntionMod01:
(By.XPATH, "//span[contains(text(),'编辑')]")) (By.XPATH, "//span[contains(text(),'编辑')]"))
) )
area_mod.click() area_mod.click()
sleep(1)
STEP(4, '修改区域分组') STEP(4, '修改区域分组')
areagroup_clear = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//div[@class='dialog_input']//i[@class='el-select__caret el-input__icon el-icon-arrow-up']"))
)
areagroup_clear.click()
areagroup_input = WebDriverWait(wd, 10).until( areagroup_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located( EC.presence_of_element_located(
(By.XPATH, "//div[@class='dialog_input']//input[@placeholder='请选择分组']")) (By.XPATH, "//div[contains(@class,'dialog_input')]//input[contains(@placeholder,'请选择分组')]"))
) )
areagroup_input.clear() areagroup_input.clear()
areagroup_input.send_keys("广州分组1") areagroup_input.send_keys("广州分组1")
...@@ -87,11 +82,12 @@ class areafuntionMod02: ...@@ -87,11 +82,12 @@ class areafuntionMod02:
) )
areaname_search.clear() areaname_search.clear()
areaname_search.send_keys("测试区域0") areaname_search.send_keys("测试区域0")
areaname_search.send_keys(Keys.RETURN)
STEP(2, '勾选区域') STEP(2, '勾选区域')
area_select = WebDriverWait(wd, 10).until( area_select = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable( EC.element_to_be_clickable(
(By.XPATH, "(//span[contains(@class,'el-checkbox__inner')])[2]")) (By.XPATH, "//th[contains(@class,'is-leaf el-table__cell')]//span[contains(@class,'el-checkbox__inner')]"))
) )
area_select.click() area_select.click()
...@@ -108,13 +104,13 @@ class areafuntionMod02: ...@@ -108,13 +104,13 @@ class areafuntionMod02:
EC.presence_of_element_located( EC.presence_of_element_located(
(By.XPATH, "//div[@class='dialog_input']//input[@placeholder='请选择区域类型']")) (By.XPATH, "//div[@class='dialog_input']//input[@placeholder='请选择区域类型']"))
) )
areatype_input.clear() areatype_input.click()
areatype_input.send_keys("大会议室") areatype_input.send_keys("大会议室")
# 选择类型,并点击第一个 # 选择类型,并点击第一个
areatype_modify = WebDriverWait(wd, 10).until( areatype_modify = WebDriverWait(wd, 10).until(
EC.presence_of_element_located( EC.presence_of_element_located(
( (
By.XPATH, "//li[@class='el-select-dropdown__item hover']")) By.XPATH, "//div[@x-placement='bottom-start']//ul[@class='el-scrollbar__view el-select-dropdown__list']"))
) )
areatype_modify.click() areatype_modify.click()
...@@ -150,11 +146,12 @@ class areafuntionMod03: ...@@ -150,11 +146,12 @@ class areafuntionMod03:
) )
areaname_search.clear() areaname_search.clear()
areaname_search.send_keys("测试区域0") areaname_search.send_keys("测试区域0")
areaname_search.send_keys(Keys.RETURN)
STEP(2, '勾选区域') STEP(2, '勾选区域')
area_select = WebDriverWait(wd, 10).until( area_select = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable( EC.element_to_be_clickable(
(By.XPATH, "(//span[contains(@class,'el-checkbox__inner')])[2]")) (By.XPATH, "//th[contains(@class,'is-leaf el-table__cell')]//span[contains(@class,'el-checkbox__inner')]"))
) )
area_select.click() area_select.click()
......
...@@ -6,38 +6,39 @@ from hytest.common import SELENIUM_LOG_SCREEN ...@@ -6,38 +6,39 @@ from hytest.common import SELENIUM_LOG_SCREEN
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..', '..'))) sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..', '..')))
from 运维集控.项目测试.运维标准版.lib.base import * from 运维集控.项目测试.运维标准版.lib.base import *
class areafuntionDel001: class areaDel001:
name = '删除区域-001-搜索删除单个区域' name = '删除区域-001-搜索删除单个区域'
def teststeps(self): def teststeps(self):
wd = GSTORE['wd'] wd = GSTORE['wd']
STEP(1, '搜索对应的区域') STEP(1, '搜索对应的区域')
areafuntion_search= WebDriverWait(wd, 10).until( areaname_search= WebDriverWait(wd, 10).until(
EC.element_to_be_clickable( EC.element_to_be_clickable(
(By.XPATH, "//div[contains(@class,'company-search el-input el-input--suffix')]//input[contains(@placeholder,'请输入区域名称')]")) (By.XPATH, "//div[@class='company-search el-input el-input--suffix']//input[@placeholder='请输入区域名称']"))
) )
areafuntion_search.clear() areaname_search.clear()
areafuntion_search.send_keys("测试区域100") areaname_search.send_keys("测试区域100")
areaname_search.send_keys(Keys.ENTER)
STEP(2, '勾选区域') STEP(2, '勾选区域')
areafuntion_select = WebDriverWait(wd, 10).until( area_select = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable( EC.element_to_be_clickable(
(By.XPATH, "(//span[contains(@class,'el-checkbox__inner')])[2]")) (By.XPATH, "//th[contains(@class,'is-leaf el-table__cell')]//span[contains(@class,'el-checkbox__inner')]"))
) )
areafuntion_select.click() area_select.click()
STEP(3, '点击删除按钮') STEP(3, '点击删除按钮')
areafuntion_mod = WebDriverWait(wd, 10).until( area_mod = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable( EC.element_to_be_clickable(
(By.XPATH, "//span[contains(text(),'删除')]")) (By.XPATH, "//span[contains(text(),'删除')]"))
) )
areafuntion_mod.click() area_mod.click()
sleep(1) sleep(1)
STEP(4, '点击确认') STEP(4, '点击确认')
commit = WebDriverWait(wd, 10).until( commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable( EC.element_to_be_clickable(
(By.XPATH, "(//span[contains(text(),'确 定')])[3]")) (By.XPATH, "//button[@class='el-button el-button--default el-button--small el-button--primary ']//span[contains(text(),'确 定')]"))
) )
commit.click() commit.click()
...@@ -47,46 +48,7 @@ class areafuntionDel001: ...@@ -47,46 +48,7 @@ class areafuntionDel001:
(By.CSS_SELECTOR, '.el-message__content')) (By.CSS_SELECTOR, '.el-message__content'))
) )
get_menu1 = get_menu.text get_menu1 = get_menu.text
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!") print(get_menu1)
# 截图并保存
SELENIUM_LOG_SCREEN(wd, "50%")
sleep(1)
wd.refresh()
class areafuntionDel002:
name = '删除区域功能-002-批量删除'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '勾选全部区域功能')
areafuntion_select = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable(
(By.XPATH, "//th[contains(@class,'is-leaf el-table__cell')]//span[contains(@class,'el-checkbox__inner')]"))
)
areafuntion_select.click()
STEP(2, '点击删除按钮')
areafuntion_mod = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable(
(By.XPATH, "//span[contains(text(),'删除')]"))
)
areafuntion_mod.click()
sleep(1)
STEP(3, '点击确认')
commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable(
(By.XPATH, "(//span[contains(text(),'确 定')])[3]"))
)
commit.click()
STEP(4, '验证是否修改成功')
get_menu = WebDriverWait(wd, 10).until(
EC.visibility_of_element_located(
(By.CSS_SELECTOR, '.el-message__content'))
)
get_menu1 = get_menu.text
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!") CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
# 截图并保存 # 截图并保存
......
...@@ -5,9 +5,9 @@ from 运维集控.项目测试.运维标准版.lib.base import * ...@@ -5,9 +5,9 @@ from 运维集控.项目测试.运维标准版.lib.base import *
def suite_setup(): def suite_setup():
wd = GSTORE['wd'] wd = GSTORE['wd']
user_login("admin@pgy", "ub@123456", "csba") # user_login("admin@pgy", "ub@123456", "csba")
enter_system() # enter_system()
enter_manage() # enter_manage()
enter_area_manage() enter_area_manage()
# def suite_teardown(): # def suite_teardown():
......
...@@ -23,6 +23,7 @@ from selenium.webdriver.edge.options import Options ...@@ -23,6 +23,7 @@ from selenium.webdriver.edge.options import Options
from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support import expected_conditions as EC
from selenium.common import TimeoutException,ElementNotInteractableException from selenium.common import TimeoutException,ElementNotInteractableException
from selenium.webdriver.common.keys import Keys
from time import sleep from time import sleep
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
......
...@@ -68,10 +68,10 @@ start_workers(3) ...@@ -68,10 +68,10 @@ start_workers(3)
# 定义每天定时执行的任务 # 定义每天定时执行的任务
# 每天早上07:50执行后台系统设置功能测试 # 每天早上07:50执行后台系统设置功能测试
# schedule.every().day.at("07:50").do(run_task, run_automation_test, report_title="运维系统测试报告", report_url_prefix="http://nat.ubainsyun.com:31135", ding_type="标准版巡检") schedule.every().day.at("07:50").do(run_task, run_automation_test, report_title="运维系统测试报告", report_url_prefix="http://nat.ubainsyun.com:31135", ding_type="标准版巡检")
# 调试使用 # 调试使用
schedule.every().day.at("09:59").do(run_task, run_automation_test, report_title="运维系统脚本调试", report_url_prefix="http://nat.ubainsyun.com:31135", ding_type="标准版巡检") #schedule.every().day.at("09:59").do(run_task, run_automation_test, report_title="运维系统脚本调试", report_url_prefix="http://nat.ubainsyun.com:31135", ding_type="标准版巡检")
try: try:
# 无限循环,持续检查并执行计划任务 # 无限循环,持续检查并执行计划任务
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论