def test_email_case(self): '''email校验''' name = '单行文本_邮箱校验' ip = InputPhonePage(self.driver, name) self.assertIn("'单行文本_邮箱校验'格式错误", ip.set_val_save_get_msg('aaaaa'), msg=name + '检验不通过')
def test_save_new_btn(self): '''保存并新建按钮''' lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() if lp.get_rows_total() != 0: lp.clear_all_data() # 清除数据 bt = ButtonPhonePage(self.driver) bt.click_button('新建') # 点击按钮 lp.wait_Tabloading_show_then_hide() ip = InputPhonePage(self.driver, '单行文本') ip.element.send_keys('保存') # 输入文本 bt.click_button('保存并新建') # 点击按钮 msgtitle = lp.get_msg() # 获取消息 self.assertEqual('[保存成功]', msgtitle, msg='保存并新建按钮检验不通过') lp.wait_msg_show_then_hide() ip2 = InputPhonePage(self.driver, '单行文本') ip2.element.send_keys('保存') bt.click_button('保存') # 点击按钮 msgtitle = lp.get_msg() # 获取消息 self.assertEqual('[保存成功]', msgtitle, msg='保存并新建按钮检验不通过') lp.wait_msg_show_then_hide() bt.click_button('返回') # 点击按钮 self.assertEqual(2, lp.get_rows_total(), msg='保存并新建按钮检验不通过')
def test_phone_number_case(self): '''手机号电话校验''' name = '单行文本_手机号电话校验' ip = InputPhonePage(self.driver, name) self.assertIn("'单行文本_手机号电话校验'格式错误", ip.set_val_save_get_msg('aaa'), msg=name + '检验不通过')
def test_only_case(self): '''数据唯一校验''' name = '单行文本_数据唯一校验' ip = InputPhonePage(self.driver, name) self.assertIn("'单行文本_数据唯一校验'不能重复", ip.set_val_save_get_msg('aaa'), msg=name + '检验不通过')
def test_number_case(self): '''类型数字''' name = '单行文本_类型数字' ip = InputPhonePage(self.driver, name) self.assertEqual('', ip.send_keys_get_value('aaaa'), msg=name + '检验不通过')
def test_not_null_case(self): '''非空校验''' name = '单行文本_非空校验' ip = InputPhonePage(self.driver, name) self.assertIn("'单行文本_非空校验'必须填写", ip.set_val_save_get_msg(''), msg=name + '检验不通过')
def test_recalculation_case(self): '''重计算''' compname = '视图选择框_重计算' comp = ViewSelectPhonePage(self.driver) self.assertTrue(comp.is_comp_hide(compname), msg='视图选择框模板bug') textInput = InputPhonePage(self.driver, '真实值') textInput.send_keys_trigger_refresh('隐藏') self.assertFalse(comp.is_comp_hide(compname), msg='视图选择框重计算不生效')
def test_refresh_calculate_case(self): '''刷新_重计算''' name = 'html编辑器_重计算' comp = HtmlPhonePage(self.driver, name) self.assertIsNotNone(comp.check_dom(), msg=name + '检验不通过') input = InputPhonePage(self.driver, '单行文本刷新') input.send_keys_trigger_refresh('hide') self.assertFalse(comp.is_displayed(), msg=name + '检验不通过')
def test_tab_readonly_case(self): '''选项卡只读''' menu3 = '选项卡_只读条件' self.open_menus(self.menu1, self.menu2, menu3) comp = TabPhonePage(self.driver) textInput = InputPhonePage(self.driver, '选项卡_页签1_文本一') self.assertTrue(textInput.is_comp_readonly('选项卡_页签1_文本一'),msg='选项卡_只读条件不生效') comp.switch_tabpage('页签') textInput2 = InputPhonePage(self.driver, '选项卡_页签2_文本一') self.assertFalse(textInput.is_comp_readonly('选项卡_页签2_文本一'), msg='选项卡_只读条件不生效')
def test_refresh_calculate_case(self): '''刷新_重计算''' name = '调查问卷_重计算' comp = SurveyPhonePage(self.driver, name) self.assertNotEqual('none', comp.get_the_div(), msg=name + '检验不通过') self.assertIn('羽毛球', comp.get_the_div_text(), msg=name + '检验不通过') input = InputPhonePage(self.driver, '单行文本刷新') input.send_keys_trigger_refresh('hide') self.assertIsNone(comp.find_element('input[name="' + name + '"]'), msg=name + '检验不通过')
def test_contain_hide_case(self): '''包含元素隐藏''' name = "包含元素重计算" comp = IncludedPhonePage(self.driver, name) bool = comp.is_comp_hide(name) self.assertTrue(bool, msg=name + "检验不通过") textInput = InputPhonePage(self.driver, '单行文本') textInput.send_keys_trigger_refresh('隐藏') bool2 = comp.is_comp_hide(name) self.assertFalse(bool2, msg=name + "检验不通过")
def test_tab_reflesh_recalcalate_case(self): '''选项卡刷新重计算''' menu3 = '选项卡_父子关系视图及重计算' self.open_menus(self.menu1, self.menu2, menu3) comp = TabPhonePage(self.driver) self.assertTrue(comp.is_comp_hide('父子视图'),msg='选项卡刷新重计算不生效') self.assertTrue(comp.is_comp_hide('非父子视图'),msg='选项卡刷新重计算不生效') inputtext = InputPhonePage(self.driver,'重计算') inputtext.send_keys_trigger_refresh('隐藏') self.assertFalse(comp.is_comp_hide('非父子视图'),msg='选项卡刷新重计算不生效') self.assertFalse(comp.is_comp_hide('父子视图'),msg='选项卡刷新重计算不生效')
def test_tab_save_case(self): '''选项卡保存''' # 判断切换后的字段是否可见 menu3 = '选项卡_普通' self.open_menus(self.menu1, self.menu2, menu3) comp = TabPhonePage(self.driver) comp.switch_tabpage('页签') textInput = InputPhonePage(self.driver,'选项卡_页签2_文本一') text1 = textInput.set_val_save_get_msg('选项卡保存测试') self.assertIn("保存成功", text1, msg='选项卡保存检验不通过') comp.switch_tabpage('页签') self.assertEqual('选项卡保存测试',textInput.get_inputtext_value(), msg='选项卡保存检验不通过')
def test_refresh_case(self): '''刷新''' compname = '树形部门选择框_刷新' inputtext_name = '已选部门数' comp = TreeDepartmentPhonePage(self.driver) target = comp.get_dept(compname) comp.scroll_to_target_element(target) comp.select_depts(compname, ['产品部', '测试部']) textInput = InputPhonePage(self.driver, inputtext_name) self.assertEqual("已刷新", textInput.get_attr('value'), msg=compname + '检验不通过')
def test_recaculate_case(self): '''重计算''' name = '树形部门选择框_只读时仅显示值' compname = '树形部门选择框_重计算' inputtext_name = '只读刷新' comp = TreeDepartmentPhonePage(self.driver) target = comp.get_dept(compname) comp.scroll_to_target_element(target) comp.select_depts(compname, ['产品部', '测试部']) self.assertTrue(comp.is_comp_readonly(compname), msg=name + '检验不通过') textInput = InputPhonePage(self.driver, inputtext_name) textInput.send_keys_trigger_refresh('只读') self.assertTrue(comp.is_comp_readonly(compname), msg=name + '检验不通过')
def setvalue(self,viewname,inputcompname,val): self.click_view_title(viewname) self.wait_Tabloading_show_then_hide() btn = ButtonPhonePage(self.driver) btn.click_button('新建') inputtext = InputPhonePage(self.driver,inputcompname) inputtext.set_val(val) btn.click_button('保存') self.wait_msg_show_then_hide() btn.click_button('返回') self.wait_Tabloading_show_then_hide() self.driver.back() self.wait_elem_show_then_hide('.weui_mask_transparent') self.wait_Tabloading_show_then_hide()
def test_delete_case(self): '''删除按钮''' menu3 = '按钮_case001' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) if 0 != lp.get_rows_total(): lp.clear_all_data() #清空所有数据 else: #新建一条数据 btn = ButtonPhonePage(self.driver) btn.click_button('新建') #点击新建 mp.wait_Tabloading_show_then_hide() ip = InputPhonePage(self.driver, '单行文本') ip.element.send_keys('保存') btn.click_button('保存') mp.wait_Tabloading_show_then_hide() mp.wait_msg_show_then_hide() btn.click_button('返回') mp.wait_Tabloading_show_then_hide() #确定已经有一条数据 self.assertEqual(1, lp.get_rows_total(), msg='删除按钮检验不通过') lp.clear_all_data() #点击全选 self.assertEqual(0, lp.get_rows_total(), msg='删除按钮检验不通过')
def test_card_case(self): '''身份证校验''' name = '单行文本_身份证校验' ip = InputPhonePage(self.driver, name) self.assertIn('身份证号码位数不对', ip.set_val_save_get_msg('aaa'), msg=name + '检验不通过') ip.wait_msg_show_then_hide() self.assertIn('身份证号码出生日期超出范围或含有非法字符', ip.set_val_save_get_msg('441421111101010012'), msg=name + '检验不通过') ip.wait_msg_show_then_hide() self.assertNotIn('身份证号码输入不合法', ip.set_val_save_get_msg('441421199001010022'), msg=name + '检验不通过')
def test_refresh_calculate_case(self): '''刷新_重计算''' # bug name = '单行文本_刷新_重计算' ip = InputPhonePage(self.driver, name) ip.send_keys_trigger_refresh('refresh') ip = InputPhonePage(self.driver, name) #刷新重计算执行后控件被重新渲染,之前的ip已不存在 self.assertEqual('refresh\xa0end', ip.get_attr('value'), msg=name + '检验不通过')
def add_one_row(self): '''新建一条数据''' bp = ButtonPhonePage(self.driver) bp.click_button('新建') self.wait_Tabloading_show_then_hide() ip = InputPhonePage(self.driver, '列表视图_单行文本框') ip.element.send_keys(20) bp.click_button('保存') self.wait_Tabloading_show_then_hide() self.wait_msg_show_then_hide() bp.click_button('返回')
def set_value(self, incluedename, inputname1, input1val, inputname2, input2val): '''新建一条记录''' btn = ButtonPhonePage(self.driver) self.click_included_btn(incluedename) btn.click_button('新建') inputtext = InputPhonePage(self.driver, inputname1) inputtext.send_keys_get_value(input1val) inputtext = InputPhonePage(self.driver, inputname2) inputtext.send_keys_get_value(input2val) btn.click_button('保存') self.wait_msg_show_then_hide() btn.click_button('返回') self.wait_Tabloading_show_then_hide() self.driver.back() self.wait_elem_show_then_hide('.weui_mask_transparent')
def test_readonly_case(self): '''显示只读和条件只读''' name = '单行文本_显示只读' ip = InputPhonePage(self.driver, name) self.assertTrue(ip.readonly_test(), msg=name + '检验不通过') name = '单行文本_只读条件' ip = InputPhonePage(self.driver, name) self.assertTrue(ip.readonly_test(), msg=name + '检验不通过')
def test_save_btn(self): '''保存按钮''' menu3 = '表单按钮_保存类' mp = MainPhonePage(self.driver) mp.open_menus(self.menu1, self.menu2, menu3) # 打开菜单 lp = ListViewPhonePage(self.driver) lp.wait_Tabloading_show_then_hide() if lp.get_rows_total() != 0: lp.clear_all_data() #清除数据 bt = ButtonPhonePage(self.driver) bt.click_button('新建') #点击按钮 lp.wait_Tabloading_show_then_hide() ip = InputPhonePage(self.driver, '单行文本') ip.element.send_keys('保存') #输入文本 bt.click_button('保存') #点击按钮 msgtitle = lp.get_msg() #获取消息 self.assertEqual('[保存成功]', msgtitle, msg='保存按钮检验不通过')
def test_desription_case(self): '''描述''' name = '单行文本_描述' ip = InputPhonePage(self.driver, name) self.assertTrue(ip.is_desription_effect(name), msg=name + '检验不通过')
def test_value_case(self): '''值''' name = '单行文本_值脚本' ip = InputPhonePage(self.driver, name) self.assertEqual('值', ip.get_attr('value'), msg=name + '检验不通过')
def set_val_by_component_type(self, type, comp_name, val): '''根据类型初始化控件并设置控件值''' col_num = '2' if type == 'input': comp = InputPhonePage(self.driver, comp_name) comp.set_val(val) # 输入文本 col_num = '2' if type == 'textarea': comp = TextareaPhonePage(self.driver, comp_name) comp.set_val(val) # 输入文本 col_num = '3' if type == 'radio': comp = RadioPhonePage(self.driver, comp_name) comp.set_val(val) # 输入文本 col_num = '4' if type == 'checkbox': comp = CheckboxPhonePage(self.driver, comp_name) comp.set_val(val) # 输入文本 col_num = '5' if type == 'select': comp = SelectPhonePage(self.driver, comp_name) comp.set_val(val) # 输入文本 col_num = '6' if type == 'date': comp = DatePhonePage(self.driver, comp_name) comp.set_val(val) # 输入文本 col_num = '7' if type == 'depart': comp = DepartmentPhonePage(self.driver, comp_name) comp.set_val(val) # 输入文本 col_num = '8' if type == 'tree_depart': comp = TreeDepartmentPhonePage(self.driver) comp.select_depts(comp_name, [val]) # 输入文本 col_num = '9' if type == 'user': comp = UserSelectPhonePage(self.driver, comp_name) comp.set_val(val) # 输入文本 col_num = '10' if type == 'suggest': comp = SuggestPhonePage(self.driver, (comp_name + '_show')) comp.set_val(val) # 输入文本 col_num = '12' if type == 'reset': comp = ButtonPhonePage(self.driver) comp.click_button('重置') col_num = '3' return col_num
def test_hide_case(self): '''显示隐藏和条件隐藏''' name = '单行文本_显示隐藏' ip = InputPhonePage(self.driver, name) self.assertEqual('hidden', ip.get_attr('type'), msg=name + '检验不通过')
def test_only_value_case(self): '''只读时仅显示值''' name = '单行文本_只读时仅显示值' ip = InputPhonePage(self.driver, name) self.assertTrue(ip.only_value(), msg=name + '检验不通过')
def get_inputtext_value(self, inputtext_name): '''获取单行文本框的值''' textInput = InputPhonePage(self.driver, inputtext_name) return textInput.element.get_attribute("value")
def test_switch_key_case(self): '''焦点切换''' name = '单行文本_焦点切换' ip = InputPhonePage(self.driver, name) ip.wait_Tabloading_show_then_hide() self.assertFalse(ip.switch_key(), msg=name + '检验不通过')