def test_role_batch_power(self): """[角色管理]--给多个角色批量授权""" platform_api.open_page(self, 2, "角色管理") # 新建两个角色 self.add_role("角色测试6", "测试批量授权多个角色") self.sleep(1) self.add_role("角色测试7", "测试批量授权多个角色") self.sleep(1) # 给新建的两个角色授权 self.click("xpath=>//span[contains(.,'角色测试6')]") self.click("xpath=>//span[contains(.,'角色测试7')]") self.click("#tab-ctrl-two .ivu-tabs-tab:nth-child(3) > span:nth-child(1)") self.sleep(3) self.click(".ivu-tabs-tabpane:nth-child(2) .ivu-tree-children:nth-child(1) .ivu-checkbox-input") self.click(".ivu-tabs-tabpane:nth-child(2) .ivu-tree:nth-child(1) > .ivu-tree-children:nth-child(2) .ivu-checkbox-input") self.click(".ml5") self.sleep(1) # 验证批量授权是否成功 text = self.get_text(".ivu-message .ivu-message-success >span") self.assertEqual(text, "授权成功!") # 清除测试数据 self.sleep(1) self.click("xpath=>//span[contains(.,'角色测试6')]") self.del_role("角色测试6") self.del_role("角色测试7")
def del_account(self, ac_name): """删除一个账号""" num_1 = len(self.get_elements("#tr_Root_undefined")) for i in range(1, num_1 + 1): account_name = self.get_text( f"xpath=>(//tr[@id='tr_Root_undefined']/td[2]/div/span)[{i}]") if ac_name == account_name: self.click( f"#tr_Root_undefined:nth-child({i}) .ivu-checkbox-input") break self.click(".ml0:nth-child(2) > span") self.sleep(2) self.click( ".act-container > div:nth-child(3) .ivu-btn:nth-child(1) > span") # 对偶现的删除失败进行处理 if "删除成功!" != self.get_text(".ivu-message span"): self.F5() platform_api.open_page(self, 2, "账号管理") num_2 = len(self.get_elements("#tr_Root_undefined")) for i in range(1, num_2 + 1): account_name = self.get_text( f"xpath=>(//tr[@id='tr_Root_undefined']/td[2]/div/span)[{i}]" ) if ac_name == account_name: self.click( f"#tr_Root_undefined:nth-child({i}) .ivu-checkbox-input" ) break self.click(".ml0:nth-child(2) > span") self.sleep(2) self.click( ".act-container > div:nth-child(3) .ivu-btn:nth-child(1) > span" ) self.sleep(1)
def test_query_reset(self): """[高级参数]--重置参数查询条件""" platform_api.open_page(self, 1, "参数配置", "高级参数") # 输入参数编码 self.clear(".ivu-col:nth-child(1) .ivu-input") self.type(".ivu-col:nth-child(1) .ivu-input", "fileSizeLimit") # 输入参数名称 self.clear(".ivu-col:nth-child(2) .ivu-input") self.type(".ivu-col:nth-child(2) .ivu-input", "单个文件限制大小") # 选择子站 self.click("xpath=>//i[2]") self.sleep(2) self.click("xpath=>//li[contains(.,'质检系统')]") # 选择状态 self.click(".ivu-col:nth-child(2) .icon:nth-child(4)") self.sleep(1) self.click(".ivu-select-visible .ivu-select-item:nth-child(2)") # 点击[重置]按钮 self.click(".mg16") # 验证是否重置成功 self.sleep(1) self.assertEqual( self.get_attribute(".ivu-col:nth-child(2) .ivu-input", "value"), "") self.assertEqual( self.get_attribute(".ivu-col:nth-child(1) .ivu-input", "value"), "") self.assertEqual( self.get_text(".ivu-col:nth-child(1) .ivu-select-selection"), "请选择") self.assertEqual( self.get_text(".ivu-col:nth-child(2) .ivu-select-selection"), "生效")
def test_update_classify(self): """[标准代码]--修改一个分类""" platform_api.open_page(self, 1, "标准代码") # 先新增一个分类 self.add_classify("测试修改分类", "110002") # 修改分类 self.sleep(2) self.click("xpath=>//span[contains(.,'测试修改分类')]") self.click(".cur .write-btn > .icon") self.clear("xpath=>(//input[@type='text'])[3]") self.type("xpath=>(//input[@type='text'])[3]", "测试分类改") self.click("#menu > div:nth-child(4) .ivu-btn-primary > span") # 验证修改分类是否成功 self.sleep(2) elements = self.get_elements("xpath=>//div[@id='sites']/div") text = [] for i in range(1, len(elements) + 1): text.append(self.get_text(f"xpath=>//div[@id='sites']/div[{i}]/div/span")) self.assertIn("测试分类改", text) # 清除测试数据 self.sleep(2) self.del_classify("测试分类改")
def test_add_child_organization(self): """[组织管理]--新增一个子组织""" platform_api.open_page(self, 2, "组织管理") # 先新增一个组织 self.add_organization("测试建子组织", "120004") # 新增一个子组织 self.sleep(1) self.click("xpath=>//span[contains(.,'测试建子组织')]") self.add_organization("子组织", "121001") # 验证新增子组织是否成功 self.sleep(1) text = [] num = len( self.get_elements( "xpath=>//tr[not(@parenttr='Root') and (@class='ut-table-tree-leaf')]" )) for i in range(1, num + 1): org_name = self.get_text( f"xpath=>(//tr[not(@parenttr='Root') and (@class='ut-table-tree-leaf')]/td/div/span[3])[{i}]" ) text.append(org_name) self.assertIn("子组织", text) # 清除测试数据 self.sleep(1) self.click("xpath=>//span[3]") self.click(".mr10:nth-child(3) > span") self.sleep(1) self.click(".tenant-model:nth-child(5) .ivu-btn-primary > span") self.sleep(1) self.del_organization("测试建子组织")
def test_update_menu(self): """[菜单管理]--修改一级菜单""" platform_api.open_page(self, 1, "菜单管理") # 先新增一个菜单 self.add_menu("测试菜单改") # 修改新增的菜单 self.sleep(2) self.click("xpath=>//span[contains(.,'测试菜单改')]") self.click(".ivu-btn:nth-child(6)") self.sleep(1) self.clear("xpath=>(//input[@type='text'])[10]") self.type("xpath=>(//input[@type='text'])[10]", "测试菜单A") self.click(".menuMgt-model:nth-child(5) .ivu-btn:nth-child(1) > span") # 验证菜单是否修改成功 self.sleep(2) elements = self.get_elements("xpath=>//tr[@parenttr='Root']") menus = [] for i in range(1, len(elements) + 1): menus.append( self.get_text( f"xpath=>(//tr[@parenttr='Root'])[{i}]/td/div/span[2]")) self.assertIn("测试菜单A", menus) # 清除测试数据,并刷新 self.sleep(2) self.del_menu("测试菜单A")
def test_add_kv(self): """[标准代码]--新增一个键值""" platform_api.open_page(self, 1, "标准代码") # 先新增一个分类 self.add_classify("测试新增键值", "110007") # 新增一个代码 self.sleep(2) self.click("xpath=>//span[contains(.,'测试新增键值')]") self.add_standard_code("测试代码1", "kv_001") # 新增一个键值 self.sleep(2) self.add_kv("测试键值", "test_kv1") # 验证新增键值是否成功 self.sleep(2) text = [] num = len(self.get_elements("#tr_Root_undefined")) for i in range(1, num + 1): code_name = self.get_text(f"xpath=>(//tr[@id='tr_Root_undefined']/td[2]/div/span)[{i}]") text.append(code_name) self.assertIn("测试键值", text) # 清除测试数据 self.sleep(2) self.del_standard_code("测试代码1") self.del_classify("测试新增键值")
def test_update_organization(self): """[组织管理]--修改一个组织""" platform_api.open_page(self, 2, "组织管理") # 先新增一个组织 self.add_organization("测试修改组织", "120013") # 修改组织 self.sleep(2) self.click("xpath=>//span[contains(.,'测试修改组织')]") self.click(".mr10:nth-child(5)") self.sleep(2) self.clear("xpath=>(//input[@type='text'])[6]") self.type("xpath=>(//input[@type='text'])[6]", "测试组织改") self.click(".dpt-model:nth-child(4) .ivu-btn-primary > span") # 验证修改组织是否成功 self.sleep(2) text = [] num = len(self.get_elements("xpath=>//tr[@parenttr='Root']")) for i in range(1, num + 1): org_name = self.get_text( f"xpath=>(//tr[@parenttr='Root']/td/div/span[2])[{i}]") text.append(org_name) self.assertIn("测试组织改", text) # 清除测试数据 self.sleep(2) self.del_organization("测试组织改")
def test_role_revoke_power(self): """[角色管理]--取消一个角色的权限""" platform_api.open_page(self, 2, "角色管理") # 先新建一个角色,并绑定权限 self.add_role("角色测试5", "测试取消角色权限") self.sleep(1) # 给角色绑定权限 self.click("xpath=>//span[contains(.,'角色测试5')]") self.click(".ivu-tabs-tab:nth-child(5)") self.sleep(3) # 给角色绑定 系统管理 权限 self.click(".ivu-tree-children:nth-child(1) .ivu-checkbox-input") self.click(".ivu-tabs-tabpane:nth-child(4) .ut-toolbar span") self.sleep(1) # 取消角色绑定的权限 self.click(".ivu-tabs-tab:nth-child(4)") self.sleep(3) self.click(".ivu-tree-children:nth-child(1) .ivu-checkbox-input") self.click(".ivu-tabs-tabpane:nth-child(3) .ut-toolbar span") self.sleep(1) # 验证取消角色权限是否成功 text = self.get_text(".ivu-message .ivu-message-success >span") self.assertEqual(text, "操作成功!") # 清除测试数据 self.sleep(1) self.click("xpath=>//span[contains(.,'角色测试5')]") self.del_role("角色测试5")
def test_update_index(self): """[系统管理]--[更新索引],修改一个索引""" platform_api.open_page(self, 1, "更新索引") # 切换frame self.switch_to_frame(0) # 先新增一个索引 index_sum = self.add_index() # 修改索引 self.sleep(1) self.click( f"tbody:nth-child(1) > tr:nth-child({index_sum}) > td:nth-child(1)" ) self.click("#updateBtn") self.select("#updateIndex", "1") self.sleep(1) self.click("xpath=>//div[4]/div[3]/div/button/span") # 验证索引是否修改成功 self.sleep(2) text = self.get_text( f"tbody:nth-child(1) > tr:nth-child({index_sum}) > td:nth-child(4)" ) self.assertEqual("录音索引", text) # 清除测试数据 self.del_index(index_sum)
def test_open_data_power(self): """[组织管理]--验证数据权限弹窗回显信息""" platform_api.open_page(self, 2, "组织管理") # 先新增一个组织 self.add_organization("测试组织1", "120006") # 打开数据权限弹窗 self.click("xpath=>//span[contains(.,'测试组织1')]") self.click(".ivu-btn:nth-child(7) > span") self.sleep(2) # 验证 数据范围下拉选择框中的数据是否正确 site_menus = platform_api.get_site_menus() self.assertIsNotNone(site_menus) # 验证一下接口是否获取到数据 for i in range(1, len(site_menus)+1): self.click("xpath=>//i[2]") site = self.get_text(f".ivu-select-visible .ivu-select-item:nth-child({i})") self.assertTrue(site in site_menus) self.sleep(1) self.click(f".ivu-select-visible .ivu-select-item:nth-child({i})") site_pages = site_menus[site] for j in range(1, len(site_pages)+1): self.sleep(0.1) page = self.get_text(f".ivu-checkbox-wrapper:nth-child({j}) .tool-content") self.assertIn(page, site_pages) # 清除测试数据 self.click(".dp-modal .ivu-btn:nth-child(2) > span") self.click(".mr10:nth-child(3) > span") self.sleep(1) self.click(".tenant-model:nth-child(5) .ivu-btn-primary > span") self.sleep(1)
def test_batch_update_account(self): """[账号管理]--批量修改账号属性""" platform_api.open_page(self, 2, "账号管理") # 新建两个测试账号 self.add_account("账号测试6", "test6") self.sleep(2) self.add_account("账号测试7", "test7") # 选中这两个新建的账号进行修改 self.sleep(2) self.click("xpath=>//span[contains(.,'账号测试组织')]") self.click("thead .ivu-checkbox-input") self.click(".ml0:nth-child(4) > span") self.click("td > .ivu-checkbox-wrapper .ivu-checkbox-input") self.click(".batch-update .ivu-btn-primary > span") # 验证批量修改是否成功 text = self.get_text(".el-message > p") self.assertEqual(text, "批量修改成功!") # 清除测试账号 self.sleep(1) self.clear(".act-head .ivu-input") self.type(".act-head .ivu-input", "账号测试6") self.click(".act-head .ivu-icon") self.del_account("账号测试6") self.clear(".act-head .ivu-input") self.type(".act-head .ivu-input", "账号测试7") self.click(".act-head .ivu-icon") self.del_account("账号测试7")
def test_run_index(self): """[系统管理]--[更新索引],运行一个索引""" platform_api.open_page(self, 1, "更新索引") # 切换frame self.switch_to_frame(0) # 先新增一个索引 index_sum = self.add_index() # 运行索引 self.sleep(1) self.click( f"tbody:nth-child(1) > tr:nth-child({index_sum}) > td:nth-child(1)" ) self.click("#runBtn") # 验证运行索引是否成功 self.sleep(1) text = self.get_text("#message-basic-modal-content1 > div") self.assertEqual("更新成功", text) self.click("xpath=>//div[3]/div/button/span") # 清除测试数据 self.del_index(index_sum)
def test_view_organization(self): """[组织管理]--查看一个组织信息""" platform_api.open_page(self, 2, "组织管理") # 先新增一个组织 self.add_organization("测试查看组织", "120005") # 查看,并验证新增组织信息是否正确 self.sleep(1) self.click("xpath=>//span[contains(.,'测试查看组织')]") self.click(".mr10:nth-child(2)") self.sleep(2) org_name = self.get_attribute("xpath=>(//input[@type='text'])[2]", "value") org_code = self.get_attribute("xpath=>(//input[@type='text'])[3]", "value") self.assertEqual("测试查看组织", org_name) self.assertEqual("120005", org_code) self.sleep(1) self.click(".dpt-model:nth-child(2) span") # 清除测试数据 self.sleep(1) self.click("xpath=>//span[contains(.,'测试查看组织')]") self.del_organization("测试查看组织")
def test_down_kv(self): """[标准代码]--下移键值""" platform_api.open_page(self, 1, "标准代码") # 先新增一个分类 self.add_classify("测试下移键值", "110010") # 新增一个代码 self.sleep(2) self.click("xpath=>//span[contains(.,'测试下移键值')]") self.add_standard_code("测试代码4", "kv_004") # 新增两个键值 self.sleep(2) self.add_kv("下移键值1", "down_kv1") self.sleep(2) self.add_kv("下移键值2", "down_kv2") # 下移键值1 self.sleep(2) num = len(self.get_elements("#tr_Root_undefined")) for i in range(1, num + 1): code_name = self.get_text(f"xpath=>(//tr[@id='tr_Root_undefined']/td[2]/div/span)[{i}]") if "下移键值1" == code_name: self.click(f"xpath=>(//tr[@id='tr_Root_undefined'])[{i}]") self.click(".ml6:nth-child(3) > span") break # 验证上移键值是否成功 text = self.get_text(".ivu-message .ivu-message-success >span") self.assertEqual(text, "移动成功") # 清除测试数据 self.sleep(1) self.del_standard_code("测试代码4") self.del_classify("测试下移键值")
def test_del_kv(self): """[标准代码]--删除一个键值""" platform_api.open_page(self, 1, "标准代码") # 先新增一个分类 self.add_classify("测试删除键值", "110008") # 新增一个代码 self.sleep(2) self.click("xpath=>//span[contains(.,'测试删除键值')]") self.add_standard_code("测试代码2", "kv_002") # 新增一个键值 self.sleep(2) self.add_kv("删除键值", "del_kv1") # 删除新增的键值 self.sleep(2) self.click("xpath=>//tr/td[3]/div/div/a") self.click(".ut-grid-top > div:nth-child(3) .ivu-btn:nth-child(1) > span") # 验证键值是否删除成功 self.sleep(2) text = [] num = len(self.get_elements("#tr_Root_undefined")) for i in range(1, num + 1): code_name = self.get_text(f"xpath=>(//tr[@id='tr_Root_undefined']/td[2]/div/span)[{i}]") text.append(code_name) self.assertNotIn("删除键值", text) # 清除测试数据 self.sleep(1) self.del_standard_code("测试代码2") self.del_classify("测试删除键值")
def test_open_advanced_configure(self): """[高级参数]--验证高级参数页面回显信息""" platform_api.open_page(self, 1, "参数配置", "高级参数") # 验证[参数编码]输入框是否存在 self.assertTrue( self.element_is_exist(".ivu-col:nth-child(1) .ivu-input")) # 验证[参数名称]输入框是否存在 self.assertTrue( self.element_is_exist(".ivu-col:nth-child(2) .ivu-input")) # 验证[所属子站]标签是否存在 self.assertTrue( self.element_is_exist( ".ivu-col:nth-child(1) .ivu-select-placeholder")) # 验证[状态]标签是否存在 self.assertTrue( self.element_is_exist( ".ivu-col:nth-child(2) .ivu-select-selected-value")) # 验证[查询]按钮是否存在 self.assertTrue( self.element_is_exist(".ivu-form-item-content > .mg10")) # 验证[重置]按钮是否存在 self.assertTrue(self.element_is_exist(".mg16")) # 验证[新增]按钮是否存在 self.assertTrue(self.element_is_exist(".look > .ivu-btn-primary")) # 验证[修改]按钮是否存在 self.assertTrue(self.element_is_exist(".mg10:nth-child(2)"))
def test_update_role(self): """[角色管理]--修改一个角色""" platform_api.open_page(self, 2, "角色管理") # 先新建一个角色 self.add_role("角色测试3", "测试修改一个角色") self.sleep(1) # 修改角色 self.click("xpath=>//span[contains(.,'角色测试3')]") self.click(".role_btn > .write-btn > .icon") self.clear("xpath=>(//input[@type='text'])[2]") self.type("xpath=>(//input[@type='text'])[2]", "角色测试3改") self.click("div:nth-child(4) .ivu-btn-primary") # 验证修改角色是否成功 self.sleep(2) elements = self.get_elements(".roleList > .roleBox") roles = [] for i in range(1, len(elements) + 1): role = self.get_text(f".roleList > .roleBox:nth-child({i}) > .role-div") roles.append(role) self.assertIn("角色测试3改", roles) # 清除测试数据 self.del_role("角色测试3改")
def test_update_configure(self): """[高级参数]--修改参数("测试参数")""" platform_api.open_page(self, 1, "参数配置", "高级参数") # 先查询出 “测试参数” self.click(".ivu-col:nth-child(2) .icon:nth-child(4)") self.sleep(1) self.click(".ivu-select-visible .ivu-select-item:nth-child(2)") self.click(".ivu-form-item-content > .mg10") # 修改 “测试参数” para_name = "测试参数" + random.choice("ABCDEFGHIJKLMN") para_value = "110" + str(random.randint(100, 999)) self.click("xpath=>//tr[@id='tr_Root_undefined']/td/div") self.click(".mg10:nth-child(2)") self.clear("xpath=>(//input[@type='text'])[6]") self.type("xpath=>(//input[@type='text'])[6]", para_name) self.clear("xpath=>(//input[@type='text'])[8]") self.type("xpath=>(//input[@type='text'])[8]", para_value) self.click("div:nth-child(5) .ivu-btn-primary > span") # 验证参数是否修改成功 self.sleep(2) para = self.get_text("xpath=>//tr[@id='tr_Root_undefined']/td/div") self.assertEqual(para, para_name)
def test_update_attribute(self): """[人员管理]--[自定义属性],修改一个属性的内容""" platform_api.open_page(self, 2, "自定义属性") # 先添加一个属性 self.add_attribute("属性2") # 修改属性 self.sleep(1) self.click("xpath=>//span[contains(.,'属性2')]") self.click(".ivu-btn:nth-child(5) > span") self.clear(".menuMgt-model:nth-child(4) .ivu-input:nth-child(2)") self.type(".menuMgt-model:nth-child(4) .ivu-input:nth-child(2)", "属性2改") self.click(".menuMgt-model:nth-child(4) .ivu-btn-primary > span") # 验证属性修改是否成功 self.sleep(2) num = len( self.get_elements("xpath=>//tbody[@class='ivu-table-tbody']/tr")) attrs = [] for i in range(1, num + 1): attr = self.get_text(f"xpath=>//tr[{i}]/td/div/span[2]") attrs.append(attr) self.assertIn("属性2改", attrs) # 清除测试数据 self.del_attribute("属性2改")
def test_update_organization_cache(self): """[组织管理]--更新组织缓存""" platform_api.open_page(self, 2, "组织管理") # 更新组织缓存 self.click(".mr10:nth-child(4) > span") self.sleep(1) self.click(".tenant-model:nth-child(6) .ivu-btn-primary > span") # 验证更新缓存是否成功 text = self.get_text(".ivu-message .ivu-message-success >span") self.assertEqual(text, "组织缓存刷新成功!")
def test_reset_password(self): """[账号管理]--重置账户密码""" platform_api.open_page(self, 2, "账号管理") # 新建一个测试账号 self.add_account("账号测试2", "test2") # 重置新建账号的密码 self.sleep(2) self.click("xpath=>//span[contains(.,'账号测试组织')]") num_1 = len(self.get_elements("#tr_Root_undefined")) for i in range(1, num_1 + 1): account_name = self.get_text( f"xpath=>(//tr[@id='tr_Root_undefined']/td[2]/div/span)[{i}]") if "账号测试2" == account_name: self.click( f"#tr_Root_undefined:nth-child({i}) .ivu-checkbox-input") break self.click(".mr10 > span") self.sleep(1) self.click("div:nth-child(4) .ivu-btn-primary > span") # 验证密码重置是否成功 text = self.get_text(".ivu-message span") self.assertEqual(text, "重置密码成功!") # 清除测试账号 self.sleep(1) self.click(".ml0:nth-child(2) > span") self.sleep(2) self.click( ".act-container > div:nth-child(3) .ivu-btn:nth-child(1) > span") # 对偶现的删除失败进行处理 if "删除成功!" != self.get_text(".ivu-message span"): self.F5() platform_api.open_page(self, 2, "账号管理") num_2 = len(self.get_elements("#tr_Root_undefined")) for i in range(1, num_2 + 1): account_name = self.get_text( f"xpath=>(//tr[@id='tr_Root_undefined']/td[2]/div/span)[{i}]" ) if "账号测试1" == account_name: self.click( f"#tr_Root_undefined:nth-child({i}) .ivu-checkbox-input" ) break self.click(".ml0:nth-child(2) > span") self.sleep(2) self.click( ".act-container > div:nth-child(3) .ivu-btn:nth-child(1) > span" ) self.sleep(1)
def test_query_by_paraname(self): """[高级参数]--根据参数名称查询参数""" platform_api.open_page(self, 1, "参数配置", "高级参数") # 根据参数名称查询"单个文件限制大小" self.clear(".ivu-col:nth-child(2) .ivu-input") self.type(".ivu-col:nth-child(2) .ivu-input", "是否文本纠错") self.click(".ivu-form-item-content > .mg10") # 验证查询是否成功 self.sleep(2) para_name = self.get_text( "xpath=>//tr[@id='tr_Root_undefined']/td/div") self.assertEqual(para_name, "是否文本纠错")
def del_attribute(self, attr_name): """删除一个属性""" self.sleep(2) self.click(f"xpath=>//span[contains(.,'{attr_name}')]") self.click(".mr10:nth-child(4)") self.sleep(1) self.click(".tenant-model .ivu-btn-primary > span") if "删除成功!" != self.get_text(".ivu-message span"): self.F5() platform_api.open_page(self, 2, "自定义属性") self.click(f"xpath=>//span[contains(.,'{attr_name}')]") self.click(".mr10:nth-child(4)") self.click(".tenant-model .ivu-btn-primary > span") self.sleep(2)
def test_query_by_paracode(self): """[基础参数]--根据参数编码查询参数""" platform_api.open_page(self, 1, "参数配置", "基础参数") # 根据参数编码查询"版权" self.clear(".ivu-col:nth-child(1) .ivu-input") self.type(".ivu-col:nth-child(1) .ivu-input", "copyRightName") self.click(".ivu-form-item-content > .mg10") # 验证查询是否成功 self.sleep(2) para_name = self.get_text( "xpath=>//tr[@id='tr_Root_undefined']/td/div") self.assertEqual(para_name, "版权")
def test_query_standard_code(self): """[标准代码]--查询一个代码""" platform_api.open_page(self, 1, "标准代码") # 查询[报表基础数据]中的[参数类型] self.clear("#searchTitle > .ivu-input") self.type("#searchTitle > .ivu-input", "参数类型") self.sleep(1) self.click(".ivu-icon-search") # 验证代码查询是否成功 self.sleep(1) code_name = self.get_text("xpath=>//tr[@id='tr_Root_undefined']/td[2]/div/span") self.assertEqual("参数类型", code_name)
def test_query_by_account(self): """[操作日志]--根据账号查询操作日志""" platform_api.open_page(self, 1, "日志管理", "操作日志") # 根据用户名查询登录日志 self.clear("xpath=>//input[@type='text']") self.type("xpath=>//input[@type='text']", platform_api.plat_account) self.click(".mg10") # 验证查询结果是否正确 self.sleep(2) num = len(self.get_elements("#tr_Root_undefined")) for i in range(1, num + 1): account = self.get_text( f"xpath=>(//tr[@id='tr_Root_undefined']/td[1]/div/span)[{i}]") self.assertEqual(platform_api.plat_account, account)
def test_query_by_childstation(self): """[高级参数]--根据所属子站查询参数""" platform_api.open_page(self, 1, "参数配置", "高级参数") # 根据子站查询参数 self.click("xpath=>//i[2]") self.sleep(1) self.click(".ivu-select-visible .ivu-select-item:nth-child(2)") # 选择平台 self.click(".ivu-form-item-content > .mg10") # 验证查询是否成功 self.sleep(2) num = len(self.get_elements("#tr_Root_undefined")) for i in range(1, num + 1): para_childsta = self.get_text( f"xpath=>(//tr[@id='tr_Root_undefined']/td[4]/div/span)[{i}]") self.assertEqual(para_childsta, "平台")
def test_query_by_status(self): """[高级参数]--根据状态查询参数""" platform_api.open_page(self, 1, "参数配置", "高级参数") # 根据状态查询参数 self.click(".ivu-col:nth-child(2) .icon:nth-child(4)") self.sleep(1) self.click(".ivu-select-visible .ivu-select-item:nth-child(2)") self.click(".ivu-form-item-content > .mg10") # 验证查询是否成功 self.sleep(2) num = len(self.get_elements("#tr_Root_undefined")) for i in range(1, num + 1): para_status = self.get_text( f"xpath=>(//tr[@id='tr_Root_undefined']/td[5]/div/div)[{i}]") self.assertEqual(para_status, "不生效")
def test_open_custom_attribute(self): """[人员管理]--[自定义属性],验证自定义属性页面回显信息""" platform_api.open_page(self, 2, "自定义属性") # 验证[添加]按钮是否存在 self.assertTrue(self.element_is_exist(".mr10:nth-child(1)")) # 验证[上移]按钮是否存在 self.assertTrue(self.element_is_exist(".mr10:nth-child(2)")) # 验证[下移]按钮是否存在 self.assertTrue(self.element_is_exist(".mr10:nth-child(3)")) # 验证[删除]按钮是否存在 self.assertTrue(self.element_is_exist(".mr10:nth-child(4)")) # 验证[修改]按钮是否存在 self.assertTrue(self.element_is_exist(".ivu-btn:nth-child(5)"))