def test_sy_jgq_p0_004(self): "首页金刚区-风险信息,全部只做入口校验" self.log.info(self.test_sy_jgq_p0_004.__doc__) try: # ========== 知识产权 ========== # 滑动一屏,确保下面的维度可点击 self.operation.mobile_swipe(direction='up') # 查商标 self.server_oper.check_title(server_name="查商标", diff_con="查商标") self.preprocessing.backtrack() # 专利 self.server_oper.check_text_field(server_name="专利", diff_con="请输入专利名、专利号或企业名称") self.preprocessing.backtrack() # 著作权 self.server_oper.check_text_field(server_name="著作权", diff_con="请输入著作权名、登记号或企业名") self.preprocessing.backtrack() # 网址 self.server_oper.check_text_field(server_name="网址", diff_con="请输入公司名称或网址名称") self.preprocessing.backtrack() except AssertionError as ae: self.log.error(error_format(ae)) raise self.failureException() except Exception as e: self.log.error(error_format(e)) raise e
def test_sy_jgq_p0_002(self): "首页金刚区-企业信息,全部只做入口校验" self.log.info(self.test_sy_jgq_p0_002.__doc__) try: # ========== 企业信息 ========== # 招聘 self.server_oper.check_text_field(server_name="招聘", diff_con="请输入企业名称行业或职位") self.preprocessing.backtrack() # 招投标 self.server_oper.check_text_field(server_name="招投标", diff_con="请输入企业名称") self.preprocessing.backtrack() # 债券 self.server_oper.check_text_field(server_name="债券", diff_con="请输入发行人、债券代码或名称") self.preprocessing.backtrack() # 查税号 self.server_oper.check_text_field(server_name="查税号", diff_con="请输入企业名称或统一信用代码") self.preprocessing.backtrack() # 中国香港企业 self.server_oper.check_text_field(server_name="中国香港企业", diff_con="请输入企业名称") self.preprocessing.backtrack() # 中国台湾企业 self.server_oper.check_text_field(server_name="中国台湾企业", diff_con="请输入企业名称") self.preprocessing.backtrack() # 社会组织 self.server_oper.check_text_field(server_name="社会组织", diff_con="请输入社会组织名称") self.preprocessing.backtrack() # 律师事务所 self.server_oper.check_text_field(server_name="律师事务所", diff_con="请输入律师事务所名称") self.preprocessing.backtrack() except AssertionError as ae: self.log.error(error_format(ae)) raise self.failureException() except Exception as e: self.log.error(error_format(e)) raise e
def test_sy_jgq_tyc_map_004(self): "首页金刚区-热门功能-天眼地图,校验全部行业随机选择" self.log.info(self.test_sy_jgq_tyc_map_004.__doc__) try: self.operation.new_element(MobileBy.ACCESSIBILITY_ID, "全部行业").click() random_name = self.preprocessing.random_options( find_type=MobileBy.IOS_CLASS_CHAIN, find_element=self.excel['ty_map_area_one']) self.preprocessing.random_options( find_type=MobileBy.IOS_CLASS_CHAIN, find_element=self.excel['ty_map_area_two'], x=0.46) if random_name != "国际组织": search_count = self.operation.get_count( find_type=MobileBy.IOS_CLASS_CHAIN, find_element=self.excel['ty_map_search_label']) self.assertIsNot(search_count, 0, "未匹配到搜索结果数") else: search_text = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['ty_map_search_label']).text diff_text = "当前范围内没有发现公司,换个位置试试" self.assertEqual( diff_text, search_text, "预期文案:{},实际文案:{}".format(diff_text, search_text)) except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e
def test_sy_jgq_aroundf_boss_001(self): "首页金刚区-热门功能-身边老板,通讯录中没有号码,检验 占位标识" self.log.info(self.test_sy_jgq_aroundf_boss_001.__doc__) try: diff_remind = "没有发现通讯录中的老板" find_remind = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['aroundf_boss_remind']).text self.assertEqual(diff_remind, find_remind, "预期值:{},实际值:{}".format(diff_remind, find_remind)) diff_recommend = "为你推荐" find_recommend = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['aroundf_boss_recommend']).text self.assertEqual( diff_recommend, find_recommend, "预期值:{},实际值:{}".format(diff_recommend, find_recommend)) diff_monitor_button = "一键监控" find_monitor_button = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel["aroundf_boss_monitor_button"]).text self.assertEqual( diff_monitor_button, find_monitor_button, "预期值:{},实际值:{}".format(diff_monitor_button, find_monitor_button)) except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e
def test_sy_jgq_search_phone_001(self): "首页金刚区-热门功能-找电话,校验热门搜索分栏是否存在,并从热搜进入" self.log.info(self.test_sy_jgq_search_phone_001.__doc__) try: # 校验标签 hot_search = "热门搜索" hot_title = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['hot_search']).text self.assertEqual(hot_search, hot_title, "预期值:{},实际值:{}".format(hot_search, hot_title)) # 判断 热搜 个数 hot_set = self.operation.new_elements( MobileBy.IOS_CLASS_CHAIN, self.excel['hot_search_group']) hot_set_num = len(hot_set) self.assertIs(3, hot_set_num, "预期值:{},实际值:{}".format(3, hot_set_num)) # 从任意热搜进入 round_num = randint(0, hot_set_num - 1) select_name = hot_set[round_num].text # 从选择的热搜进入搜索结果页 hot_set[round_num].click() # 获取搜索词 result_name = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['search_field']).text self.assertEqual(select_name, result_name, "预期值:{},实际值:{}".format(select_name, result_name)) except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e
def test_sy_jgq_search_phone_002(self): "首页金刚区-热门功能-找电话,校验 非常用字符、空值、屏蔽词,搜索无结果" self.log.info(self.test_sy_jgq_search_phone_002.__doc__) try: search_word = "!@#$" self.server_oper.check_search_null(MobileBy.IOS_CLASS_CHAIN, self.excel['search_field'], search_word) # 空值 search_word = " " self.server_oper.check_search_null(MobileBy.IOS_CLASS_CHAIN, self.excel['search_field'], search_word) # 屏蔽词 search_word = "中国" self.server_oper.check_search_null(MobileBy.IOS_CLASS_CHAIN, self.excel['search_field'], search_word) except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e
def test_sy_jgq_aroundf_boss_002(self): "首页金刚区-热门功能-身边老板,通讯录中没有号码,点击一键监控/监控未登录拉起登陆" self.log.info(self.test_sy_jgq_aroundf_boss_002.__doc__) try: msg = "短信验证码登录" # 获取「一键监控」 self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel["aroundf_boss_monitor_button"]).click() login_title = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['login_title']).text self.assertEqual(msg, login_title, "预期值:{},实际值:{}".format(msg, login_title)) # 点击「返回」 self.preprocessing.backtrack() # 获取「监控」 self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['aroundf_boss_monitor'].format(4)).click() login_title = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['login_title']).text self.assertEqual(msg, login_title, "预期值:{},实际值:{}".format(msg, login_title)) except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e
def test_sy_jgq_tyc_map_003(self): "首页金刚区-热门功能-天眼地图,校验搜索候选列表" self.log.info(self.test_sy_jgq_tyc_map_003.__doc__) try: # 点击 「搜索框」 self.operation.new_element(MobileBy.ACCESSIBILITY_ID, "输入地点,即可查询周围的公司").click() # 输入「搜索词」 self.operation.send(MobileBy.ACCESSIBILITY_ID, "输入地点,即可查询周围的公司", "百度") groups = len( self.operation.new_elements(MobileBy.IOS_CLASS_CHAIN, self.excel['ty_map_search_list'])) for i in range(1, groups + 1): search_name = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['ty_map_search_list_name'].format(i)).text self.log.info(search_name) self.assertIn("百度", search_name, "搜索列表值:{}".format(search_name)) except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e
def test_sy_jgq_p0_003(self): "首页金刚区-风险信息,全部只做入口校验" self.log.info(self.test_sy_jgq_p0_003.__doc__) try: # ========== 风险信息 ========== # 滑动一屏,确保下面的维度可点击 self.operation.mobile_swipe(direction='up') # 诉讼 self.server_oper.check_text_field(server_name="诉讼", diff_con="请输入诉讼号或企业名称") self.preprocessing.backtrack() # 法院公告 self.server_oper.check_text_field(server_name="法院公告", diff_con="请输入企业名称、上诉方或被诉方") self.preprocessing.backtrack() # 税务评级 self.server_oper.check_text_field(server_name="税务评级", diff_con="输入企业名称") self.preprocessing.backtrack() # 进出口信用 self.server_oper.check_text_field(server_name="进出口信用", diff_con="请输入企业名称") self.preprocessing.backtrack() # 司法拍卖 self.server_oper.check_text_field(server_name="司法拍卖", diff_con="请输入企业名称") self.preprocessing.backtrack() # 开庭公告 self.server_oper.check_text_field(server_name="开庭公告", diff_con="请输入企业名称") self.preprocessing.backtrack() except AssertionError as ae: self.log.error(error_format(ae)) raise self.failureException() except Exception as e: self.log.error(error_format(e)) raise e
def test_001_cgx_ss_p0(self): """点击热搜关系""" log.info(self.test_001_cgx_ss_p0.__doc__) try: relation_point_tag = self.relation_operate.hot_relation() home_page_tag = self.relation_process.relation_demo() self.assertTrue(relation_point_tag, "查关系:样例关系节点,展示失败") self.assertTrue(home_page_tag, "查关系:点击右上角天眼查logo,返回首页失败") except Exception as e: log.error(error_format(e)) finally: self.preprocessing.back_index()
def test_sy_jgq_tyc_map_005(self): "首页金刚区-热门功能-天眼地图,校验非VIP账户,点击VIP条件,调起VIP购买弹窗" self.log.info(self.test_sy_jgq_tyc_map_005.__doc__) # 获取 非VIP 账号 user = self.account.get_account() try: # 判断 登陆状态 login_status = self.preprocessing.is_login() if not login_status: self.preprocessing.login(phone_num=user, password=self.account.get_pwd()) # 点击 「全部」 self.server_oper.click_all() # 点击「天眼地图」 self.server_oper.click_server("天眼地图") msg = "VIP会员可使用高级筛选条件" # 「有手机号码」 self.operation.new_element(MobileBy.ACCESSIBILITY_ID, "有手机号码").click() vip_title = self.operation.is_element(MobileBy.ACCESSIBILITY_ID, msg) self.assertTrue(vip_title, "预期值:{},实际值:{}".format(msg, vip_title)) # 点击「关闭」 self.operation.new_element(MobileBy.ACCESSIBILITY_ID, "ic pop off").click() # 「有联系方式」 self.operation.new_element(MobileBy.ACCESSIBILITY_ID, "有联系方式").click() vip_title = self.operation.is_element(MobileBy.ACCESSIBILITY_ID, msg) self.assertTrue(vip_title, "预期值:{},实际值:{}".format(msg, vip_title)) # 点击「关闭」 self.operation.new_element(MobileBy.ACCESSIBILITY_ID, "ic pop off").click() # 「有联系邮箱」 self.operation.new_element(MobileBy.ACCESSIBILITY_ID, "有联系邮箱").click() vip_title = self.operation.is_element(MobileBy.ACCESSIBILITY_ID, msg) self.assertTrue(vip_title, "预期值:{},实际值:{}".format(msg, vip_title)) # 点击「关闭」 self.operation.new_element(MobileBy.ACCESSIBILITY_ID, "ic pop off").click() except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e finally: self.account.release_account(account=user)
def skip_guide(self, number=4): """ 跳过引导页 @param number: @return: """ try: for i in range(number): self.operation.mobile_swipe('left') self.log.info("跳过首页引导") except Exception as e: self.log.error(error_format(e)) raise e
def test_sy_jgq_aroundf_boss_003(self): "首页金刚区-热门功能-身边老板,通讯录中没有号码,校验「监控」功能" self.log.info(self.test_sy_jgq_aroundf_boss_003.__doc__) try: user = self.account.get_account() # 获取「推荐列表第一个名字」 boss_name = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['aroundf_boss_name'].format(4)).text # 点击「监控」 self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['aroundf_boss_monitor'].format(4)).click() # 登录 login_status = self.operation.is_element(MobileBy.IOS_CLASS_CHAIN, self.excel['login_title']) if login_status: self.preprocessing.login(phone_num=user, password=self.account.get_pwd()) # 点击「监控」 self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['aroundf_boss_monitor'].format(4)).click() # 跳过 监控日报 邮箱设置 self.preprocessing.skip_monitor_daily_email() # 进入到 监控列表 self.preprocessing.enter_monitor_list() # 获取监控列表 groups = len( self.operation.new_elements(MobileBy.IOS_CLASS_CHAIN, self.excel['monitor_list'])) self.assertTrue(groups > 1, "监控列表为空,未监控上") flag = False for i in range(1, groups + 1): monitor_name = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['monitor_list_info'].format(i)).text if monitor_name == boss_name: flag = True break self.assertTrue(flag, "监控列表未找到刚关注的人:{}".format(boss_name)) except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e finally: self.account.release_account(user)
def test_002_cgx_ss_p0(self): """输入查关系节点""" log.info(self.test_002_cgx_ss_p0.__doc__) vip_num = None try: vip_num = self.account.get_account(account_type='vip') vip_passwd = self.account.get_pwd() self.preprocessing.login( vip_num, vip_passwd) self.relation_process.relation_search() except Exception as e: log.error(error_format(e)) finally: self.preprocessing.back_index() self.account.release_account(vip_num, account_type='vip')
def _re_count(self, count_text): """ 正则匹配文本中的数字 @param count_text: @return: """ try: match = re.search(r"([0-9]\d*)", count_text).group() return int(match) except AttributeError as ae: self.log.info("没有匹配到数字") raise ae except Exception as e: self.log.error(error_format(e)) raise e
def test_sy_jgq_p0_001(self): "首页金刚区-热门功能,全部只做入口校验" self.log.info(self.test_sy_jgq_p0_001.__doc__) try: # ========== 热门功能 ========== # 点击「天眼地图」 # 校验 new 标签 is_new = self.operation.is_element(MobileBy.IOS_CLASS_CHAIN, self.excel['ty_map_new']) self.assertTrue(is_new, "new标签不存在") self.server_oper.check_title(server_name="天眼地图", diff_con="天眼地图") self.preprocessing.backtrack() # 点击「查老赖」 self.server_oper.check_title(server_name="查老赖", diff_con="查老赖") self.preprocessing.backtrack() # 点击「找电话」 self.server_oper.check_text_field("找电话", "请输入企业名称") self.preprocessing.backtrack() # 附近公司 self.server_oper.check_title(server_name="附近公司", diff_con="附近公司") self.preprocessing.backtrack() # 企业实名认证 self.server_oper.check_title(server_name="企业实名认证", diff_con="选择认证套餐", tl=5) self.preprocessing.backtrack() # 身边老板 self.server_oper.check_title(server_name="身边老板", diff_con="身边老板") self.preprocessing.backtrack() # 查商标 self.server_oper.check_title(server_name="查商标", diff_con="查商标") self.preprocessing.backtrack() # 企业核名 self.server_oper.check_title(server_name="企业核名", diff_con="企业名称检测") self.preprocessing.backtrack() except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e
def skip_monitor(self): """ 跳过监控日报 @return: """ try: element = self.operation.is_element(self.by.IOS_PREDICATE, self.excel['monitor_title']) if element: self.operation.new_element( self.by.IOS_PREDICATE, self.excel['close_monitor']).click() self.log.info("跳过监控日报") except Exception as e: self.log.error(error_format(e)) raise e
def cancel_update(self): """ 跳过 升级弹窗 @return: """ try: element = self.operation.is_element(self.by.IOS_PREDICATE, self.excel['update_title'], outtime=10) if element: self.operation.new_element(self.by.IOS_PREDICATE, self.excel['close_update']).click() self.log.info("跳过升级弹窗") except Exception as e: self.log.error(error_format(e)) raise e
def test_sy_jgq_tyc_map_002(self): "首页金刚区-热门功能-天眼地图,校验地图内页按钮" self.log.info(self.test_sy_jgq_tyc_map_002.__doc__) try: area_button = self.operation.is_element(MobileBy.ACCESSIBILITY_ID, "范围") self.assertTrue(area_button, "「范围」按钮不存在") location_button = self.operation.is_element( MobileBy.ACCESSIBILITY_ID, "location nor") self.assertTrue(location_button, "「location」按钮不存在") except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e
def agree_license(self): """ 点击用户协议 @return: """ try: element = self.operation.is_element(self.by.IOS_PREDICATE, self.excel['agree_license']) if element: self.operation.new_element( self.by.IOS_PREDICATE, self.excel['agree_license']).click() self.log.info("点击同意用户协议") except Exception as e: self.log.error('点击同意用户协议失败!!!') self.log.error(error_format(e)) raise e
def test_003_cgx_ss_p0(self): """查关系-更多操作""" log.info(self.test_003_cgx_ss_p0.__doc__) try: self.relation_operate.hot_relation() share_tag = self.relation_process.relation_share() save_tag = self.relation_process.relation_save() time.sleep(3) scan_tag = self.relation_process.relation_scan() edit_tag = self.relation_process.relation_edit() self.assertTrue(share_tag, "查关系:更多操作,「分享」失败") self.assertTrue(save_tag, "查关系:更多操作,「保存」失败") self.assertTrue(scan_tag, "查关系:更多操作,「扫一扫」失败") self.assertFalse(edit_tag, "查关系:更多操作,「删减」失败") except Exception as e: log.error(error_format(e)) finally: self.preprocessing.back_index()
def enter_monitor_list(self): """ 进入到 我的->监控列表 @return: """ # 返回到「首页」 try: self.back_index() # 点击「我的」 self.operation.new_element(MobileBy.IOS_CLASS_CHAIN, self.excel['index'].format(5)).click() # 点击「我的监控」 self.operation.new_element(MobileBy.ACCESSIBILITY_ID, '我的监控').click() # 点击「监控列表」 self.operation.new_element(MobileBy.ACCESSIBILITY_ID, '监控列表').click() except Exception as e: self.log.error(error_format(e))
def test_sy_jgq_search_phone_004(self): "首页金刚区-热门功能-找电话,校验 「一键清除」按钮" self.log.info(self.test_sy_jgq_search_phone_004.__doc__) try: search_word = "百度" # 搜索 self.operation.send(MobileBy.IOS_CLASS_CHAIN, self.excel['search_field'], search_word) # 一键清除 self.preprocessing.clear_text() find_field = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['search_field']).text diff_field = "请输入企业名称" self.assertEqual(diff_field, find_field, "预期值:{},实际值:{}".format(diff_field, find_field)) except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e
def test_sy_jgq_search_phone_006(self): "首页金刚区-热门功能-找电话,校验 「清空」按钮-取消功能" self.log.info(self.test_sy_jgq_search_phone_006.__doc__) try: flag = self.operation.is_element(MobileBy.ACCESSIBILITY_ID, "清空") if not flag: self.log.info("没有搜索记录") # 搜索 self.operation.send(MobileBy.IOS_CLASS_CHAIN, self.excel['search_field'], "百度") # 一键清除 self.preprocessing.clear_text() self.preprocessing.clear_history(select=False) elem = self.operation.is_element(MobileBy.ACCESSIBILITY_ID, "最近搜索") self.assertTrue(elem, "最近搜索栏不存在") except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e
def _update_account_status(self, account, status, vip_type, account_special): """ 更新account状态 @param account: 账号 @param status: 使用状态 @param vip_type: 账号类型 @return: """ try: user = getpass.getuser() with self.db.cursor() as cursor: dt = datetime.datetime.now() dt_now = dt.strftime("%Y-%m-%d %H:%M:%S") update_sql = "UPDATE account SET status = '{}', update_time = '{}', user = '******' WHERE phone='{}' and vip='{}' and special='{}'".format( status, dt_now, user_dict.setdefault(user.lower(), user), account, vip_type, account_special ) cursor.execute(update_sql) self.db.commit() except Exception as e: self.log.error(error_format(e)) self.db.rollback()
def test_sy_jgq_tyc_map_003(self): "首页金刚区-热门功能-天眼地图,校验搜索-一键清除按钮" self.log.info(self.test_sy_jgq_tyc_map_003.__doc__) try: self.operation.new_element(MobileBy.ACCESSIBILITY_ID, "输入地点,即可查询周围的公司").click() self.operation.send(MobileBy.ACCESSIBILITY_ID, "输入地点,即可查询周围的公司", "百度") groups = len( self.operation.new_elements(MobileBy.IOS_CLASS_CHAIN, self.excel['ty_map_search_list'])) self.log.info("搜索结果数:{}".format(groups)) # 一键清除 self.preprocessing.clear_text() find_title = self.operation.is_element(MobileBy.ACCESSIBILITY_ID, "您可以试试") self.assertTrue(find_title, "未找到「您可以试试」") except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e
def test_sy_jgq_search_phone_003(self): "首页金刚区-热门功能-找电话,校验 搜索结果包含搜索关键词「百、度」" self.log.info(self.test_sy_jgq_search_phone_003.__doc__) try: search_word = "百度" # 搜索 self.operation.send(MobileBy.IOS_CLASS_CHAIN, self.excel['search_field'], search_word) for i in range(0, 5): company_name = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['search_phone_company'].format(i + 1)).text self.log.info("当前校验的公司名:{}".format(company_name)) assert search_word[0] in company_name or search_word[ 1] in company_name, "当前校验的公司名:{},不包含{}、{}".format( company_name, search_word[0], search_word[1]) except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e
def _make_account(self): """ 制造account @return: """ try: # self._table_exists("account") base = 11099995001 vip_base = 11099990101 with self.db.cursor() as cursor: for i in range(0, 100): dt = datetime.datetime.now() dt_now = dt.strftime("%Y-%m-%d %H:%M:%S") # 是否是特殊账号 if str(base + i) in exclude_account: account_sql = "insert into account (phone, status, create_time, vip, special) values ('{}','{}','{}', '{}', '{}')".format( str(base + i), "0", dt_now, "0", "1" ) else: account_sql = "insert into account (phone, status, create_time, vip, special) values ('{}','{}','{}', '{}', '{}')".format( str(base + i), "0", dt_now, "0", "0" ) # VIP 是否是特殊账号 if str(vip_base + i) in exclude_account: account_sql_vip = "insert into account (phone, status, create_time, vip, special) values ('{}','{}','{}', '{}', '{}')".format( str(vip_base + i), "0", dt_now, "1", "1" ) else: account_sql_vip = "insert into account (phone, status, create_time, vip, special) values ('{}','{}','{}', '{}', '{}')".format( str(vip_base + i), "0", dt_now, "1", "0" ) cursor.execute(account_sql) cursor.execute(account_sql_vip) self.db.commit() self.log.info("账号批量生成成功") except Exception as e: self.log.error(error_format(e)) self.db.rollback()
def test_sy_jgq_tyc_map_001(self): "首页金刚区-热门功能-天眼地图,校验未登录点击页面条件,跳转登录页" self.log.info(self.test_sy_jgq_tyc_map_001.__doc__) try: msg = "短信验证码登录" # 「有手机号码」 self.operation.new_element(MobileBy.ACCESSIBILITY_ID, "有手机号码").click() login_title = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['login_title']).text self.assertEqual(msg, login_title, "预期值:{},实际值:{}".format(msg, login_title)) # 点击「返回」 self.preprocessing.backtrack() # 「有联系方式」 self.operation.new_element(MobileBy.ACCESSIBILITY_ID, "有联系方式").click() login_title = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['login_title']).text self.assertEqual(msg, login_title, "预期值:{},实际值:{}".format(msg, login_title)) # 点击「返回」 self.preprocessing.backtrack() # 「有联系邮箱」 self.operation.new_element(MobileBy.ACCESSIBILITY_ID, "有联系邮箱").click() login_title = self.operation.new_element( MobileBy.IOS_CLASS_CHAIN, self.excel['login_title']).text self.assertEqual(msg, login_title, "预期值:{},实际值:{}".format(msg, login_title)) except AssertionError as ae: raise self.failureException(ae) except Exception as e: self.log.error(error_format(e)) raise e
def get_count(self, **kwargs): """ 正则匹配文本中的数字,适用于 查找count数 @param kwargs: elements:一个element对象集合,用于批量匹配 单个匹配必传参数 find_type、find_element @return: """ try: if kwargs.get('elements'): result = list() for element in kwargs['elements']: count_num = self._re_count(element) result.append(count_num) return result else: if kwargs.get('find_type') and kwargs.get('find_element'): count_text = self.new_element(kwargs['find_type'], kwargs['find_element']).text return self._re_count(count_text) except Exception as e: self.log.error(error_format(e)) raise e