def input_text(self, locator, txt): """输入(输入前先清空)""" sleep(0.5) ele = self.find_element(locator) ele.clear() ele.send_keys(txt) log.info("输入文本:{}".format(txt))
def is_click(self, locator): """点击""" text = self.find_element(locator).text self.find_element(locator).click() sleep(0.5) log.info("点击元素:\'%s\' {}".format(locator) % text)
def touch_image(self, name): """点击网页中的图片 @param name: 图片名称 """ v = self.template(name) self.driver.airtest_touch(v) sleep(3)
def test_002(self): """进行登出操作""" d.poco_click(text="我的") d.poco_click( name="com.iflytek.elpmobile.smartlearning:id/head_collect") d.poco_click( name="com.iflytek.elpmobile.smartlearning:id/btn_user_exit") d.poco_click( name="com.iflytek.elpmobile.smartlearning:id/dialog_right") sleep(5)
def login(self, user, pwd): """登录""" self.is_click(login['登录']) if not self.text_in_element(login['登录方式'], text="用户名密码登录"): self.is_click(login['用户名登录']) self.input_text(login['用户名'], text=user) self.input_text(login['密码'], text=pwd) self.is_click(login['记住登录']) self.is_click(login['点击登录']) sleep(2)
def area_screenshot(locator, path): """区域截图""" log.warning("需要截图的元素坐标%s" % locator.location) log.warning("需要截图的元素大小%s" % locator.size) shot = (locator.location['x'], locator.location['y'], locator.location['x'] + locator.size['width'], locator.location['y'] + locator.size['height']) im = Image.open(path) im = im.crop(shot) im.save(path) sleep()
def test_001(self): """进行登录操作""" d.poco_click( name="com.iflytek.elpmobile.smartlearning:id/account_login_tv") d.poco_set_text( "", name="com.iflytek.elpmobile.smartlearning:id/login_name") d.poco_set_text( '18291900215', name="com.iflytek.elpmobile.smartlearning:id/login_name") d.poco_set_text( "", name="com.iflytek.elpmobile.smartlearning:id/login_pwd") d.poco_set_text( 'test001', name="com.iflytek.elpmobile.smartlearning:id/login_pwd") d.poco_click(name="com.iflytek.elpmobile.smartlearning:id/login_btn") sleep(8)
def input_ele(self, group, label_name, txt): """输入文字""" self.input_text(home.__getitem__(group, label_name), txt) sleep(1)
def input_search(self, content): """输入搜索""" self.input_text(search['搜索框'], text=content) sleep()
def click_next(self, group, label_name): """获取两个及以上的element,然后操作第二个element""" ele_list = self.find_elements(home.__getitem__(group, label_name)) ele_list[1].click() sleep(2)
def test_001(self, drivers): """test_001 测试实验页面""" # 打开实验管理页面 page = Page(drivers) page.input_ele('登录', '用户名', 'wangzhaoxian') page.input_ele('登录', '密码', '123456') page.click_ele('登录', '登录') page.click_ele('侧边栏', '实验') text = page.get_ele_text('通用', '页面名称') result = re.search('实验列表', text) log.info(result) pytest.assume(result) # 测试新增页面取消按键 page.click_ele('实验', '新增实验') text = page.get_ele_text('通用', '对话页面') result = re.search('实验信息', text) log.info(result) pytest.assume(result) page.click_ele('通用', '取消') # 表单校验 page.click_ele('实验', '新增实验') page.click_ele('通用', '确定') text = page.get_ele_text('通用', '错误信息') result = re.search('必须', text) log.info(result) pytest.assume(result) # 测试实验页面新增实验 page.input_ele('实验', '实验命名', 'Ctest') page.input_ele('实验', '模型描述', '测试') page.click_ele('通用', '确定') page.click_ele('翻页', '第4页') result = page.exist_ele('实验', '测试') pytest.assume(result) # 测试实验页面修改-取消 page.click_ele('翻页', '第4页') page.click_ele('实验', '测试') page.click_ele('通用', '取消') # 测试实验页面修改-编辑 page.click_ele('翻页', '第4页') page.click_ele('实验', '测试') result = page.enable_ele('实验', '实验命名') pytest.assume(result is False) result = page.enable_ele('实验', '模型描述') pytest.assume(result is False) # 修改 page.click_ele('实验', '编辑') page.input_ele('实验', '实验命名', 'testupdate') page.input_ele('实验', '模型描述', '测试修改') page.click_ele('通用', '确定') page.click_ele('翻页', '第4页') result = page.exist_ele('实验', '修改后') pytest.assume(result) # 测试打开 page.click_ele('翻页', '第4页') page.click_ele('实验', '实验打开') page.click_ele('关闭', '编排') # 测试删除-取消 sleep(1) page.click_ele('翻页', '第4页') page.click_ele('实验', '删除') page.click_ele('通用', '撤销') result = page.exist_ele('实验', '修改后') pytest.assume(result) # 测试删除-确认 page.click_ele('实验', '删除') page.click_ele('通用', '确认') sleep(1) page.click_ele('翻页', '第4页') result_text = page.imagine log.info("实验名称:{}".format(result_text)) if "testupdate" in result_text: result = False else: result = True pytest.assume(result)
def is_click(self, locator): """点击""" self.find_element(locator).click() sleep() log.info("点击元素:{}".format(locator))
def login(self, user, pwd): self.input_text(login['账号'], text=user) self.input_text(login['密码'], text=pwd) self.is_click(login['登录']) sleep(3)
def test_002(self, drivers): """test_002 测试算法页面""" # 打开算法管理页面 page = Page(drivers) page.click_ele('侧边栏', '算法') sleep(2) text = page.get_ele_text('通用', '页面名称') result = re.search('算法管理', text) log.info(result) pytest.assume(result) # 新建算法-取消 page.click_ele('算法', '新建') page.input_ele('算法', '规格参数', 'test') page.click_ele('通用', '确定') result = page.is_exist('通用', '错误信息') pytest.assume(result) page.click_ele('通用', '取消') # 表单校验 page.click_ele('算法', '新建') text = page.get_ele_text('通用', '对话页面') result = re.search('算法信息', text) log.info(result) pytest.assume(result) page.input_ele('算法', '算法标识', 'zmjtest') page.input_ele('算法', '算法名称', 'zmjtest') page.click_ele('算法', '算法框架') page.click_ele('算法', 'tensorflow') page.click_ele('算法', '算法分类') page.click_next('算法', '机器学习算法') page.click_ele('算法', '模型评估') page.ele_input_file('算法', '算法包', 'C:\\Users\\wangzhaoxian\\Downloads\\1.csv') page.input_ele('算法', '算法主类', 'zmjtest') page.input_ele('算法', '规格参数', '[]') page.input_ele('算法', '算法描述', 'zmjtest') page.click_ele('通用', '确定') # 查询-重置 page.input_ele('算法', '查询算法名称', 'zmjtest') page.click_ele('算法', '重置') text = page.get_ele_text('算法', '查询算法名称') log.info(text) result = len(text) == 0 pytest.assume(result) # 查询-无结果 page.input_ele('算法', '查询算法名称', '1') page.click_ele('算法', '所属分类') page.click_ele('算法', '机器学习算法') page.click_ele('算法', '模型评估') page.click_ele('算法', '查询') sleep(3) text = page.get_search_table_result('算法', '结果表') result = re.search('暂无数据', text) pytest.assume(result) # 查询-有结果-编辑 page.input_ele('算法', '查询算法名称', 'zmjtest') page.click_ele('算法', '所属分类') page.click_ele('算法', '机器学习算法') page.click_ele('算法', '模型评估') page.click_ele('算法', '查询') sleep(3) text = page.get_search_table_result('算法', '结果表') pytest.assume(text == 1) page.click_ele('算法', '编辑') page.click_ele('通用', '取消') page.click_ele('算法', '编辑') page.input_ele('算法', '算法标识', 'zmjtestupdate') page.click_ele('通用', '确定') # 删除 page.click_ele('算法', '查询') sleep(3) page.click_ele('通用', '删除') page.click_ele('通用', '撤销') page.click_ele('通用', '删除') page.click_ele('通用', '确认') page.click_ele('算法', '查询') text = page.get_search_table_result('算法', '结果表') result = re.search('暂无数据', text) pytest.assume(result)
def is_clear(self, locator): """清除内容""" self.find_element(locator).clear() sleep() log.info("点击元素:{}".format(locator))
def input_file(self, locator, txt): """输入(输入前先清空)""" sleep(0.5) ele = self.find_element(locator) ele.send_keys(txt) log.info("上传文件的本地地址为:{}".format(txt))
def ele_input_file(self, group, label_name, txt): """上传文件""" self.input_file(home.__getitem__(group, label_name), txt) sleep(2)
def skip_second(self): window = self.driver.window_handles self.driver.switch_to.window(window[-1]) sleep(2) log.info("打开网页" + self.driver.title)
def key_enter(self, locator): ele = self.find_element(locator) ele.send_keys(Keys.ENTER) sleep()