def test_create_next_dep_from_user_defined(self, user, sole_group_name): # 测试从用户自定义分组创建下一级分组 GroupTreePage(user[0]).create_peer_or_next_group( group_name=sole_group_name, parent_name=user[1], is_peer=False) result = AlertInfoPage(user[0]).get_alert_info() assert "创建下一级分组成功" == result
def test_create_next_dep_from_default(self, user, sole_group_name): # 测试从Default根分组创建下一级分组 GroupTreePage(user[0]).create_peer_or_next_group( group_name=sole_group_name, is_peer=False) result = AlertInfoPage(user[0]).get_alert_info() assert "创建下一级分组成功" == result
def click_nav_item(self, menu_text, sub_menu_text=None): """ 封装导航栏组件:传入的参数是一级还是二级导航 :param menu_text: 菜单文本<导航文本的唯一性> :param sub_menu_text: 子菜单文本 :return: """ # 当推送消息过多,系统会弹出消息提示,但是会挡住nav导航条,所以需要在定位元素之前进行判断和关闭 try: INFO_TEXT = (By.XPATH, '//div[@role="alert"]//p') # WebDriverWait(self.driver, 5).until(EC.visibility_of_element_located(INFO_TEXT)) WebDriverWait(self.driver, 20).until(EC.presence_of_element_located(INFO_TEXT)) except: # 此处设置日志的等级为debug,仅仅是为了自己能在控制台中查看,不算抛出异常 self.log.debug("-------------无消息弹框出现---------------") else: AlertInfoPage(self.driver).close_alert() if menu_text == "工具": MENU_TEXT = (By.XPATH, f'//div[text()="{menu_text}"]') SUB_MENU_TEXT = (By.XPATH, f'//li[text()="{sub_menu_text}"]') else: MENU_TEXT = (By.XPATH, f'//em[text()="{menu_text}"]') SUB_MENU_TEXT = (By.XPATH, f'//em[text()="{sub_menu_text}"]') if sub_menu_text is not None: # 通过移动到一级目录然后点击二级目录 BasePage(self.driver).mouse_move_ele(MENU_TEXT) BasePage(self.driver).mouse_move_ele_and_click( MENU_TEXT, SUB_MENU_TEXT) else: # 选择指定的一级目录 BasePage(self.driver).click_ele(MENU_TEXT)
def test_create_peer_map_from_user_defined(self, map_module, sole_group_name): # 测试从用户自定义分组创建同级分组 GroupTreePage(map_module[0]).create_peer_or_next_group( group_name=sole_group_name, parent_name=map_module[1]["map_group_name"]) result = AlertInfoPage(map_module[0]).get_alert_info() assert "创建同级分组成功" == result
def test_delete_peer_device_group_from_default(self, device): # 测试从Default分组删除同级设备分组 time.sleep(1) GroupTreePage(device[0]).delete_peer_or_next_group_by_name( module_val="device", parent_name=device[1]["device_group_name"]) result = AlertInfoPage(device[0]).get_alert_info() assert "删除分组成功" == result
def del_sub_dep_name_to_user(user, sole_group_name): yield # 删除用户自定义分组的下一级分组 if AlertInfoPage(user[0]).get_alert_info() == "创建下一级分组成功": GroupTreePage(user[0]).delete_peer_or_next_group_by_name( group_name=sole_group_name, parent_name=user[1], module_val="user", is_peer=False)
def test_create_peer_device_group_from_default(self, device): # 创建完地图的页面直接调整,页面尚未加载完毕 time.sleep(1) # 测试从Default分组创建同级设备分组 GroupTreePage(device[0]).create_peer_or_next_group( group_name=device[1]["device_group_name"]) result = AlertInfoPage(device[0]).get_alert_info() assert "创建同级分组成功" == result
def test_create_next_map_group_from_default(self, map_module, sole_group_name): # 测试从Default默认分组创建下一级地图分组 GroupTreePage(map_module[0]).create_peer_or_next_group( group_name=sole_group_name, parent_name="Default", is_peer=False) result = AlertInfoPage(map_module[0]).get_alert_info() # print(result) # print(MapPage(map_module[0]).map_group_is_exist_device()) """ 条件判断:如果Default分组下存在设备,则断言A,否则断言B,默认返回True,存在设备 """ if MapPage(map_module[0]).map_group_is_exist_device() is True: assert "地图上存在设备" == result else: assert "创建下一级分组成功" == result
def test_add_workday_negative_conflict(self, timezone, overlong_name): # 测试添加特殊工作日与页面现有的工作日时间冲突 TimezonePage(timezone[0]).create_workday("添加特殊工作日", overlong_name) # 断言 result = AlertInfoPage(timezone[0]).get_alert_info() assert "创建的特殊工作日与已有的特殊工作日有冲突,请检查后重新设置" == result
def test_create_peer_map_group_from_default(self, map_module): # 测试从Default分组创建同级地图分组 GroupTreePage(map_module[0]).create_peer_or_next_group( group_name=map_module[1]["map_group_name"]) result = AlertInfoPage(map_module[0]).get_alert_info() assert "创建同级分组成功" == result
def close_alert_info(login): # 关闭alert消息弹框 yield AlertInfoPage(login).close_alert()
def del_dep_name_to_user(user, sole_group_name): yield # 删除用户自定义分组的同级分组 if AlertInfoPage(user[0]).get_alert_info() == "创建同级分组成功": GroupTreePage(user[0]).delete_peer_or_next_group_by_name( parent_name=sole_group_name, module_val="user")
def test_add_holidays_negative_conflict(self, timezone, overlong_name): # 测试添加假期与页面现有的假期时间冲突 TimezonePage(timezone[0]).create_holidays("添加假期", overlong_name) # 断言 result = AlertInfoPage(timezone[0]).get_alert_info() assert "创建的假期与已有的假期有冲突,请检查后重新设置" == result
def test_add_same_name_to_timezone(self, timezone): # 测试添加同名的时间条件 TimezonePage(timezone[0]).add_timezone(timezone[1]["timezone"]) # 断言 result = AlertInfoPage(timezone[0]).get_alert_info() assert "资源被占用或不存在" == result
def test_create_peer_dep_from_default(self, user): # 测试从Default根分组创建同级分组 GroupTreePage(user[0]).create_peer_or_next_group(group_name=user[1]) result = AlertInfoPage(user[0]).get_alert_info() assert "创建同级分组成功" == result
def test_negative_score_detection(login): """ 测试上传大于16M的图片 - 系统支持上传小于16M的图片 """ MenuBarPage(login).click_nav_item("工具", "质量分数检测") ToolPage(login).check_img_size(r"{}/tool_data/img_score_detection/size_greater_16M.jpg".format(SharePath.DATA_FOLDER)) result = AlertInfoPage(login).get_alert_info() assert "上传图片大小不能超过 16MB!" in result
def test_delete_peer_dep_from_default(self, user): GroupTreePage(user[0]).delete_peer_or_next_group_by_name( parent_name=user[1], module_val="user") result = AlertInfoPage(user[0]).get_alert_info() assert "删除分组成功" == result
def test_delete_peer_map_group_from_default(self, map_module): # 测试从Default分组删除同级地图分组 GroupTreePage(map_module[0]).delete_peer_or_next_group_by_name( module_val="map", parent_name=map_module[1]["map_group_name"]) result = AlertInfoPage(map_module[0]).get_alert_info() assert "删除分组成功!" == result
def test_add_timezone_and_beyond(self, timezone, overlong_name): # 测试添加事件条件的超出指定字符长度 TimezonePage(timezone[0]).add_timezone(overlong_name) # 断言 result = AlertInfoPage(timezone[0]).get_alert_info() assert "请输入最多40个字符的时间条件名称" == result