Esempio n. 1
0
 def acceptAddElements(self,
                       accessNum,
                       elementList=[],
                       scene='AddElements'):
     '''
     个人业务-新增服务
     :param accessNum:服务号码
     :param productId:主产品编码
     :param elementList:资费和服务列表
     字典数组,包含 OFFER_CODE 和 Offer_type 2个key
     eg :[{"OFFER_CODE":"120000008174","OFFER_TYPE":"S"},{"OFFER_CODE":"120010122813","OFFER_TYPE":"D"}]
     :return:
     '''
     title = '主产品变更测试记录%s' % accessNum
     self.add_dochead(title)
     self.openProductChange()
     self.screen_step("进入产品变更菜单")
     authUser = DealUserCommon(self.driver).AuthUserInfo(
         accessNum)  #用户鉴权,包含了用户鉴权都结果和规则校验信息
     TR().updateRuleCheckInfo(sceneCode=scene, msg=authUser['msg'])
     Assert().assertTrue(authUser['IsAuthSuc'], msg='用户鉴权失败')  #做个鉴权认证
     #新增优惠按钮
     li_addElement = (By.ID, 'addElement')
     self.isElementDisplay(li_addElement, 'click')
     self.screen_step("选择资费或者服务订购")
     SelectElements(self.driver).addElements(elementList=elementList,
                                             scene=scene)
     self.backProdChgPage()  #点击回到产品变更主页面
     PageCommonPart(self.driver).submit()  #点击提交
     submitMsg = PageAssert(self.driver).assert_Submit()
     logger.info('业务受理信息:{}'.format(submitMsg))
     self.screen_step('点击提交,受理信息:{}'.format(submitMsg))
     self.save_docreport(title)
Esempio n. 2
0
 def acceptChgMainProduct(self,
                          accessNum,
                          productId,
                          elementList=[],
                          scene='ChgMainProduct'):
     '''
     个人业务-变更主产品
     :param accessNum:服务号码
     :param productId:主产品编码
     :param elementList:可选组元素列表
     :return:
     '''
     title = '主产品变更测试记录%s' % accessNum
     self.add_dochead(title)
     self.openProductChange()
     self.screen_step("进入产品变更菜单")
     authUser = DealUserCommon(self.driver).AuthUserInfo(
         accessNum)  #用户鉴权,包含了用户鉴权都结果和规则校验信息
     TR().updateRuleCheckInfo(sceneCode=scene, msg=authUser['msg'])
     Assert().assertTrue(authUser['IsAuthSuc'], msg='用户鉴权失败')  #做个鉴权认证
     self.screen_step("点击变更按钮")
     Btn_changeProduct = (By.ID, 'changeButton')
     self.isElementDisplay(Btn_changeProduct, 'click')  #点击产品变更按钮
     time.sleep(2)
     self.screen_step("选择主套餐")
     MainPlanSelectPart(self.driver).MainProductSel(productId, elementList)
     RuleCheckBefore(self.driver).checkRule()  #规则校验
     time.sleep(3)
     self.sendEnter()
     PageCommonPart(self.driver).submit()  #点击提交
     submitMsg = PageAssert(self.driver).assert_Submit()
     logger.info('业务受理信息:{}'.format(submitMsg))
     self.screen_step('点击提交,受理信息:{}'.format(submitMsg))
     self.save_docreport(title)
Esempio n. 3
0
 def accept_addSaleActive(self,
                          accessNum,
                          offerCode,
                          scene='AddSaleActive'):
     '''
     个人业务-新增预存营销活动办理
     :param accessNum:服务号码
     :param OfferCode:营销活动编码
     :return:
     '''
     title = '%s办理营销活动%s_测试记录' % (accessNum, offerCode)
     self.add_dochead(title)
     self.openSaleActive()
     self.screen_step("进入营销活动受理(存送营销)菜单")
     authUser = DealUserCommon(self.driver).AuthUserInfo(
         accessNum)  #用户鉴权,包含了用户鉴权都结果和规则校验信息
     TR().updateRuleCheckInfo(sceneCode=scene, msg=authUser['msg'])
     Assert().assertTrue(authUser['IsAuthSuc'], msg='用户鉴权失败')  #做个鉴权认证
     SaleActivePart(self.driver).addSaleActive(offerCode)
     RuleCheckBefore(self.driver).checkRule(
         scene)  #规则校验,如果失败则终止,并将校验结果写入到数据库中
     ####校验码的问题######
     PageCommonPart(self.driver).submit()  #点击提交
     submitMsg = PageAssert(self.driver).assert_Submit()
     logger.info('业务受理信息:{}'.format(submitMsg))
     self.screen_step('点击提交,受理信息:{}'.format(submitMsg))
     self.save_docreport(title)
Esempio n. 4
0
 def checkBefore(self, scene='RULE_CHECK_BEFORE'):
     '''
     根据场景编码校验业务受理前置规则
     :param scene:
     :return:
     '''
     '''个人业务前置业务规则判断'''
     self.screen_step('CheckRuleBefore业务规则判断')
     rulemsg = PageAssert(self.driver).assert_WadePage()
     logger.info('Wade页面返回的业务规则校验信息:'.format(rulemsg))
     TR().updateRuleCheckInfo(msg=rulemsg, sceneCode=scene)
     Assertion().assertNotIn('校验失败', rulemsg, msg='[规则校验通过]')
     Assertion().assertNotIn('校验不通过', rulemsg, msg='[规则校验通过]')
     return rulemsg
