import sys import os # 获取当前脚本的绝对路径 current_dir = os.path.dirname(os.path.abspath(__file__)) # 构建预定系统的绝对路径 预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..','..','..')) # 添加路径 sys.path.append(预定系统_path) # 导入模块 from 预定系统.Base.base import * class Unified_Platform_0001: tags = ['展厅巡检','统一平台系统巡检'] def teststeps(self): wd = GSTORE['wd'] safe_click((By.XPATH, "//p[contains(text(),'新建会议')]"),wd) sleep(2) # 切换窗口2,转到创建会议界面 print(f"这是当前窗口句柄{wd.window_handles}") wd.switch_to.window(wd.window_handles[1]) print(f"这是跳转后的窗口句柄{wd.window_handles}") # 选择融合视讯会议 INFO("选择融合视讯会议") # 勾选视讯会议默认选择smc会议 safe_click((By.XPATH, "//span[contains(text(),'视讯会议')]"),wd) sleep(1) # 选择腾讯会议 safe_click((By.XPATH, "//div[@aria-label='checkbox-group']//label[@class='el-checkbox']//span[@class='el-checkbox__inner']"),wd) # 选择会议室与参会人 INFO("选择多会议室与参会人") safe_send_keys((By.XPATH, "//input[@placeholder='请输入会议室名称']"), '展厅', wd) send_keyboard((By.XPATH, "//input[@placeholder='请输入会议室名称']"), wd) sleep(5) safe_click((By.CSS_SELECTOR, "body > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(4) > div:nth-child(1) > table:nth-child(1) > thead:nth-child(2) > tr:nth-child(1) > th:nth-child(1) > div:nth-child(1) > label:nth-child(1) > span:nth-child(1) > span:nth-child(1)"),wd) # 选择参会人分配对应会议室 safe_click((By.XPATH, "//div[contains(@class,'meeting_room')]//div[2]//div[2]//img[2]"),wd) sleep(1) safe_send_keys((By.XPATH, "//input[contains(@placeholder,'请输入关键字搜索')]"), '管理员', wd) safe_click((By.XPATH, "//body[1]/div[1]/div[2]/div[1]/div[2]/div[2]/div[2]/div[1]/div[1]/div[4]/div[1]/table[1]/thead[1]/tr[1]/th[1]/div[1]/label[1]/span[1]/span[1]"),wd) sleep(2) safe_click((By.XPATH, "//span[contains(text(),'完成')]"),wd) sleep(2) # 创建会议,并查看详情 safe_click((By.XPATH, "//span[contains(text(),'确定创建')]"),wd) sleep(8) safe_click((By.XPATH, "//span[contains(text(),'查看详情')]"), wd) # 切换窗口2,转到会议详情界面 # print(f"这是当前窗口句柄{wd.window_handles}") # wd.switch_to.window(wd.window_handles[1]) # print(f"这是跳转后的窗口句柄{wd.window_handles}") sleep(10) INFO("请查看会议详情是否正确包含:多会议室、会议号、会议名称、会议时间") SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Unified_Platform", "创建会议详情") # 进入会控界面 safe_click((By.XPATH, "//span[contains(text(),'进入会控')]"),wd) sleep(10) # 切换窗口2,转到会控界面 # wd.switch_to.window(wd.window_handles[1]) # 进行多画面设置 safe_click((By.XPATH, "//div[@class='frames framesActive el-popover__reference']//span[contains(text(),'一画面')]"),wd) sleep(5) safe_click((By.XPATH,"(//img[@class='img'])[705]"),wd) sleep(4) wd.refresh() sleep(2) # 将左侧会场拖拽到右侧画面进行播放 INFO("将左侧会场拖拽到右侧画面进行播放") single_click_and_drag((By.CSS_SELECTOR, "body > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(2) > div:nth-child(4) > div:nth-child(1) > span:nth-child(2)"), (By.CSS_SELECTOR, "body > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1)") , wd) sleep(4) single_click_and_drag((By.CSS_SELECTOR, "body > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(2) > div:nth-child(5) > div:nth-child(1) > span:nth-child(2)"), (By.CSS_SELECTOR, "body > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2)") , wd) sleep(4) single_click_and_drag((By.CSS_SELECTOR, "body > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > span:nth-child(2)"), (By.CSS_SELECTOR,"body > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(3)") , wd) sleep(4) SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Unified_Platform", "多画面设置") # 会控界面-设备控制 INFO("关闭展厅会议室终端的摄像头") safe_click((By.XPATH, "(//img[@title='关闭摄像头'])[2]"),wd) sleep(1) safe_click((By.XPATH, "//span[contains(text(),'确定')]"),wd) sleep(2) INFO("开启展厅指挥中心终端的麦克风") safe_click((By.XPATH, "(//img[@title='取消静音'])[1]"),wd) sleep(2) SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Unified_Platform", "终端设备控制") SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Unified_Platform", "终端入会画面") # 创建多SMC会议,提示MCU资源不足 print(f"这是当前窗口句柄{wd.window_handles}") wd.switch_to.window(wd.window_handles[0]) print(f"这是跳转后的窗口句柄{wd.window_handles}") safe_click((By.XPATH, "//p[contains(text(),'新建会议')]"),wd) sleep(2) # 切换窗口至新建会议的窗口 print(f"这是当前窗口句柄{wd.window_handles}") wd.switch_to.window(wd.window_handles[2]) print(f"这是跳转后的窗口句柄{wd.window_handles}") # 选择会议室 safe_click((By.XPATH, "//div[@class='meeting_area']//div[@class='el-table__fixed-header-wrapper']//div[1]//label[1]//span[1]//span[1]"),wd) # 选择smc会议 safe_click((By.XPATH, "//span[contains(text(),'视讯会议')]"),wd) sleep(1) sleep(2) safe_click((By.XPATH, "//span[contains(text(),'确定创建')]"),wd) sleep(10) safe_click((By.XPATH, "//span[contains(text(),'查看详情')]"),wd) sleep(5) # print(f"这是当前窗口句柄{wd.window_handles}") # wd.switch_to.window(wd.window_handles[2]) # print(f"这是跳转后的窗口句柄{wd.window_handles}") sleep(5) # 获取会议详情截图信息 INFO("请查看会议详情是否提示:”MCU资源不足“") SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Unified_Platform", "创建多SMC会议提示MCU资源不足")