def test_OA首页显示是否正常_期望显示当前登录用户名(self): Common.get_url_pagehome() home = Home() self.assertTrue(home.home_link_text('首页'), '首\页链接显示错误') self.assertTrue(home.username_text(username), '导航栏右侧用户姓名显示错误') api.save_page_img_2_report('首页截图') api.close_window_retain_one()
def test_as_addworkorder(self): '''查看首页是否显示正常''' try: api.get(as_work_order_list) as_workorder = ASWorkOrder() as_workorder.add_work_order(cpno) time.sleep(10) except: log.exception()
def test_OA0_登录_期望接口登录成功(self): api.get(login_url) res = api.driver.get_cookies() cookie = res[0]['name'] + '=' + res[0]['value'] api.cookie = cookie Common.oa_api_login(cookie) api.driver.add_cookie({ 'name': 'h3bpmportal', 'value': res[0]['value'] })
def home_link_text(self, expect_value): """ 获取首页链接文本 :return: """ if api.wait_text_equal(self.home_link, expect_value): return True else: api.save_page_img('首页链接文本显示错误') return False
def username_text(self, expect_value): """ 获取导航栏右侧的用户姓名 :return: """ if api.wait_text_equal(self.username, expect_value): return True else: api.save_page_img('首页用户名显示错误') return False
def setUpClass(cls): """ 测试固件的setUp()的代码,主要是测试的前提准备工作 :return: """ driver_init = DriverInit(is_headless=False) cls.driver = driver_init.driver api.driver = driver_init.driver api.get(as_work_order_list) token = Common.zhengt_yun_login() log.info('正通云平台token的值为[%s]'%token) api.driver.add_cookie({'name': 'token', 'value': token})
def test_OA流程中心发起审批任务是否正常_期望新建审批任务成功(self): Common.get_url_pagehome() home = Home() home.click_workflow_center_link() api.switch_new_window() workflow = WorkflowCenter() total_start = workflow.get_count_of_my_initiate() log.info('未添加流程之前,我拟办的总数量个数:%d' % total_start) workflow.click_add_workflow_link() self.assertTrue(workflow.workflow_list_item_len_gt_0(), '流程列表数据显示错误') workflow.click_test_workflow_link() workflow.click_speed_test_workflow_link() api.switch_new_window() workflow.wait_speed_test_form_title_display() workflow.send_text_speed_test_form_name_input('王志山') workflow.select_mobile_speed_test_form_mobile_select() api.save_page_img_2_report('新增审批流程页面截图') workflow.click_speed_test_form_submit_btn() time.sleep(1) workflow.accept_alert() time.sleep(1) workflow.accept_alert() total_end = workflow.get_count_of_my_initiate() log.info('添加流程之后,我拟办的总数量个数:%d' % total_end) self.assertTrue((total_end - total_start == 1), '新增失败') api.close_window_retain_one()
def wrapper(self): log.info('*' * 30 + f.__name__ + '*' * 30) log.info('开始执行用例[%s]' % f.__name__) try: f(self) except Exception as e: DriverApi.save_page_img(f.__name__) log.exception(e) self.fail() raise e finally: log.info('执行用例[%s]完成' % f.__name__) log.info('*' * 30 + f.__name__ + '*' * 30) log.info('\n\n')
def news_list_item_article_len_gt_0(self): """ 判断新闻列表页选项简介长度是否大于0 :return: """ self.news_list_first_item_name_exist() elements = self.news_list_article_els() for el in elements: el_text = el.text logger().info('新闻列表选项简介:%s' % el_text) if el_text is None or len(el_text) == 0: api.save_page_img('新闻列表选项简介长度等于0') return False return True
def list_text(self): if api.el_is_display(self.unfinish_workflow_list_has_data): text = api.get_text(self.unfinish_workflow_list_has_data) logger().info('待办任务列表选项标题:%s' % text) if len(text) > 0: return True else: return False elif api.get_text( self.unfinish_workflow_list_no_data) == '您的待办已经全部处理完成': return True else: api.save_page_img('待办列表显示错误') return False
def workflow_form_liushihao_text_valide(self): """ 验证流程新建成功后,生成一个流水号 :return: """ return api.wait_text_contains(self.speed_test_form_liushuihao_no, time.strftime("%Y%m"))
def click_my_initiate_link(self): """ 点击我拟办的链接 :return: """ js = '$("ul.navleft >li:eq(3) > a").click()' for i in range(10): try: api.execute_script(js) if api.get_current_url().find( '/app/Workflow/MyInstance') != -1: logger().info('页面跳转成功') break except: pass time.sleep(2)
def click_add_workflow_link(self): """ 点击新建流程链接 :return: """ js = '$("ul.navleft >li:eq(5) > a").click()' for i in range(10): try: api.execute_script(js) if api.get_current_url().find('/app/Workflow/MyWorkflow' ) != -1 and api.el_is_display( self.test_workflow_link): logger().info('页面跳转成功') break except: pass time.sleep(2)
def test_OA流程中心我的代办是否显示正常_期望列表数据大于等于0(self): """查看流程中心是否显示正常""" Common.get_url_pagehome() home = Home() home.click_workflow_center_link() api.switch_new_window() workflow = WorkflowCenter() self.assertTrue(workflow.list_text(), '列表数据显示错误') api.save_page_img_2_report('我的代办页面截图') api.close_window_retain_one()
def test_OA新闻中心显示是否正常_期望新闻列表数据标题简介长度大于0(self): Common.get_url_pagehome() home = Home() home.click_group_news_link() api.switch_new_window() news = GroupNews() self.assertTrue(news.news_list_item_name_len_gt_0(), '新闻列表选项标题长度等于0') self.assertTrue(news.news_list_item_article_len_gt_0(), '新闻列表选项简介长度等于0') api.save_page_img_2_report('新闻中心截图') api.close_window_retain_one()
def test_OA通知页面显示是否正常_期望列表数据标题发布者长度大于0(self): Common.get_url_pagehome() home = Home() home.click_notices_link() api.switch_new_window() notice = Notice() self.assertTrue(notice.notice_list_item_title_len_gt_0(), '通知列表选项标题长度等于0') self.assertTrue(notice.notice_list_item_publish_time_len_gt_0(), '通知列表选项标题长度等于0') self.assertTrue(notice.notice_list_item_publisher_len_gt_0(), '通知列表选项标题长度等于0') api.save_page_img_2_report('通知页面截图') api.close_window_retain_one()
def news_list_article_els(self): """ 新闻列表选项标题 :return: """ return api.wait_find_elements(self.news_list_article)
def send_cpno_in_select_cpno_window(self, cpno): """在选择车牌弹出中输入车牌号""" api.send_text(self.select_cpno_window_cpno_input, cpno)
def news_list_first_item_name_exist(self): """ 新闻列表选项标题 :return: """ return api.wait_find_elements(self.news_list_first_item_name)
def select_mobile_speed_test_form_mobile_select(self): api.click_element(self.speed_test_form_mobile_select)
def click_search_btn_in_select_cpno_window(self): """在选择车牌弹窗中点击搜索按钮""" api.click_element(self.select_cpno_window_search_btn)
def click_speed_test_form_submit_btn(self): api.click_element(self.speed_test_form_submit_btn)
def send_text_speed_test_form_name_input(self, name): api.send_text(self.speed_test_form_name_input, name)
def wait_speed_test_form_title_display(self): api.el_is_display(self.speed_test_form_title)
def click_select_cpno_btn(self): """点击选择车牌按钮""" api.click_element(self.select_cpno_btn)
def click_table_first_in_select_cpno_window(self): """在选择车牌弹窗中点击第一个搜索结果""" api.click_element(self.select_cpno_window_table_first_radio)
def click_enter_btn_in_select_cpno_window(self): """在选择车牌弹窗中点击确定按钮""" api.click_element(self.select_cpno_window_enter_btn)
def workflow_list_items(self): return api.wait_find_elements(self.add_workflow_list)
def get_url_pagehome(): """判断当前页面地址是否为首页,非首页则跳转到首页""" if DriverApi.get_current_url() == index_url: return else: DriverApi.get(index_url)
def click_speed_test_workflow_link(self): api.click_element(self.speed_test_workflow_link)