Esempio n. 5
0
    def testCrtUsVpmn(self, dic):
        '''集团VPMN商品订购'''
        logger.info("开始参数化......")
        logger.info('开始执行案例,案例执行参数:{}'.format(dic))
        sceneCode = dic.get('SCENE_CODE')
        groupId = dic.get('groupId')
        brandCode = str(dic.get('brandCode'))  #集团商品归属品牌
        offerCode = dic.get('offerCode')
        contractId = dic.get('contractId')
        elementAttrBizList = dic.get('elementAttrBizList')
        logger.info(elementAttrBizList)
        logger.info(type(elementAttrBizList))
        submitMsg = GroupOfferAccept(self.driver).accept_CrtUs(
            scene=sceneCode,
            groupId=groupId,
            brandCode=brandCode,
            offerCode=offerCode,
            contractId=contractId,
            elementAttrBizList=elementAttrBizList)
        TR().updateActualResult(sceneCode='CrtUsVPMN', result=submitMsg)

        logger.info('执行完成')
Esempio n. 6
0
 def checkRule(self, scene='ruleCheck'):
     '''页面执行规则判断'''
     # stackInfo = retStackFunc()
     # # # funcCode = stackInfo['func']
     # print('=====被调用的函数:')
     # logger.info(stackInfo)
     '''处理Wade弹出的各种提示窗口(Error、Success、Warn、Help、Tips)'''
     loc_WadeMessage = (
         By.XPATH,
         '//div[starts-with(@id,"wade_messagebox") and not(contains(@style,"display: none"))]'
     )
     try:
         ele_wadeMsg = self.find(loc_WadeMessage)
         logger.info('找到WadeMsg弹出框:{}'.format(str(ele_wadeMsg)))
         classname = self.get(loc_WadeMessage,
                              Type='attribute',
                              name='class')  #取出WadeMsg的class属性值,判断是什么类型弹出
         logger.info('wadeMsg的类型:{}'.format(classname))
         time.sleep(2)
         WadeMsg = ele_wadeMsg.find_element_by_xpath(
             './div/div[2]/div[1]/div[2]').text
         logger.info('WadeMessageBox返回的信息:{}'.format(WadeMsg))
         '''根据classname类型按钮处理'''
         if 'c_msg-error' in classname:
             print('弹出WadeMsg的是错误提示')
             logger.info("业务校验失败:{}".format(WadeMsg))
             print('业务校验信息:{}'.format(WadeMsg))
             step_str = "业务校验"
             self.screen_step(step_str)  # 这个保存在测试记录文档中
             self.screenshot_SaveAsDoc(step_str)  # 截图单独保存到doc
             time.sleep(3)
             WadeMsg = '业务校验失败' + WadeMsg
         elif 'c_msg-success' in classname:
             print('弹出WadeMsg的是成功提示')
             ele_suc = ele_wadeMsg.find_element_by_xpath(
                 './div/div[2]/div[2]/button')
             self.click_on_element(ele_suc)
             self.sendEnter()
             time.sleep(2)
             WadeMsg = '弹出校验成功信息:' + WadeMsg
         elif 'c_msg-warn' in classname:
             print('弹出WadeMsg的是告警提示')
             step_str = "业务受理提示信息"
             self.screenshot_SaveAsDoc(step_str)
             ele_wadeMsg.find_element_by_xpath(
                 './div/div[2]/div[2]/button').click()  # 关闭提示窗口
             self.sendEnter()
             time.sleep(2)
             WadeMsg = '警告信息:' + WadeMsg
         elif 'c_msg-however' in classname:
             print('弹出WadeMsg的是however')
             step_str = "业务受理提示信息"
             self.screenshot_SaveAsDoc(step_str)
             ele_wadeMsg.find_element_by_xpath(
                 './div/div[2]/div[2]/button').click()  # 关闭提示窗口
             self.sendEnter()
             time.sleep(2)
             WadeMsg = '业务校验:' + WadeMsg
             logger.info(WadeMsg)
         elif 'c_msg-help' in classname:
             print('弹出WadeMsg的是帮助提示')
             ele_help = ele_wadeMsg.find_element_by_xpath(
                 './div/div[2]/div[2]/button[1]')
             self.click_on_element(ele_help)
             self.sendEnter()
             time.sleep(3)
         elif 'c_msg c_msg-h c_msg-phone-v c_msg-full' == classname:
             print('弹出WadeMsg的是普通提示')
             step_str = "业务受理提示信息"
             logger.info('业务受理提示信息:{}'.format(WadeMsg))
             self.screenshot_SaveAsDoc(step_str)
             ele_wadeMsg.find_element_by_xpath(
                 './div/div[2]/div[2]/button[1]').click()  # 关闭提示窗口
             time.sleep(2)
             WadeMsg = '出现提示信息:' + WadeMsg
             self.sendEnter()
     except:
         WadeMsg = '没有弹出WadeMessage提示,校验通过'
     logger.info('======WadeMessageBox页面返回============={}'.format(WadeMsg))
     TR().updateRuleCheckInfo(msg=WadeMsg, sceneCode=scene)
     Assertion().assertNotIn('校验失败', WadeMsg, msg='[规则校验通过]')
     Assertion().assertNotIn('校验不通过', WadeMsg, msg='[规则校验通过]')
     return WadeMsg