提交 d3b90527 authored 作者: 陈泽健's avatar 陈泽健

输出会议室管理模块中的会议室新增代码,待后续完善。

上级 55cc78d2
......@@ -50,4 +50,5 @@
14. 2024-11-14
- 输出功能管理模块中的功能查询、功能删除相关代码。
- 输出区域管理模块中的区域新增、区域删除相关代码。
- 调整base类中封装的get_notify_text函数,调整传参类型,优化代码的可维护性,减少代码冗余。
\ No newline at end of file
- 调整base类中封装的get_notify_text函数,调整传参类型,优化代码的可维护性,减少代码冗余。
- 输出会议室管理模块中的会议室新增代码,待后续完善。
\ No newline at end of file
import sys
import os
from time import sleep
# 获取当前脚本的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建预定系统的绝对路径
预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..','..'))
# 添加路径
sys.path.append(预定系统_path)
# 导入模块
try:
from 预定系统.Base.base import *
except ModuleNotFoundError as e:
print(f"ModuleNotFoundError: {e}")
print("尝试使用绝对路径导入")
from 预定系统.Base.base import *
def suite_setup():
wd = GSTORE['wd']
admin_login()
enter_the_backend()
INFO("打开会议室管理下拉菜单")
safe_click((By.XPATH, "//div[@class='el-submenu__title']//span[contains(text(),'会议室管理')]"), wd)
sleep(1)
INFO("进入功能管理模块")
safe_click((By.XPATH, "//li[contains(text(),'会议室管理')]"), wd)
sleep(1)
\ No newline at end of file
from time import sleep
from hytest import *
# 获取当前脚本的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建预定系统的绝对路径
预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..','..','..'))
# 添加路径
sys.path.append(预定系统_path)
# 导入模块
try:
from 预定系统.Base.base import *
except ModuleNotFoundError as e:
print(f"ModuleNotFoundError: {e}")
print("尝试使用绝对路径导入")
from 预定系统.Base.base import *
# 获取当前脚本所在的目录
current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建CSV文件的绝对路径
csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/会议室管理模块/会议室新增.csv')
class Conference_Add_000x:
ddt_cases = read_csv_data(csv_file_path)
def teststeps(self):
"""
执行测试步骤以会议室新增功能。
本函数根据参数输入会议室名称、,并检查新增后的提示信息是否与预期相符。
"""
# 初始化通知文本为空字符串
notify_text = ""
# 从全局存储中获取webdriver实例
wd = GSTORE['wd']
# 从self.para中解构出用户名、密码、验证码和检查文本
name = self.name
conference_name, conference_token, conference_function, conference_capacity, check_text, back_check_text = self.para
if back_check_text == "添加成功":
STEP(1, "点击【新增】按钮")
safe_click((By.XPATH, "//span[contains(text(),'添 加')]"), wd)
sleep(1)
notify_text = elment_get_text((By.XPATH, "//span[contains(text(),'新增会议室')]"), wd)
INFO(f"检查新增会议室弹窗标题是否为:{notify_text}")
STEP(2, f"输入会议室名称:{conference_name}")
safe_send_keys((By.XPATH,"//input[@placeholder='输入会议室名称']"),conference_name,wd)
sleep(1)
STEP(3, f"绑定会议室授权码:{conference_token}")
safe_click((By.XPATH,"(//input[@placeholder='请选择'])[1]"),wd)
safe_click((By.XPATH,f"//span[normalize-space()='{conference_token}']"),wd)
sleep(1)
STEP(4, f"选择会议室功能:{conference_function}")
safe_click((By.XPATH,"(//span[contains(text(),'设置(0)')])[1]"),wd)
sleep(1)
notify_text = elment_get_text((By.XPATH,"//span[contains(text(),'会议室功能')]"),wd)
INFO(f"检查会议室功能设置弹窗标题是否为:{notify_text}")
CHECK_POINT("检查是否弹出功能设置弹窗",notify_text == "会议室功能")
STEP(5, f"搜索会议室功能:{conference_function}")
safe_send_keys((By.XPATH,"(//input[@placeholder='输入关键字'])[1]"),conference_function,wd)
send_keyboard((By.XPATH,"(//input[@placeholder='输入关键字'])[1]"),wd)
sleep(1)
notify_text = elment_get_text((By.XPATH,f"//span[contains(text(),'{conference_function}')]"),wd)
INFO(f"检查是否搜索到功能:{notify_text}")
CHECK_POINT("检查是否搜索到功能",notify_text == conference_function)
STEP(6, "勾选功能进行绑定")
safe_click((By.XPATH,f"//span[contains(text(),'{conference_function}')]"),wd)
safe_click((By.XPATH,"//i[@class='el-icon-arrow-right']"),wd)
sleep(1)
STEP(7, f"查看功能选择结果")
notify_text = elment_get_text((By.XPATH,"(//p[contains(text(),'无匹配数据')])[1]"),wd)
INFO(f"检查左侧列表是否清空:{notify_text}")
CHECK_POINT("检查左侧列表是否清空",notify_text == "无匹配数据")
notify_text = elment_get_text((By.XPATH,f"//span[contains(text(),'{conference_function}')]"),wd)
INFO(f"检查右侧列表是否绑定功能:{notify_text}")
CHECK_POINT("检查右侧列表是否绑定功能",notify_text == conference_function)
STEP(8, "会议室功能界面点击【确定】按钮")
safe_click((By.XPATH,"//div[@aria-label='会议室功能']//span[contains(text(),'确定')]"),wd)
STEP(9, f"输入会议室容纳人数:{conference_capacity}")
safe_send_keys((By.XPATH,"//input[@placeholder='2']"),conference_capacity,wd)
STEP(10, "会议室新增界面点击【保存】按钮")
safe_click((By.XPATH,"//span[contains(text(),'保 存')]"),wd)
sleep(2)
if conference_name == "":
STEP(11, f"检查新增结果是否为:{check_text}")
notify_text = get_notify_text(wd, (By.XPATH, "//p[@class='el-message__content']"), "Conference_Manage","Conference_Add", f"{name}_查看提示信息")
INFO(f"检查新增结果为:{notify_text}")
CHECK_POINT("检查新增结果", notify_text == check_text)
STEP(12, "点击【重置】按钮")
safe_click((By.XPATH,"//span[contains(text(),'重置')]"),wd)
sleep(1)
notify_text = elment_get_text((By.XPATH,"//p[contains(text(),'确定重置?')]"),wd)
INFO(f"检查重置弹窗标题是否为:{notify_text}")
CHECK_POINT("检查重置弹窗标题", notify_text == "确定重置?")
STEP(13, "点击【确定】按钮")
safe_click((By.XPATH,"(//span[contains(text(),'确定')])[12]"),wd)
sleep(1)
else:
STEP(11, f"检查新增结果是否为:{check_text}")
notify_text = get_notify_text(wd, (By.XPATH, "//p[@class='el-message__content']"), "Conference_Manage",
"Conference_Add", f"{name}_查看提示信息")
INFO(f"检查新增结果为:{notify_text}")
CHECK_POINT("检查新增结果", notify_text == check_text)
STEP(12, f"在会议室列表查询:{conference_name}")
safe_send_keys((By.XPATH, "//input[@placeholder='输入关键字']"), conference_name, wd)
send_keyboard((By.XPATH, "//input[@placeholder='输入关键字']"), wd)
sleep(1)
STEP(13, f"检查会议室新增后的数据回显")
sleep(1)
conference_name_text = elment_get_text((By.XPATH, "//tbody/tr[1]/td[2]/div[1]"),
wd)
conference_function_text = elment_get_text(
(By.XPATH, f"//div[normalize-space()='{conference_function}']"), wd)
conference_capacity_text = elment_get_text(
(By.XPATH, f"//div[normalize-space()='{conference_capacity}']"), wd)
INFO(f"检查新增会议室名称为:{conference_name_text}")
CHECK_POINT("检查新增会议室名称", conference_name_text == conference_name)
INFO(f"检查新增会议室功能为:{conference_function_text}")
CHECK_POINT("检查新增会议室功能", conference_function_text == conference_function)
INFO(f"检查新增会议室容纳人数为:{conference_capacity_text}")
CHECK_POINT("检查新增会议室容纳人数", conference_capacity_text == conference_capacity)
\ No newline at end of file
from time import sleep
from hytest import *
# 获取当前脚本的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建预定系统的绝对路径
预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..','..','..'))
# 添加路径
sys.path.append(预定系统_path)
# 导入模块
try:
from 预定系统.Base.base import *
except ModuleNotFoundError as e:
print(f"ModuleNotFoundError: {e}")
print("尝试使用绝对路径导入")
from 预定系统.Base.base import *
# 获取当前脚本所在的目录
current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建CSV文件的绝对路径
csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/区域管理模块/区域编辑.csv')
class Area_Edit_000x:
"""
执行指令:
1.cd 预定系统
2.hytest --test 区域编辑_00*
"""
ddt_cases = read_csv_data(csv_file_path)
def teststeps(self):
"""
执行测试步骤以区域新增功能。
本函数根据点击区域右侧【编辑】按钮,输入区域名称,并检查新增后的提示信息是否与预期相符。
"""
# 初始化通知文本为空字符串
notify_text = ""
# 从全局存储中获取webdriver实例
wd = GSTORE['wd']
# 从self.para中解构出区域名称和检查文本
name = self.name
area_name, new_area_name, check_text = self.para
if name == "区域编辑_001":
# 步骤1:点击父级【添加】按钮
STEP(1, f"点击父级【添加】按钮")
safe_click((By.XPATH, "//span[contains(text(),'添 加')]"), wd)
sleep(2)
# 获取并检查父级区域新增提示信息
notify_text = get_notify_text(wd, (By.XPATH, "//p[@class='el-message__content']"), "Area_Manage",
"Area_Edit",
f"{name}_检查父级区域新增提示信息")
INFO(f"获取到父级区域新增提示文本:{notify_text}")
CHECK_POINT("新增提示文本是否与预期相符", notify_text == "添加成功")
# 步骤2:检查区域新增的默认名称
STEP(2, f"检查区域新增的默认名称")
sleep(1)
notify_text = elment_get_text((By.XPATH, f"//span[contains(text(),'{area_name}')]"), wd)
INFO(f"获取到新增区域的名称:{notify_text}")
CHECK_POINT("新增区域的默认名称是否与预期相符", area_name in notify_text)
STEP(3,"选择区域点击【重命名】按钮")
safe_click((By.XPATH, "//button[@type='button']//span[contains(text(),'重命名')]"), wd)
sleep(1)
notify_text = elment_get_text((By.XPATH, "//span[@class='el-dialog__title'][contains(text(),'重命名')]"),wd)
INFO(f"获取到重命名弹窗标题:{notify_text}")
CHECK_POINT("重命名弹窗标题是否与预期相符", notify_text == "重命名")
STEP(4,f"输入区域名称{new_area_name}")
INFO(f"输入区域名称:{new_area_name}")
safe_send_keys((By.XPATH, "//input[@placeholder='请输入区域名称']"),new_area_name,wd)
safe_click((By.XPATH, "(//span[contains(text(),'确定')])[4]"), wd)
sleep(2)
STEP(5,f"检查编辑后的区域名称")
notify_text = get_notify_text(wd, (By.XPATH, "//p[@class='el-message__content']"), "Area_Manage", "Area_Edit",
f"{name}_检查编辑提示信息")
INFO(f"获取到编辑提示信息:{notify_text}")
CHECK_POINT("编辑提示信息是否与预期相符", notify_text == check_text )
\ No newline at end of file
此差异已折叠。
此差异已折叠。
......@@ -6,6 +6,13 @@
== cases\__st__.py
== cases\会议室管理\会议室管理\__st__.py
== cases\会议室管理\会议室管理\会议室新增.py
CSV文件已读取
== cases\会议室管理\功能管理\__st__.py
......@@ -46,6 +53,14 @@ CSV文件已读取
CSV文件已读取
** no cases in this file , skip it.
== cases\会议室管理\区域管理\区域编辑.py
CSV文件已读取
** no cases in this file , skip it.
== cases\测试\test.py
......@@ -155,11 +170,11 @@ CSV文件已读取
=== [ 执行测试用例 ] ===
预备执行用例数量 : 1
预备执行用例数量 : 5
========= 测试开始 : 20241114_114656 =========
========= 测试开始 : 20241114_160917 =========
......@@ -177,94 +192,93 @@ CSV文件已读取
'----------' SSL证书警告处理完成 '----------'
>>> cases\会议室管理\区域管理\
>>> cases\会议室管理\会议室管理\
[ suite setup ] cases\会议室管理\区域管理\
[ suite setup ] cases\会议室管理\会议室管理\
输入用户名:admin@ZDH
输入密码:Ubains@4321
输入验证码:csba
点击登录按钮
进入后台
打开会议室管理下拉菜单
进入区域管理模块
进入功能管理模块
>>> cases\会议室管理\区域管理\区域新增.py
>>> cases\会议室管理\会议室管理\会议室新增.py
* 区域新增_001 - 2024-11-14 11:47:02
* 会议室新增_001 - 2024-11-14 16:09:24
[ case execution steps ]
-- 第 1 步 -- 点击父级【添加】按钮
-- 第 1 步 -- 点击【新增】按钮
picture imgs/Area_Manage/Area_Add/区域新增_001_检查父级区域新增提示信息20241114114704647417.png
获取到父级区域新增提示文本:添加成功
检查新增会议室弹窗标题是否为: 新增会议室
** 检查点 ** 新增提示文本是否与预期相符 ----> 通过
-- 第 2 步 -- 输入会议室名称:
-- 第 2 步 -- 检查区域新增的默认名称
-- 第 3 步 -- 绑定会议室授权码:CCA-2CT-0096
获取到新增区域的名称: 默认区域名称
** 检查点 ** 新增区域的默认名称是否与预期相符 ----> 通过
-- 第 4 步 -- 选择会议室功能:Test01
检查会议室功能设置弹窗标题是否为:会议室功能
-- 第 3 步 -- 点击子级【添加】按钮
** 检查点 ** 检查是否弹出功能设置弹窗 ----> 通过
picture imgs/Area_Manage/Area_Add/区域新增_001_检查子级区域新增提示信息20241114114707837635.png
获取到子级区域新增提示文本:添加成功
** 检查点 ** 新增提示文本是否与预期相符 ----> 通过
-- 第 5 步 -- 搜索会议室功能:Test01
检查是否搜索到功能:Test01
-- 第 4 步 -- 检查子级区域新增的默认名称
** 检查点 ** 检查是否搜索到功能 ----> 通过
获取到新增区域的名称: 默认区域名称
** 检查点 ** 新增区域的默认名称是否与预期相符 ----> 通过
-- 第 6 步 -- 勾选功能进行绑定
-- 第 4 步 -- 点击子级【添加】按钮
-- 第 7 步 -- 查看功能选择结果
picture imgs/Area_Manage/Area_Add/区域新增_001_检查子级区域新增提示信息20241114114710000159.png
获取到子级区域新增提示文本:添加成功
检查左侧列表是否清空:无匹配数据
** 检查点 ** 新增提示文本是否与预期相符 ----> 通过
** 检查点 ** 检查左侧列表是否清空 ----> 通过
检查右侧列表是否绑定功能:Test01
-- 第 5 步 -- 检查子级区域新增的默认名称
** 检查点 ** 检查右侧列表是否绑定功能 ----> 通过
获取到新增区域的名称: 默认区域名称
** 检查点 ** 新增区域的默认名称是否与预期相符 ----> 通过
-- 第 8 步 -- 会议室功能界面点击【确定】按钮
PASS
[ suite teardown ] cases\
清除浏览器
-- 第 9 步 -- 输入会议室容纳人数:10
-- 第 10 步 -- 会议室新增界面点击【保存】按钮
========= 测试结束 : 20241114_114712 =========
-- 第 11 步 -- 检查新增结果是否为:输入会议室名称
耗时 : 16.055 秒
picture imgs/Conference_Manage/Conference_Add/会议室新增_001_查看提示信息20241114160933741365.png
检查新增结果为:输入会议室名称
** 检查点 ** 检查新增结果 ----> 通过
预备执行用例数量 : 1
实际执行用例数量 : 1
-- 第 12 步 -- 点击【重置】按钮
通过 : 1
检查重置弹窗标题是否为:确定重置?
失败 : 0
** 检查点 ** 检查重置弹窗标题 ----> 通过
异常 : 0
套件初始化失败 : 0
-- 第 13 步 -- 点击【确定】按钮
套件清除 失败 : 0
PASS
* 会议室新增_002 - 2024-11-14 16:09:36
[ case execution steps ]
用例初始化失败 : 0
-- 第 1 步 -- 点击【新增】按钮
用例清除 失败 : 0
name,conference_name,conference_token,conference_function,conference_capacity,check_text,back_check_text
会议室新增_001,,CCA-2CT-0096,Test01,10,输入会议室名称,添加成功
会议室新增_002,会议室名称,CCA-2CT-0097,Test02,20,添加成功,输入会议室名称
会议室新增_003,会议室名称####,CCA-2CT-0098,Test03,30,添加成功,添加成功
会议室新增_004,会议室名称1234,CCA-2CT-0099,Test04,40,添加成功,添加成功
会议室新增_005,会议室名称abcd,CCA-2CT-0100,Test05,50,添加成功,添加成功
\ No newline at end of file
name,area_name,new_area_name,check_text
区域编辑_001,默认区域名称,123,修改成功
区域编辑_002,123,###,修改成功
区域编辑_003,###,默认区域名称默认区域名称默认区域名称默认区域名称,修改成功
区域编辑_004,默认区域名称默认区域名称默认区域名称默认区域名称,默认区域名称12,修改成功
区域编辑_005,默认区域名称12,默认区域###,修改成功
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论