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: log.error(error_format(e)) self.db.rollback()
def test_gfxx_tab_ts_0006(self): "随机一个人员类型,提交成功,点击提示框图片,跳转天眼服务" log.info(self.test_gfxx_tab_ts_0006.__doc__) try: # 搜索公司 self.company.search_company(self.company_name, self.device) # 是否有问大家 self.company.ask_banner() # 点击 更多 more = self.operation.new_find_element(By.ID, self.ELEMENT['click_more']) more_local = more.location more.click() # 鼠标定位 投诉 self.company.click_tab(more_local) # 随机获取一个投诉身份 complaint_count = len(self.operation.new_find_elements(By.XPATH, self.ELEMENT['complaint_id'])) complaint_num = randint(1, complaint_count) complaint = self.operation.new_find_element(By.XPATH, self.ELEMENT['complaint_id'] + "[{}]".format(complaint_num)) log.info("本次投诉人员类型:{}".format(complaint.text)) complaint.click() # 输入内容 self.operation.adb_send_input(By.ID, self.ELEMENT['content_et'], self.rand_str.zh_cn(15), self.device) # 点击 提交 self.operation.new_find_element(By.ID, self.ELEMENT['complaint_btn']).click() self.operation.new_find_element(By.ID, self.ELEMENT['jump_intro']).click() new_title = self.operation.new_find_element(By.ID, self.ELEMENT['order_title']).text text = '电话咨询律师' self.assertEqual(text, new_title, "预期title:{},待校验title:{}".format(text, new_title)) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_gfxx_tab_ts_0002(self): "随机一个人员类型填写超过字数限制的内容,校验字数" log.info(self.test_gfxx_tab_ts_0002.__doc__) try: # 搜索公司 self.company.search_company(self.company_name, self.device) # 是否有问大家 self.company.ask_banner() # 点击 更多 more = self.operation.new_find_element(By.ID, self.ELEMENT['click_more']) more_local = more.location more.click() # 鼠标定位 投诉 self.company.click_tab(more_local) # 随机获取一个投诉身份 complaint_count = len(self.operation.new_find_elements(By.XPATH, self.ELEMENT['complaint_id'])) complaint_num = randint(1, complaint_count) complaint = self.operation.new_find_element(By.XPATH, self.ELEMENT['complaint_id'] + "[{}]".format(complaint_num)) log.info("本次投诉人员类型:{}".format(complaint.text)) complaint.click() # 输入内容 self.operation.adb_send_input(By.ID, self.ELEMENT['content_et'], self.rand_str.zh_cn(510), self.device) # 校验 字数 content_num = self.operation.new_find_element(By.ID, self.ELEMENT['content_length']).text text = "500/500" self.assertEqual(text, content_num, "预期字数文案:{},待校验字数文案:{}".format(text, content_num)) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_001(self): log.info(self.test_001.__doc__) try: self.login(self.vip_user, self.account.get_pwd()) cliam_status = self.is_boss_claim() if cliam_status: self.cancel_boss() self.im_boss('冯一桂', 1) if self.isElementExist(By.XPATH, "//*[@text='失败原因']"): self.new_find_element( By.ID, 'com.tianyancha.skyeye:id/company_auth_summit').click() self.new_find_element(By.XPATH, "//*[@text='提交成功']") else: self.new_find_element( By.ID, 'com.tianyancha.skyeye:id/company_auth_summit').click() self.assertTrue( self.isElementExist(By.XPATH, "//*[@text='请上传身份证信息']"), '未提交身份证信息时无toast提示') for i in range(0, 3): self.post_pohoto(i) self.cancel_boss() cliam_status = self.is_boss_claim() self.assertFalse(cliam_status, '账号{}未取消老板认证'.format(self.vip_user)) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e))
def test_gsxx_jcxx_006_p0(self): """公司logo""" log.info(self.test_gsxx_jcxx_006_p0.__doc__) try: self.sift_opera.into_company(company="阜新高新技术建设开发有限责任公司") portrait = self.new_find_element( By.XPATH, self.ELEMENT["iv_portrait_text"]).text self.assertEqual("高新\n技术", portrait, "===无公司logo,展示4个字文案失败===") while True: if self.isElementExist(By.ID, self.ELEMENT["search_input_edit"]): self.new_find_element( By.ID, self.ELEMENT["search_input_edit"]).send_keys( "贵安新区东旗高新技术有限公司") self.new_find_element( By.XPATH, '//*[@class="android.widget.TextView" and @text="贵安新区东旗高新技术有限公司"]' ).click() iv_portrait = self.new_find_element( By.XPATH, self.ELEMENT["iv_portrait_text"]).text self.assertEqual("东旗", iv_portrait, "===无公司logo,展示2个字文案失败===") break else: self.driver.keyevent(4) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise Exception
def test_gfxx_tab_jk_0004(self): "点击「已监控」,弹窗提示,点击「我在想想」,放弃取消监控操作" log.info(self.test_gfxx_tab_jk_0004.__doc__) try: login_status = self.operation.is_login() if not login_status: self.operation.login(phone_num=self.user, password=self.account.get_pwd()) # 进入 公司详情页 self.company.search_company(self.company_name, self.device) # 是否有问大家 self.company.ask_banner() # 公司是否被监控 monitor = self.company.is_monitor() log.info("监控状态:{}".format(monitor)) if not monitor: self.company.click_monitor() # 点击取消监控,并点击「我在想想」 self.company.click_monitor(monitor_status=True, click_status=True) # 再次查看 监控 状态 monitor_status = self.company.is_monitor() self.assertTrue(monitor_status, "实际监控状态:{}".format(monitor_status)) except AssertionError: raise self.failureException except Exception as e: log.error(error_format(e))
def test_gfxx_tab_jk_0006(self): "点击「已监控」,弹窗提示,点击任意非弹窗区域,隐藏弹窗" log.info(self.test_gfxx_tab_jk_0006.__doc__) try: login_status = self.operation.is_login() if not login_status: self.operation.login(phone_num=self.user, password=self.account.get_pwd()) # 进入 公司详情页 self.company.search_company(self.company_name, self.device) # 是否有 问大家 条幅 self.company.ask_banner() # 公司是否被监控 monitor = self.company.is_monitor() log.info("监控状态:{}".format(monitor)) if not monitor: self.company.click_monitor() # 点击取消监控,弹出提示框 self.company.click_monitor() # 账号是否是第一次监控,是的话需要关闭填写邮箱 self.company.is_first_monitor(outtime=5) # 点击 弹框外任意区域,取消弹框 TouchAction(self.driver).press(x=300, y=500).release().perform() # 再次查看 监控 状态 monitor_status = self.company.is_monitor() self.assertTrue(monitor_status, "实际监控状态:{}".format(monitor_status)) except AssertionError: raise self.failureException except Exception as e: log.error(error_format(e)) raise e
def test_002_taiwan_djs_p0(self): """ 台湾企业-企业背景-董监事 """ log.info(self.test_002_taiwan_djs_p0.__doc__) try: self.enter_official_information('怡安医疗器材股份有限公司') # 获取董监事公司详情页count targeting_count = self.new_find_element(By.XPATH, self.ELEMENT['targeting_count']).text targeting_count = int(targeting_count) log.info("董监事count:{}".format(targeting_count)) # 进入董监事模块 self.new_find_element(By.XPATH, self.ELEMENT["targeting"]).click() title_name = self.get_elemengt_text(self.ELEMENT['title_name']) log.info("页面title:{}".format(title_name)) self.assertEqual("董监事", title_name, msg="页面title不对应") # 获取董监事列表页count targeting_count1 = self.all_count_compute_v1(By.ID, self.ELEMENT['tv_person_name']) log.info("统计董监事count:{}".format(targeting_count1)) self.assertEqual(targeting_count1, targeting_count, msg="count数不对应") # 所代表法人 tv_setdata = self.new_find_elements(By.ID, self.ELEMENT['tv_setdata'])[1].text log.info("所代表法人:{}".format(tv_setdata)) # 持有股份数 tv_final_change_data = self.new_find_elements(By.ID, self.ELEMENT['tv_final_change_data'])[1].text log.info("持有股份数:{}".format(tv_final_change_data)) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise Exception
def test_003_taiwan_jlr_p0(self): """ 台湾企业-企业背景-经理人 """ log.info(self.test_003_taiwan_jlr_p0.__doc__) try: self.enter_official_information('怡安医疗器材股份有限公司') # 获取经理人公司详情页count Managers_count = self.new_find_element(By.XPATH, self.ELEMENT['Managers_count']).text Managers_count = int(Managers_count) log.info("经理人count:{}".format(Managers_count)) # 进入经理人模块 self.new_find_element(By.XPATH, self.ELEMENT["Managers"]).click() title_name = self.get_elemengt_text(self.ELEMENT['title_name']) log.info("页面title:{}".format(title_name)) self.assertEqual("经理人", title_name, msg="页面title不对应") # 获取经理人列表页count Managers_count1 = self.all_count_compute_v1(By.ID, self.ELEMENT['tv_person_name']) log.info("统计董监事count:{}".format(Managers_count1)) self.assertEqual(Managers_count1, Managers_count, msg="count数不对应") # 到职日期 tv_duty = self.new_find_elements(By.ID, self.ELEMENT['tv_duty'])[0].text log.info("到职日期:{}".format(tv_duty)) self.assertTrue(check_time(tv_duty)) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise Exception
def test_003_gsxx_gd_p0(self): """公司详情页,股东/高管""" log.info(self.test_003_gsxx_gd_p0.__doc__) try: self.sift_opera.into_company(company="万科企业股份有限公司") # 股东 holder = self.isElementExist(By.ID, self.ELEMENT["holder_type_iv"]) self.assertTrue(holder, "===大股东标签缺失===") result = self.detail_opera(By.ID, self.ELEMENT["tv_shareholder_count"], tag=0) self.assertEqual("十大股东", result, "===失败-上市公司,点击「股东」未进入「十大股东页」===") result = self.detail_opera(By.XPATH, self.ELEMENT["tv_shareholder_1"], num=2) self.assertTrue(result, "===非自然人股东,跳转详情页错误===") # 高管 result = self.detail_opera(By.ID, self.ELEMENT["tv_staff_count"], tag=0) self.assertEqual("高管信息", result, "===失败-上市公司,点击「高管」未进入「高管信息页」===") except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e))
def test_002(self): """历史网站备案维度""" log.info(self.test_002.__doc__) try: self.go_company_detail("乐视控股(北京)有限公司") self.swipe_up_while_ele_located(By.XPATH, self.ELEMENT["his_wzba"]) wzba = self.new_find_element(By.XPATH, self.ELEMENT["his_wzba"]) wzba_count = int( self.new_find_element(By.XPATH, self.ELEMENT["his_wzba_count"]).text) wzba.click() domain_name = self.new_find_elements( By.ID, self.ELEMENT['his_wzba_domain_name'])[0].text web_address = self.new_find_elements( By.XPATH, self.ELEMENT['his_wzba_web_address'])[0].text self.assertIn(domain_name, web_address, '网址{}不包含域名{}'.format(domain_name, web_address)) date = self.new_find_elements( By.ID, self.ELEMENT['his_wzba_date'])[0].text self.assertTrue(check_time(date, is_compare=True), '历史网站备案审核日期字段校验错误') real_num = self.all_count_compute_v1( By.XPATH, self.ELEMENT["his_wzba_list_item"]) self.assertEqual( wzba_count, real_num, "历史网站备案实际数量{}与维度count数量{}不相等".format(real_num, wzba_count)) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_002_gsxx_jcxx_p0(self): """公司详情页,登陆vip账号""" log.info(self.test_002_gsxx_jcxx_p0.__doc__) try: self.sift_opera.login_vip(self.phone_vip, self.account.get_pwd()) self.sift_opera.into_company(company="万科企业股份有限公司") result = self.detail_opera(By.ID, self.ELEMENT["tv_des_sub_value_1"], num=0) self.assertTrue(result, "===登陆态,跳转「法定代表人」详情页失败===") result = self.detail_opera(By.ID, self.ELEMENT["tv_claim"], tag=0) self.assertEqual("选择认证套餐", result, "===评分弹出,认证入口,跳转失败===") self.new_find_element(By.ID, self.ELEMENT["tv_base_info_phone"]).click() delte_cancel = self.new_find_element( By.ID, self.ELEMENT["delte_cancel"]).text self.assertEqual("修改电话", delte_cancel, "===电话弹窗,弹出失败===") result = self.detail_opera(By.ID, self.ELEMENT["delte_cancel"], tag=0) self.assertEqual("选择认证套餐", result, "===电话弹窗,修改电话,跳转失败===") result = self.detail_opera(By.ID, self.ELEMENT["iv_claim_label"], tag=0) self.assertEqual("选择认证套餐", result, "===登录态点击「我要认证」标签,跳转失败===") except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e))
def test_001_cgx_vip_p0(self): """未登陆、非VIP校验""" log.info(self.test_001_cgx_vip_p0.__doc__) try: result1, result2, result3, result4 = self.check_vip_normal(1) # 断言 - 更多筛选下拉框,展示vip入口 self.assertTrue(result1, "===失败-获取更多筛选下拉框vip入口失败===") # 断言 - 更多筛选下拉框,点击vip入口 self.assertTrue(result2, "===失败-未登陆态,更多筛选下拉框vip入口,拉起登陆页失败===") # 断言 - 更多筛选下拉框,点击普通筛选项 self.assertFalse(result3, "===失败-未登陆态,更多筛选下拉框非vip筛选项错误拉起登陆===") # 断言 - 更多筛选下拉框,点击高级筛选项 self.assertTrue(result4, "===失败-拉起登陆页失败===") # 判断非vip self.sift_opera.login_normal(self.phone_normal, self.account.get_pwd()) result1, result2, result3, result4 = self.check_vip_normal(2) # 断言 - 更多筛选下拉框,点击vip入口 self.assertTrue(result2, "===失败-非vip,更多筛选下拉框vip入口,拉起登陆页失败===") # 断言 - 更多筛选下拉框,点击普通筛选项 self.assertFalse(result3, "===失败-非vip,更多筛选下拉框非vip筛选项,错误限制===") # 断言 - 更多筛选下拉框,点击高级筛选项 self.assertTrue(result4, "===失败-弹出vip弹窗失败===") except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise Exception
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() except Exception as e: log.error(error_format(e)) self.db.rollback()
def test_001(self): log.info(self.test_001.__doc__) try: self.login(self.user, self.account.get_pwd()) self.new_find_element(By.XPATH, self.ELEMENT["home_headline"]).click() sleep(10) question = self.new_find_element( By.ID, "com.tianyancha.skyeye:id/rl_title", outtime=10) question.click() self.swipeUp() a = self.new_find_element(By.XPATH, self.ELEMENT["agree_count"]).text self.new_find_element(By.XPATH, self.ELEMENT["agree_btn"]).click() b = self.isElementExist(By.XPATH, "//*[contains(@text,'已点过赞')]") if b == True: pass else: if a == "点赞": count = self.new_find_element( By.XPATH, self.ELEMENT["agree_count"]).text self.assertEqual(count, "1", "回答点赞错误") else: count = int( self.new_find_element( By.XPATH, self.ELEMENT["agree_count"]).text) self.assertEqual(count, int(a) + 1, "回答点赞错误") except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_002(self): log.info(self.test_002.__doc__) try: # 公司详情页--官方信息进入问答热门问答列表、问题编辑器 self.go_hot_question_list(2, "深圳市腾讯计算机系统有限公司") self.assertTrue( self.new_find_elements(By.XPATH, self.ELEMENT["hot_questions_list"], outtime=10), "公司详情页进入热门问答列表失败", ) self.driver.keyevent(4) self.new_find_element( By.ID, self.ELEMENT["company_official_ask"]).click() self.assertTrue( self.isElementExist(By.XPATH, self.ELEMENT["question_ugc_title"]), "公司详情页进入问题编辑器失败", ) self.assertFalse( self.new_find_element( By.ID, self.ELEMENT["question_ugc_relation_company"]), "公司详情页进入问答编辑器有关联公司按钮", ) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_002(self): log.info(self.test_002.__doc__) try: self.new_find_element(By.XPATH, self.ELEMENT["home_headline"]).click() sleep(10) question = self.new_find_element( By.ID, "com.tianyancha.skyeye:id/rl_title", outtime=10) question.click() self.swipeUp() # 非VIP私信VIP限制 self.new_find_elements(By.ID, 'com.tianyancha.skyeye:id/iv_avatar', outtime=10)[0].click() self.new_find_element(By.XPATH, self.ELEMENT["im_btn"]).click() self.new_find_element( By.ID, "com.tianyancha.skyeye:id/bar_edit_text").send_keys("你好") self.driver.keyevent(66) self.assertTrue( self.isElementExist(By.XPATH, self.ELEMENT["im_vip_toast"], outtime=15), "非vip用户进行私信无VIP弹窗", ) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_006(self): log.info(self.test_006.__doc__) try: self.go_hot_question_list(5) self.assertTrue( self.isElementExist(By.XPATH, self.ELEMENT["hot_questions_list"]), "人员详情页进入热门问答列表失败", ) self.driver.keyevent(4) self.new_find_element( By.XPATH, self.ELEMENT["company_question_ugc"]).click() self.assertTrue( self.new_find_element(By.XPATH, self.ELEMENT["question_ugc_toolbar"]), "人员详情页无法进入编辑器", ) self.assertFalse( self.new_find_element( By.ID, self.ELEMENT["question_ugc_relation_company"]), "人员详情页进入问答编辑器有关联公司按钮", ) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_gfxx_tab_jk_0005(self): "点击「已监控」,弹窗提示,点击「确认」,执行取消监控操作" log.info(self.test_gfxx_tab_jk_0005.__doc__) try: login_status = self.operation.is_login() if not login_status: self.operation.login(phone_num=self.user, password=self.account.get_pwd()) # 进入 公司详情页 self.company.search_company(self.company_name, self.device) # 是否有问大家 self.company.ask_banner() # 公司是否被监控 monitor = self.company.is_monitor() log.info("监控状态:{}".format(monitor)) if not monitor: self.company.click_monitor() # 点击取消监控,并点击「确认」 self.company.click_monitor(monitor_status=True) toast = self.operation.get_toast() text = "已取消监控" self.assertEqual(text, toast, "获取的toast:「{}」与预期值「{}」 不一致".format(toast, text)) # 再次查看 监控 状态 monitor_status = self.company.is_monitor() self.assertFalse(monitor_status, "实际监控状态:{}".format(monitor_status)) except AssertionError: raise self.failureException except Exception as e: log.error(error_format(e)) raise e
def test_007(self): log.info(self.test_007.__doc__) try: self.new_find_element(By.XPATH, self.ELEMENT["home_headline"]).click() sleep(10) question = self.new_find_element( By.ID, "com.tianyancha.skyeye:id/rl_title", outtime=10) question.click() self.swipeUp() self.new_find_element(By.XPATH, self.ELEMENT["reply"], outtime=10).click() self.new_find_element(By.ID, self.ELEMENT["reply_edit"]).send_keys( self.ELEMENT["answer"]) self.new_find_element(By.ID, self.ELEMENT["reply_send"]).click() login_use_pwd = self.isElementExist(By.XPATH, self.ELEMENT["login_use_pwd"]) login_new = self.isElementExist(By.XPATH, self.ELEMENT["login_new"]) if login_use_pwd == True or login_new == True: result = True else: result = False self.assertTrue(result, "问答点击发送回复未调起登录") except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_gfxx_tab_jk_0001(self): "未登录账号,点击「监控」,拉起登陆" log.info(self.test_gfxx_tab_jk_0001.__doc__) try: # 搜索公司 self.company.search_company(self.company_name, self.device) # 是否有问大家 self.company.ask_banner() # 公司是否被监控 monitor = self.company.is_monitor() log.info("监控状态:{}".format(monitor)) if monitor: # 取消 「监控」 self.company.click_monitor(monitor_status=True) time.sleep(2) # 点击「监控」 self.company.click_monitor() # 判断是否调起登陆 login_text = self.operation.new_find_element( By.ID, self.ELEMENT["log_title"]).text text = "短信验证码登录" self.assertEqual(login_text, text, "获取的文案 {},实际文案:{}".format(login_text, text)) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_history_info_002(self): log.info(self.test_history_info_002.__doc__) try: self.go_company_detail("宁夏天元锰业") self.swipe_up_while_ele_located(By.XPATH, self.ELEMENT["history_moduel"]) self.swipe_up_while_ele_located( By.XPATH, self.ELEMENT["his_bzxr"], click=True, check_cover=True ) self.assertTrue( self.isElementExist(By.XPATH, self.ELEMENT["login_new"]), "进入历史信息-被执行人未调起登录" ) self.driver.keyevent(4) self.swipe_up_while_ele_located(By.XPATH, self.ELEMENT["his_dcdy"], click=True) self.assertTrue( self.isElementExist(By.XPATH, self.ELEMENT["login_new"]), "进入历史信息-动产抵押未调起登录" ) self.driver.keyevent(4) self.swipe_up_while_ele_located(By.XPATH, self.ELEMENT["his_wzba"], click=True) self.assertTrue( self.isElementExist(By.XPATH, self.ELEMENT["login_new"]), "进入历史信息-网站备案未调起登录" ) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_gsxx_jcxx_004_p0(self): """高新技术企业标签""" log.info(self.test_gsxx_jcxx_004_p0.__doc__) try: self.sift_opera.into_company(company="北京金堤科技有限公司") # 对logo进行校验 portrait = self.isElementExist(By.XPATH, self.ELEMENT["iv_portrait_img"]) self.assertTrue(portrait, "===公司logo未展示===") self.new_find_element(By.XPATH, self.ELEMENT["iv_portrait_img"]).click() logo = self.isElementExist(By.ID, self.ELEMENT["preview_photo_root"]) self.assertTrue(logo, "===点击logo,放大查看失败===") if logo: self.driver.keyevent(4) self.new_find_element(By.XPATH, self.ELEMENT["tag_firm_4"]).click() txt_msg = self.new_find_element(By.ID, self.ELEMENT["txt_msg"]).text self.assertIn("高新技术企业", txt_msg, "===「高新技术企业」标签,弹窗文案错误==") except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise Exception
def test_history_info_004(self): log.info(self.test_history_info_004.__doc__) try: self.go_company_detail("湖南盛华夏矿业投资有限公司") self.swipe_up_while_ele_located(By.XPATH, self.ELEMENT["history_moduel"]) self.swipe_up_while_ele_located(By.XPATH, self.ELEMENT["his_xzxfl"], click=True) self.assertTrue( self.isElementExist(By.XPATH, self.ELEMENT["login_new"]), "进入历史信息-限制消费令未调起登录", ) self.driver.keyevent(4) self.swipe_up_while_ele_located(By.XPATH, self.ELEMENT["his_sfxz"], click=True) self.assertTrue( self.isElementExist(By.XPATH, self.ELEMENT["login_new"]), "进入历史信息-司法协助未调起登录") except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_002_cgx_gjsx_zpzzq_p0(self): """查关系-搜索中间页,高级筛选:作品著作权""" log.info(self.test_002_cgx_gjsx_zpzzq_p0.__doc__) try: inputTarget = self.sift_opera.search_key(2) num_zpzzq = random.randint(1, 2) num_zpzzq = 2 selectTarget, selectText = self.sift_opera.get_key("more_zpzzq_title", "more_zpzzq", num_zpzzq) result = self.sift_opera.detail4relation("著作权", selectTarget, inputTarget, num_zpzzq) if num_zpzzq == 2 and not result: # 断言-详情页「著作权」维度无数据时 self.assertFalse(result, "===失败-高级筛选:「无作品著作权」错误===") else: if num_zpzzq == 1: # 断言-「有作品著作权」 # self.assertNotIn("0", result, "===失败-高级筛选:「有作品著作权」错误===") log.info("作品著作权:{}个".format(result)) self.assertNotEqual(0, result, "===失败-高级筛选:「有作品著作权」错误===") else: # 断言-「无作品著作权」 # self.assertIn("0", result, "===失败-高级筛选:「无作品著作权」错误===") self.assertEqual(0, result, "===失败-高级筛选:「无作品著作权」错误===") except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise Exception
def test_history_info_002(self): log.info(self.test_history_info_002.__doc__) try: self.go_company_detail("乐视控股(北京)有限公司") self.swipe_up_while_ele_located(By.XPATH, self.ELEMENT["history_moduel"]) self.swipe_up_while_ele_located(By.XPATH, self.ELEMENT["his_sxxx"], click=True) self.assertTrue( self.isElementExist(By.XPATH, self.ELEMENT["login_new"]), "进入历史信息-失信信息未调起登录") self.driver.keyevent(4) self.swipe_up_while_ele_located(By.XPATH, self.ELEMENT["his_zbaj"], click=True) self.assertTrue( self.isElementExist(By.XPATH, self.ELEMENT["login_new"]), "进入历史信息-终本案件未调起登录") self.driver.keyevent(4) self.swipe_up_while_ele_located(By.XPATH, self.ELEMENT["his_jyyc"], click=True, check_cover=True) self.assertTrue( self.isElementExist(By.XPATH, self.ELEMENT["login_new"]), "进入历史信息-经营异常未调起登录") except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_gfxx_tab_ts_0001(self): "随机一个人员类型不填写投诉信息,点击「提交」,toast提示“请输入投诉内容”" log.info(self.test_gfxx_tab_ts_0001.__doc__) try: # 搜索公司 self.company.search_company(self.company_name, self.device) # 是否有问大家 self.company.ask_banner() # 点击 更多 more = self.operation.new_find_element(By.ID, self.ELEMENT['click_more']) more_local = more.location more.click() # 鼠标定位 投诉 self.company.click_tab(more_local) # 随机获取一个投诉身份 complaint_count = len(self.operation.new_find_elements(By.XPATH, self.ELEMENT['complaint_id'])) complaint_num = randint(1, complaint_count) complaint = self.operation.new_find_element(By.XPATH, self.ELEMENT['complaint_id'] + "[{}]".format(complaint_num)) log.info("本次投诉人员类型:{}".format(complaint.text)) complaint.click() self.operation.new_find_element(By.ID, self.ELEMENT['complaint_btn']).click() toast = self.operation.get_toast() text = "请输入投诉内容" self.assertEqual(text, toast, "预期toast:{},待校验toast:{}".format(text, toast)) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_001_cgs_gjsx_rjzzq_p0(self): """查公司-搜索中间页,高级筛选:软件著作权""" log.info(self.test_001_cgs_gjsx_rjzzq_p0.__doc__) try: self.sift_opera.search_key(1) num_rjzzq = random.randint(1, 2) selectTarget, selectText = self.sift_opera.get_key( "more_rjzzq_title", "more_rjzzq", num_rjzzq) result = self.sift_opera.detail4company(selectText, "著作权", selectTarget, num_rjzzq) if num_rjzzq == 2 and not result: # 断言-详情页「著作权」维度无数据时 self.assertFalse(result, "===失败-高级筛选:「无软件著作权」错误===") else: if num_rjzzq == 1: # 断言-「有软件著作权」 self.assertNotIn("0", result, "===失败-高级筛选:「有软件著作权」错误===") else: # 断言-详情页「有作品著作权」,「无软件著作权」 self.assertIn("0", result, "===失败-高级筛选:「无软件著作权」错误===") except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise Exception
def test_gfxx_tab_fk_0001(self): "纠错反馈页面,校验公司名是否是进入的公司名" log.info(self.test_gfxx_tab_fk_0001.__doc__) try: # 搜索公司 self.company.search_company(self.company_name, self.device) # 是否有问大家 self.company.ask_banner() # 点击 更多 more = self.operation.new_find_element(By.ID, self.ELEMENT['click_more']) more_local = more.location more.click() # 鼠标定位 反馈 self.company.click_tab(more_local, y_proportion=50) # 获取 纠错页面 公司名 new_company_name = self.operation.new_find_element( By.ID, self.ELEMENT['feedback_company_name']).text self.assertEqual( self.company_name, new_company_name, "预期公司名称:{},实际公司名称:{}".format(self.company_name, new_company_name)) except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e
def test_004(self): log.info(self.test_004.__doc__) try: # 进入我的问答tab self.new_find_element(By.ID, "com.tianyancha.skyeye:id/tab_iv_5").click() self.new_find_element( By.ID, "com.tianyancha.skyeye:id/iv_my_answers").click() self.new_find_element(By.XPATH, self.ELEMENT["mytab_myanswer_tab"]).click() delbtn = self.new_find_elements( By.ID, "com.tianyancha.skyeye:id/tv_delete") for i in range(len(delbtn)): delbtn[0].click() self.assertTrue( self.new_find_element(By.XPATH, self.ELEMENT["question_ugc_toast_6"]), "删除问题toast错误", ) self.assertFalse( self.new_find_element(By.XPATH, self.ELEMENT["answer_list_title"]), "删除回答失败") except AssertionError: raise self.failureException() except Exception as e: log.error(error_format(e)) raise e