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)
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)
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)
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
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('执行完成')
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