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

调整admin_login函数为传参形式。补充展厅巡检流程,预定SMC视讯会议,并进行安卓信息截屏。后续补充会控操作功能流程进行调试。

上级 63e02110
......@@ -71,13 +71,16 @@ def browser_init():
# 创建WebDriver实例
wd = webdriver.Chrome(service=service, options=options)
# 设置隐式等待时间为10秒,以允许元素加载
wd.implicitly_wait(10)
wd.implicitly_wait(60)
# 定义目标登录页面的URL
login_url = 'https://192.168.5.218/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
login_test_url = 'https://192.168.5.218/#/login/logindf'
login_ngrok_url = "https://nat.ubainsyun.com:11046"
# 展厅巡检环境
login_exhibit_url = 'http://nat.ubainsyun.com:11060/#/login/logindf'
# 请求WebDriver打开登录页面
wd.get(login_url)
wd.get(login_exhibit_url)
# 最大化浏览器窗口
wd.maximize_window()
......@@ -89,7 +92,7 @@ def browser_init():
# 捕获并记录初始化过程中的任何异常
logging.error(f"浏览器初始化失败:{e}")
def admin_login():
def admin_login(username, password):
"""
管理员登录函数。
该函数通过模拟用户输入用户名、密码和验证码,并点击登录按钮,以实现管理员登录。
......@@ -98,14 +101,14 @@ def admin_login():
wd = GSTORE['wd']
# 打印用户名输入信息
INFO("输入用户名:admin@ZDH")
INFO(f"输入用户名:{username}")
# 向用户名输入框发送用户名
safe_send_keys((By.XPATH, "//input[@placeholder='请输入账号或手机号或邮箱号']"), 'admin@ZDH', wd)
safe_send_keys((By.XPATH, "//input[@placeholder='请输入账号或手机号或邮箱号']"), f'{username}', wd)
# 打印密码输入信息
INFO("输入密码:Ubains@4321")
INFO(f"输入密码:{password}")
# 向密码输入框发送密码
safe_send_keys((By.XPATH, "//input[@placeholder='请输入密码']"), "Ubains@4321", wd)
safe_send_keys((By.XPATH, "//input[@placeholder='请输入密码']"), f"{password}", wd)
# 打印验证码输入信息
INFO("输入验证码:csba")
......
......@@ -83,4 +83,7 @@
- 调整预定系统后台管理模块的执行顺序,将所有预定后台管理模块整合到一个执行指令中,优化各个模块之间的逻辑处理。调整各个模块的__st__.py的浏览器初始化调用。
- 调整截屏函数的图片存放路径,并且将服务80端口映射出来,实现公网访问测试报告文件。增加ngrok程序,后续调整自动执行ngrok映射。
24. 2024-11-30
- 调试定时任务执行后测试报告中的用例执行异常,问题是由一个调用方法写错导致,已调整解决。
\ No newline at end of file
- 调试定时任务执行后测试报告中的用例执行异常,问题是由一个调用方法写错导致,已调整解决。
25. 2024-12-09
- 调整admin_login函数为传参形式。
- 补充展厅巡检流程,预定SMC视讯会议,并进行安卓信息截屏。后续补充会控操作功能流程进行调试。
\ No newline at end of file
......@@ -15,4 +15,4 @@ def suite_setup():
browser_init()
wd = GSTORE['wd']
admin_login()
\ No newline at end of file
admin_login("admin@ZDH", "Ubains@4321")
\ No newline at end of file
......@@ -21,7 +21,7 @@ def suite_setup():
browser_init()
wd = GSTORE['wd']
admin_login()
admin_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开会议室管理下拉菜单")
......
......@@ -21,7 +21,7 @@ def suite_setup():
browser_init()
wd = GSTORE['wd']
admin_login()
admin_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开会议室管理下拉菜单")
......
......@@ -20,7 +20,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
browser_init()
wd = GSTORE['wd']
admin_login()
admin_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开会议室管理下拉菜单")
......
......@@ -69,7 +69,6 @@ class Exhibition_hall_inspection_000x:
# 获取搜索出的会议室名称
notify_text = elment_get_text((By.XPATH, "//span[@class='MeetingCityList_name']"),wd)
INFO(f"搜索结果为:{notify_text}")
CHECK_POINT("搜索结果是否正确", conference_name in notify_text)
# 点击【会议预定】按钮,进入会议预定界面
STEP(2, "点击【会议预定】按钮")
......@@ -79,7 +78,6 @@ class Exhibition_hall_inspection_000x:
# 获取页面标题
notify_text = elment_get_text((By.XPATH, "//div[@class='reserve_Title']"),wd)
INFO(f"页面标题为:{notify_text}")
CHECK_POINT("页面标题是否正确", "会议预定" in notify_text)
sleep(1)
# 在会议预定第一步界面进行数据填入
......@@ -145,7 +143,6 @@ class Exhibition_hall_inspection_000x:
INFO(f"时间差大于最大预约时长1小时,选择【超出预约时长】")
notify_text = get_notify_text(wd, (By.XPATH, "//p[contains(@class,'el-message__content')]"), "Message_Manage", "Message_Book", f"{name}_超出预约时长")
INFO(f"提示信息为:{notify_text}")
CHECK_POINT("超出预约时长提示是否正确", "最大预定时间 1 小时" in notify_text)
sleep(2)
# 不选时间点击【下一步】查看提示信息
......@@ -154,7 +151,6 @@ class Exhibition_hall_inspection_000x:
sleep(1)
notify_text = get_notify_text(wd, (By.XPATH, "//p[contains(@class,'el-message__content')]"), "Message_Manage", "Message_Book", f"{name}请选择会议时间提示信息")
INFO(f"提示信息为:{notify_text}")
CHECK_POINT("未选时间提示是否正确", "请选择会议时间" in notify_text)
sleep(1)
# 重新选择时间,将字符串转换为时间对象
......@@ -185,7 +181,6 @@ class Exhibition_hall_inspection_000x:
# 获取已选的参会人名称
notify_text = elment_get_text((By.XPATH, f"//span[normalize-space()='{inside_participant_name}']"),wd)
INFO(f"已选择参会人:{notify_text}")
CHECK_POINT("内部参会人选择是否正确", inside_participant_name in notify_text)
INFO(f"输入外部参会人名称:{outside_participant_name},外部参会人号码:{outside_participant_phone}")
# 点击【添加外部参会人】按钮
......@@ -194,7 +189,6 @@ class Exhibition_hall_inspection_000x:
INFO("检查弹窗标题是否正确")
notify_text = elment_get_text((By.XPATH, "//span[contains(@class,'el-dialog__title')][contains(text(),'添加外部参会人员')]"),wd)
INFO(f"弹窗标题为:{notify_text}")
CHECK_POINT("弹窗标题是否正确", "添加外部参会人员" in notify_text)
#输入外部参会人名称、外部参会人号码
safe_send_keys((By.XPATH,"//div[contains(@class,'add_input')]//input[contains(@placeholder,'用户名')]"),outside_participant_name,wd)
......@@ -207,7 +201,6 @@ class Exhibition_hall_inspection_000x:
# 检查提示信息是否正确
notify_text = get_notify_text(wd,(By.XPATH,"//p[contains(@class,'el-message__content')]"),"Message_Manage","Message_Book",f"{name}_添加外部参会人提示信息")
INFO(f"提示信息为:{notify_text}")
CHECK_POINT("提示信息是否正确", "添加成功" in notify_text)
# 点击【下一步】按钮
safe_click((By.XPATH,"//div[contains(text(),'下一步')]"),wd)
......@@ -219,7 +212,6 @@ class Exhibition_hall_inspection_000x:
# 获取页面标题
notify_text = elment_get_text((By.XPATH,"//h2[contains(text(),'消息提醒')]"),wd)
INFO(f"页面标题为:{notify_text}")
CHECK_POINT("页面标题是否正确", "消息提醒" in notify_text)
# 判断是否需要存入模板
INFO(f"是否需要存入模板:{save_template}")
......@@ -265,10 +257,6 @@ class Exhibition_hall_inspection_000x:
sleep(1)
INFO(
f"检查会议名称:{message_name},输入会议内容:{message_content}")
# 获取会议名称与会议内容
message_name_text = elment_get_text((By.XPATH,f"//div[contains(text(),'{message_name}')]"),wd)
message_content_text = elment_get_text((By.XPATH,f"//div[contains(text(),'{message_content}')]"),wd)
CHECK_POINT("提示信息是否正确", message_name_text in message_name and message_content_text in message_content)
# 点击最后【确定】按钮,预定成功后会跳转至已预定界面
STEP(8, "点击【确定】按钮")
......@@ -277,20 +265,44 @@ class Exhibition_hall_inspection_000x:
# 查看是否显示加载中
notify_text = elment_get_text((By.XPATH,"//p[@class='el-loading-text']"),wd)
CHECK_POINT("是否显示加载中", "提交数据中" in notify_text)
sleep(1)
# 获取提示信息
notify_text = get_notify_text(wd,(By.XPATH,"//p[contains(@class,'el-message__content')]"),"Message_Manage","Message_Book",f"{name}_预定成功提示信息")
INFO(f"预定成功提示信息为:{notify_text}")
CHECK_POINT("预定成功提示是否正确", notify_text == check_text)
sleep(10)
# 进行切换至会议室列表界面
STEP(9, "跳转至会议室列表界面")
# 点击会议室列表导航栏
safe_click((By.XPATH,"//span[contains(text(),'会议室列表')]"),wd)
# 在已预定列表界面【提前开始】会议
INFO("提前开始会议")
safe_click((By.XPATH,"(//span[contains(text(),'更多操作')])[1]"),wd)
safe_click((By.XPATH,"(//li[contains(@class,'el-dropdown-menu__item')][contains(text(),'会议状态')])[2]"),wd)
sleep(2)
safe_click((By.XPATH,"(//span[contains(text(),'确定')])[12]"),wd)
sleep(5)
STEP(9, "检查门口屏会议显示")
# 进入后台-安卓信息界面截屏查看门口屏显示
safe_click((By.XPATH,"(//img[contains(@title,'后台系统')])[1]"),wd)
sleep(1)
safe_click((By.XPATH,"(//span[contains(text(),'设备管理')])[1]"),wd)
safe_click((By.XPATH,"(//li[contains(text(),'安卓信息')])[1]"),wd)
sleep(2)
safe_click((By.XPATH,"(//span[contains(text(),'应用截屏')])[1]"),wd)
sleep(5)
# 截屏查看门口屏的显示
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Android", "截屏")
STEP(10, "检查会控界面功能")
# 返回前台已预定列表界面
safe_click((By.XPATH,"(//img[@title='返回预定首页'])[1]"),wd)
sleep(1)
INFO("检查界面标题是否为:会议室列表")
# 获取会议室列表界面的标题信息
notify_text = elment_get_text((By.XPATH,"//div[@class='header']//span[contains(text(),'会议室列表')]"),wd)
CHECK_POINT("界面标题是否正确", "会议室列表" in notify_text)
\ No newline at end of file
safe_click((By.XPATH,"(//span[contains(text(),'已预订会议')])[1]"),wd)
sleep(1)
# 点击【进入会控】
INFO("进入会控")
safe_click((By.XPATH,"(//span[contains(text(),'进入会控')])[1]"),wd)
sleep(5)
# 切换窗口2,转到会控界面
wd.switch_to.window(wd.window_handles[1])
\ No newline at end of file
......@@ -15,4 +15,4 @@ def suite_setup():
browser_init()
wd = GSTORE['wd']
admin_login()
\ No newline at end of file
admin_login("admin@huazhao", "huazhao@1234")
\ No newline at end of file
......@@ -16,7 +16,7 @@ def suite_setup():
browser_init()
wd = GSTORE['wd']
admin_login()
admin_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开系统管理下拉菜单")
......
......@@ -140,7 +140,7 @@ class Main_User_Manage_000x:
wd.get(login_url)
# 最大化浏览器窗口
wd.maximize_window()
admin_login()
admin_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开账号管理下拉菜单")
......
......@@ -120,7 +120,7 @@ class User_Chanage_Pwd_000x:
wd.get(login_url)
# 最大化浏览器窗口
wd.maximize_window()
admin_login()
admin_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开账号管理下拉菜单")
......
......@@ -112,7 +112,7 @@ class Add_User_000x:
wd.get(login_url)
# 最大化浏览器窗口
wd.maximize_window()
admin_login()
admin_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开账号管理下拉菜单")
......
......@@ -110,7 +110,7 @@ class Query_User_000x:
wd.get(login_url)
# 最大化浏览器窗口
wd.maximize_window()
admin_login()
admin_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开账号管理下拉菜单")
......
......@@ -108,7 +108,7 @@ class User_Status_000x:
CHECK_POINT('校验登录提示信息', notify_text == '用户被停用')
STEP(7, '重新登录管理员账号,回到用户管理界面')
admin_login()
admin_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开账号管理下拉菜单")
safe_click((By.XPATH, "//span[@class='aside_menu menu_account']"), wd)
......@@ -136,7 +136,7 @@ class User_Status_000x:
wd.get(login_url)
# 最大化浏览器窗口
wd.maximize_window()
admin_login()
admin_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
wd.refresh()
......
......@@ -19,7 +19,7 @@ def suite_setup():
browser_init()
wd = GSTORE['wd']
admin_login()
admin_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开账号管理下拉菜单")
......
......@@ -13,7 +13,7 @@ def suite_setup():
browser_init()
wd = GSTORE['wd']
admin_login()
admin_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开账号管理下拉菜单")
......
name,conference_name,message_name,message_type,book_type,repetitive_cycle,host_name,message_content,issue_name,book_start_time,book_end_time,inside_participant_name,outside_participant_name,outside_participant_phone,save_template,template_name,message_notification,notification_method,check_text
展厅巡检_001,产研中心会议室,展厅巡检测试,SMC3.0,周期会议,每天,陈泽键,这是会议内容哈哈,议题1,19:00,20:15,admin@CZJ,陈泽坚,17319004674,否,这是模板,开会前一天提醒,短信,预定成功
\ No newline at end of file
展厅巡检_001,产研中心会议室,展厅巡检测试,SMC3.0,普通会议,每天,陈泽键,这是会议内容哈哈,议题1,20:15,20:30,admin@CZJ,陈泽坚,17319004674,否,这是模板,开会前一天提醒,短信,预定成功
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论