class TestCreateActivityClass(unittest.TestCase):  # 创建测试类
    @classmethod  # 类方法,只执行一次,但必须要加注解@classmethod,且名字固定为setUpClass
    def setUpClass(cls):
        # from base.getcookie import GetCookie
        # outjsonfile = "../../../cookiejson/cookiemanager.json"
        # outloginurl = LoginPage().pageurl
        # outloginaccountxpath = LoginPage().account
        # outloginaccounttext = "81122336666"
        # outloginppasswordxpath = LoginPage().password
        # outloginpasswordtext = "abc123456"
        # outloginbuttonxpath = LoginPage().loginbutton
        #
        # getcookie = GetCookie(outjsonfile=outjsonfile, outloginurl=outloginurl,
        #                       outloginaccountxpath=outloginaccountxpath,
        #                       outloginaccounttext=outloginaccounttext, outloginppasswordxpath=outloginppasswordxpath,
        #                       outloginpasswordtext=outloginpasswordtext,
        #                       outloginbuttonxpath=outloginbuttonxpath)  # 实例化
        # getcookie.writerCookieToJson()

        pass

    @classmethod  # 类方法,只执行一次,但必须要加注解@classmethod,且名字固定为tearDownClass
    def tearDownClass(cls):
        pass

    def setUp(self):  # 每条用例执行测试之前都要执行此方法
        # self.jsonfile = '../../../cookiejson/cookieagent.json'
        # self.operationjson = OperationJson(file_path=self.jsonfile)   #实例化
        # self.cookie = self.operationjson.get_all_data()
        # print("self.cookie:%s" % self.cookie)
        self.activeweb = ActiveWeb()  # 实例化
        self.loginurl = LoginPage().pageurl
        self.activeweb.getUrl(self.loginurl)  # 打开网址
        self.activeweb.findElementByXpathAndInput(LoginPage().account,
                                                  MANAGER_LOGIN_ACCOUNT)
        self.activeweb.findElementByXpathAndInput(LoginPage().password,
                                                  MANAGER_LOGIN_PASSWORD)
        self.activeweb.findElementByXpathAndClick(LoginPage().loginbutton)
        self.activeweb.delayTime(3)
        self.testpage = ActivityCreatePage()
        self.testpageurl = self.testpage.pageurl  #测试页面url
        self.testpagehdmcinput = self.testpage.hdmc_input  # ---基础信息---#   活动名称输入框路劲
        self.testpagehdlxselect = self.testpage.hdlx_select  # ---基础信息---#   活动类型选项框路径
        self.testpagehdsjstarttime = self.testpage.hdsj_starttime  # ---基础信息---#   活动时间开始时间输入框路径
        self.testpagehdsjendtime = self.testpage.hdsj_endtime  # ---基础信息---#   活动时间结束时间输入框路径
        self.testpagehdysinput = self.testpage.hdys_input  # ---基础信息---#   活动预算输入框路径

        self.testpagehdbztextarea = self.testpage.hdbz_textarea  # ---基础信息---#  活动备注多行输入框路径

        self.testpagejllxselect = self.testpage.jllx_select  # ---活动奖励---# 奖励类型下拉框路径
        self.testpagewtjlp = self.testpage.w_tjlp  # ---活动奖励---# 未添加礼品时,“添加礼品”文字链接路径

        self.testpagecancelbutton = self.testpage.cancelbutton  #取消按钮
        self.testpagesubmitbutton = self.testpage.submitbutton  #提交按钮

        ######################创建优惠券页面###############################
        self.ticketcreatepage = TicketCreatePage()  #创建优惠券页
        self.ticketcreatepage_kcsl_input = self.ticketcreatepage.kcsl_input  #第一部分# 库存数量输入框路径
        self.ticketcreatepage_qyxq_select = self.ticketcreatepage.qyxq_select  #第一部分# 券有效期选择框路径
        self.ticketcreatepage_yhqsm_areatext = self.ticketcreatepage.yhqsm_areatext  #第一部分# 优惠券说明多行输入框路径
        self.ticketcreatepage_yhqmc_input = self.ticketcreatepage.yhqmc_input  #第二部分# 优惠券名称输入框路径
        self.ticketcreatepage_yhlx_select = self.ticketcreatepage.yhlx_select  #第二部分# 优惠类型选择框路径
        self.ticketcreatepage_yhms_select = self.ticketcreatepage.yhms_select  #第二部分# 优惠模式选择框路径
        self.ticketcreatepage_zdxf_input = self.ticketcreatepage.zdxf_input  #第二部分# 最低消费输入框路径
        self.ticketcreatepage_zfqdxz_select = self.ticketcreatepage.zfqdxz_select  #第二部分# 支付渠道限制选择框路径
        self.ticketcreatepage_syfw_select = self.ticketcreatepage.syfw_select  #第二部分# 使用范围选择框路径

        self.ticketcreatepage_confirm_button = self.ticketcreatepage.confirm_button  #页面 确定按钮

        ######################活动列表页###############################
        self.activitylistpage = ActivityListPage()  #活动列表页
        self.activitylistpage_searchtableresult = self.activitylistpage.searchtableresult

        ######################待上线活动详情页###############################
        self.activitydetialspage = ActivityDetialsPage()  #活动列表页

        #pass

    def tearDown(self):  # 每条用例执行测试之后都要执行此方法
        self.activeweb.closeBrowse()
        # pass

    def writexunicookie(self):
        addcookie = {
            'name': '.nereus.manager.settle.banks',
            'value': 'QCK9GvKG8OEOh6lRUyyLlmKnHl8i3w'
        }
        self.activeweb.driver.add_cookie(addcookie)
        self.activeweb.driver.refresh()
        self.activeweb.delayTime(5)
        self.activeweb.outPutMyLog("写入虚拟银行cookie完成")

    #定义创建活动,
    #投放渠道一级为1表示内部渠道,为2表示外部渠道
    #投放渠道二级为0表示全选,为1,2,等表示选一项和选多项组合,程序中只有全选和选择一项的情况
    # 任务类型为1表示注册,为2表示交易类型
    #奖励类型1表示固定奖励
    def definecreateactivity(self, num, hdmcinputtext, hdlx, hdysinputtext,
                             tfqdyj, tfqdej, hdbztextareainputtext, rwlx,
                             tjrwxz, jyjylx, jyzffs, jymgyhzdcycsinputtext,
                             jymgyhmrcycsinputtext, jllx, iscancel):
        self.activeweb.getUrl(self.testpageurl)
        self.activeweb.delayTime(3)

        #创建活动
        #填入基础信息部分
        self.activeweb.findElementByXpathAndInputNum(num,
                                                     self.testpagehdmcinput,
                                                     hdmcinputtext)  #输入活动名称

        #选择活动类型
        if hdlx == "1":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpagehdlxselect,
                self.testpage.hdlx_select_lx_option)  # 选择活动类型选择拉新
        elif hdlx == "2":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpagehdlxselect,
                self.testpage.hdlx_select_ch_option)  # 选择活动类型选择促活
        elif hdlx == "3":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpagehdlxselect,
                self.testpage.hdlx_select_lc_option)  # 选择活动类型选择留存
        elif hdlx == "4":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpagehdlxselect,
                self.testpage.hdlx_select_zh_option)  # 选择活动类型选择转化
        elif hdlx == "5":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpagehdlxselect,
                self.testpage.hdlx_select_tsbc_option)  # 选择活动类型选择投诉补偿

        self.activeweb.findElementByXpathAndClickAbountData(
            num,
            self.testpagehdsjstarttime,
            self.testpage.hdsj_starttime_daytime,
            pathright=self.testpage.hdsj_starttime_rightmove,
            pathconfirm=self.testpage.hdsj_starttime_queding)  #点选活动时间开始时间
        self.activeweb.findElementByXpathAndClickAbountData(
            num,
            self.testpagehdsjendtime,
            self.testpage.hdsj_endtime_daytime,
            pathright=self.testpage.hdsj_endtime_rightmove,
            pathconfirm=self.testpage.hdsj_endtime_queding)  #点选活动时间结束时间
        self.activeweb.findElementByXpathAndInputNum(num,
                                                     self.testpagehdysinput,
                                                     hdysinputtext)  #输入活动预算
        self.activeweb.findElementByXpathAndInputNum(
            num, self.testpagehdbztextarea, hdbztextareainputtext)  #输入活动备注

        #填入活动奖励部分
        if jllx == "1":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpagejllxselect,
                self.testpage.jllx_select_gdjl_option)  # 选择奖励类型为固定奖励
        self.activeweb.findElementByXpathAndClickNum(
            num, self.testpagewtjlp)  # 点击添加礼品文字链接(还未添加礼品)

        #进入创建优惠券页,新建优惠券
        #第一部分
        self.activeweb.findElementByXpathAndClickNum(
            num, self.ticketcreatepage.ffzt_kq_checkbox)  # 点击发放状态开始对应的选项框
        self.activeweb.findElementByXpathAndClickOptionXpathNum(
            num, self.ticketcreatepage_qyxq_select,
            self.ticketcreatepage.qyxq_select_option_xdsj)  # 选择券有效期选项为相对时间
        self.activeweb.findElementByXpathAndInputNum(
            num, self.ticketcreatepage.qyxq_select_option_xdsj_ts_input,
            "2")  # 输入相对时间为2天
        self.activeweb.findElementByXpathAndClickNum(
            num,
            self.ticketcreatepage.yxcbcdf_pt_checkbox)  # 点击营销成本承担方中的平台前的选项框
        self.activeweb.findElementByXpathAndInputNum(
            num, self.ticketcreatepage_yhqsm_areatext,
            "开启-不限库存数-相对时间(相对2天)-平台-代金券-固定金额(面值2000)-不限最低消费-使用平台(点选QRindo)-不限使用范围-支持退券"
        )  # 输入优惠券说明
        #第二部分
        self.activeweb.findElementByXpathAndInputNum(
            num, self.ticketcreatepage_yhqmc_input,
            "test_优惠券_%s" % GetTimeStr().getTimeStr())  # 添加优惠券名称
        self.activeweb.findElementByXpathAndClickOptionXpathNum(
            num, self.ticketcreatepage_yhlx_select,
            self.ticketcreatepage.yhlx_option_djq)  #优惠类型选择代金券
        self.activeweb.findElementByXpathAndClickOptionXpathNum(
            num, self.ticketcreatepage_yhms_select,
            self.ticketcreatepage.yhms_select_option_gdje)  #优惠模式选择固定金额
        self.activeweb.findElementByXpathAndInputNum(
            num, self.ticketcreatepage.yhms_select_option_gdje_mz_input,
            "2000")  # 面值输入2000
        if ISXIANGWANG:
            if not self.activeweb.findElementByXpath(
                    self.ticketcreatepage.sypt_mbmpay_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(
                    num,
                    self.ticketcreatepage.sypt_mbmpay_checkbox)  # 使用平台点选mbmpay
            if self.activeweb.findElementByXpath(
                    self.ticketcreatepage.sypt_mydisrupto_checkbox
            ).is_selected():
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.ticketcreatepage.sypt_mydisrupto_checkbox
                )  # 使用平台点选mydisrupto
            if self.activeweb.findElementByXpath(
                    self.ticketcreatepage.sypt_QRindo_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(
                    num,
                    self.ticketcreatepage.sypt_QRindo_checkbox)  # 使用平台点选QRindo

        else:
            self.activeweb.findElementByXpathAndClickNum(
                num,
                self.ticketcreatepage.sypt_mbmpay_checkbox)  # 使用平台点选mbmpay
            self.activeweb.findElementByXpathAndClickNum(
                num, self.ticketcreatepage.sypt_mydisrupto_checkbox
            )  # 使用平台点选mydisrupto
            self.activeweb.findElementByXpathAndClickNum(
                num,
                self.ticketcreatepage.sypt_QRindo_checkbox)  # 使用平台点选QRindo
            self.activeweb.findElementByXpathAndClickNum(
                num, self.ticketcreatepage.sypt_qrindomerchantcashier_checkbox
            )  # 使用平台点选qrindomerchantcashier
            self.activeweb.findElementByXpathAndClickNum(
                num,
                self.ticketcreatepage.sypt_PaySDK_checkbox)  # 使用平台点选PaySDK
        self.activeweb.findElementByXpathAndClickOptionXpathNum(
            num, self.ticketcreatepage_syfw_select,
            self.ticketcreatepage.syfw_select_option_bx)  #使用范围选择不限
        # self.activeweb.findElementByXpathAndClickNum(num, self.ticketcreatepage.kfyqthddj_bkdjsy_checkbox)  # 可否与其他活动叠加点选不可叠加使用
        self.activeweb.findElementByXpathAndClickNum(
            num, self.ticketcreatepage.sfzctq_kt_checkbox)  # 是否支持退券点选可退

        self.activeweb.findElementByXpathAndScriptClickNum(
            num, self.ticketcreatepage.confirm_button)  #点击确定按钮
        ################################优惠券创建完成#########################################

        # self.activeweb.delayTime(1000)

        if iscancel:
            self.activeweb.findElementByXpathAndScriptClickNum(
                num, self.testpagecancelbutton)  # 点击取消按钮
        else:
            self.activeweb.findElementByXpathAndScriptClickNum(
                num, self.testpagesubmitbutton)  # 点击提交按钮
            # 断言活动列表中是否有新增加的活动
            self.defineisintable(num, self.activitylistpage_searchtableresult,
                                 hdmcinputtext, 1)

            #获取活动ID
            self.activeweb.findElementByXpathAndScriptClickNum(
                num, self.activitylistpage.table_justone_content_dsx_xq
            )  # 点击列表中第一行中的"详情"
            getid = self.activeweb.findElementByXpathAndReturnText(
                num, self.activitydetialspage.hdid)
            self.activeweb.outPutMyLog("新建活动id:%s" % getid)
            #保存活动id
            filename = "createactivityid.txt"
            GetTimeStr().writeText(filename, getid)

            # filename = 'createactivityid.txt'
            # GetTimeStr().writeText(filename,getid)

    def defineasserttextnum(self, num, testelexpath, expecttext):
        #断言是否存在某个文本
        testtext = self.activeweb.findElementByXpathAndReturnText(
            num, testelexpath)
        self.assertEqual(expecttext, testtext)
        self.activeweb.outPutMyLog("存在text:%s" % testtext)

    def defineisintable(self, num, testtablexpath, expecttext, tablecolnum):
        notexsitflag = True
        tabledic = self.activeweb.findElementByXpathAndReturnTableNum(
            num, testtablexpath)
        for value in tabledic.values():
            # self.activeweb.outPutMyLog("%s"% value[int(tablecolnum)])
            if str(expecttext).lower() in value[int(tablecolnum)].lower():
                self.assertTrue(True)
                self.activeweb.outPutMyLog(
                    "在【%s】中存在:【%s】" % (value[int(tablecolnum)], expecttext))
                notexsitflag = False
                break
        if notexsitflag:
            self.activeweb.outPutMyLog("在【%s】不存在:【%s】" %
                                       (tabledic, expecttext))
            self.assertTrue(False)

    @staticmethod  #根据不同的参数生成测试用例
    def getTestFunc(num, hdmcinputtext, hdlx, hdysinputtext, tfqdyj, tfqdej,
                    hdbztextareainputtext, rwlx, tjrwxz, jyjylx, jyzffs,
                    jymgyhzdcycsinputtext, jymgyhmrcycsinputtext, jllx,
                    iscancel):
        def func(self):
            self.definecreateactivity(num, hdmcinputtext, hdlx, hdysinputtext,
                                      tfqdyj, tfqdej, hdbztextareainputtext,
                                      rwlx, tjrwxz, jyjylx, jyzffs,
                                      jymgyhzdcycsinputtext,
                                      jymgyhmrcycsinputtext, jllx, iscancel)

        return func
Exemplo n.º 2
0
class TestEditActivityClass(unittest.TestCase):  # 创建测试类
    @classmethod  # 类方法,只执行一次,但必须要加注解@classmethod,且名字固定为setUpClass
    def setUpClass(cls):
        # from base.getcookie import GetCookie
        # outjsonfile = "../../../cookiejson/cookiemanager.json"
        # outloginurl = LoginPage().pageurl
        # outloginaccountxpath = LoginPage().account
        # outloginaccounttext = "81122336666"
        # outloginppasswordxpath = LoginPage().password
        # outloginpasswordtext = "abc123456"
        # outloginbuttonxpath = LoginPage().loginbutton
        #
        # getcookie = GetCookie(outjsonfile=outjsonfile, outloginurl=outloginurl,
        #                       outloginaccountxpath=outloginaccountxpath,
        #                       outloginaccounttext=outloginaccounttext, outloginppasswordxpath=outloginppasswordxpath,
        #                       outloginpasswordtext=outloginpasswordtext,
        #                       outloginbuttonxpath=outloginbuttonxpath)  # 实例化
        # getcookie.writerCookieToJson()

        pass

    @classmethod  # 类方法,只执行一次,但必须要加注解@classmethod,且名字固定为tearDownClass
    def tearDownClass(cls):
        pass

    def setUp(self):  # 每条用例执行测试之前都要执行此方法
        # self.jsonfile = '../../../cookiejson/cookieagent.json'
        # self.operationjson = OperationJson(file_path=self.jsonfile)   #实例化
        # self.cookie = self.operationjson.get_all_data()
        # print("self.cookie:%s" % self.cookie)
        self.activeweb = ActiveWeb()  # 实例化
        self.loginurl = LoginPage().pageurl
        self.activeweb.getUrl(self.loginurl)  # 打开网址

        if ISONLINE:
            self.activeweb.findElementByXpathAndInput(
                LoginPage().account, ONLINE_MANAGER_LOGIN_ACCOUNT)
            self.activeweb.findElementByXpathAndInput(
                LoginPage().password, ONLINE_MANAGER_LOGIN_PASSWORD)
        else:
            self.activeweb.findElementByXpathAndInput(
                LoginPage().account, TEST_MANAGER_LOGIN_ACCOUNT)
            self.activeweb.findElementByXpathAndInput(
                LoginPage().password, TEST_MANAGER_LOGIN_PASSWORD)

        self.activeweb.findElementByXpathAndClick(LoginPage().loginbutton)
        self.activeweb.delayTime(3)
        self.testpage = ActivityEditPage()
        self.testpageurl = self.testpage.pageurl  #测试页面url
        self.testpagehdmcinput = self.testpage.hdmc_input  # ---基础信息---#   活动名称输入框路劲
        self.testpagehdsjstarttime = self.testpage.hdsj_starttime  # ---基础信息---#   活动时间开始时间输入框路径
        self.testpagehdsjendtime = self.testpage.hdsj_endtime  # ---基础信息---#   活动时间结束时间输入框路径
        self.testpagehdysinput = self.testpage.hdys_input  # ---基础信息---#   活动预算输入框路径
        self.testpagetfqdselect = self.testpage.tfqd_select  # ---基础信息---#  投放渠道下拉框路径
        self.testpagehdbztextarea = self.testpage.hdbz_textarea  # ---基础信息---#  活动备注多行输入框路径
        self.testpagerwlxselect = self.testpage.rwlx_select  # ---活动任务规则---# 任务类型下拉框路径
        self.testpagejllxselect = self.testpage.jllx_select  # ---活动奖励---# 奖励类型下拉框路径
        self.testpagewtjlp = self.testpage.w_tjlp  # ---活动奖励---# 未添加礼品时,“添加礼品”文字链接路径

        self.testpagecancelbutton = self.testpage.cancelbutton  #取消按钮
        self.testpagesubmitbutton = self.testpage.submitbutton  #提交按钮

        ######################创建优惠券页面###############################
        self.ticketcreatepage = TicketCreatePage()  #创建优惠券页
        self.ticketcreatepage_kcsl_input = self.ticketcreatepage.kcsl_input  #第一部分# 库存数量输入框路径
        self.ticketcreatepage_qyxq_select = self.ticketcreatepage.qyxq_select  #第一部分# 券有效期选择框路径
        self.ticketcreatepage_yhqsm_areatext = self.ticketcreatepage.yhqsm_areatext  #第一部分# 优惠券说明多行输入框路径
        self.ticketcreatepage_yhqmc_input = self.ticketcreatepage.yhqmc_input  #第二部分# 优惠券名称输入框路径
        self.ticketcreatepage_yhlx_select = self.ticketcreatepage.yhlx_select  #第二部分# 优惠类型选择框路径
        self.ticketcreatepage_yhms_select = self.ticketcreatepage.yhms_select  #第二部分# 优惠模式选择框路径
        self.ticketcreatepage_zdxf_input = self.ticketcreatepage.zdxf_input  #第二部分# 最低消费输入框路径
        self.ticketcreatepage_zfqdxz_select = self.ticketcreatepage.zfqdxz_select  #第二部分# 支付渠道限制选择框路径
        self.ticketcreatepage_syfw_select = self.ticketcreatepage.syfw_select  #第二部分# 使用范围选择框路径

        self.ticketcreatepage_confirm_button = self.ticketcreatepage.confirm_button  #页面 确定按钮

        ######################活动列表页###############################
        self.activitylistpage = ActivityListPage()  #活动列表页
        self.activitylistpage_searchtableresult = self.activitylistpage.searchtableresult

        #pass

    def tearDown(self):  # 每条用例执行测试之后都要执行此方法
        self.activeweb.closeBrowse()
        # pass

    def writexunicookie(self):
        addcookie = {
            'name': '.nereus.manager.settle.banks',
            'value': 'QCK9GvKG8OEOh6lRUyyLlmKnHl8i3w'
        }
        self.activeweb.driver.add_cookie(addcookie)
        self.activeweb.driver.refresh()
        self.activeweb.delayTime(5)
        self.activeweb.outPutMyLog("写入虚拟银行cookie完成")

    #定义创建活动,
    #投放渠道一级为1表示内部渠道,为2表示外部渠道
    #投放渠道二级为0表示全选,为1,2,等表示选一项和选多项组合,程序中只有全选和选择一项的情况
    # 任务类型为1表示注册,为2表示交易类型
    #奖励类型1表示固定奖励
    def defineeditactivity(self, num, hdmcinputtext, hdysinputtext, tfqdyj,
                           tfqdej, hdbztextareainputtext, rwlx, tjrwxz, jyjylx,
                           jyzffs, jymgyhzdcycsinputtext,
                           jymgyhmrcycsinputtext, jllx, iscancel):
        self.activeweb.getUrl(self.testpageurl)
        self.activeweb.delayTime(3)

        #创建活动
        #填入基础信息部分
        self.activeweb.findElementByXpathAndInputNum(num,
                                                     self.testpagehdmcinput,
                                                     hdmcinputtext)  #输入活动名称
        self.activeweb.findElementByXpathAndClickAbountData(
            num,
            self.testpagehdsjstarttime,
            self.testpage.hdsj_starttime_daytime,
            pathright=self.testpage.hdsj_starttime_rightmove,
            pathconfirm=self.testpage.hdsj_starttime_queding)  #点选活动时间开始时间
        self.activeweb.findElementByXpathAndClickAbountData(
            num,
            self.testpagehdsjendtime,
            self.testpage.hdsj_endtime_daytime,
            pathright=self.testpage.hdsj_endtime_rightmove,
            pathconfirm=self.testpage.hdsj_endtime_queding)  #点选活动时间结束时间
        self.activeweb.findElementByXpathAndInputNum(num,
                                                     self.testpagehdysinput,
                                                     hdysinputtext)  #输入活动预算
        if tfqdyj == "1":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpagetfqdselect,
                self.testpage.tfqd_select_nbqd_option)  # 投放渠道一级渠道选择内部渠道
            if ISONLINE:
                # 点击投放渠道二级渠道第一个选项
                if not self.activeweb.findElementByXpath(
                        self.testpage.tfqd_select_nbqd_fxk_mbmpay_checkbox
                ).is_selected():
                    self.activeweb.findElementByXpathAndClickNum(
                        num,
                        self.testpage.tfqd_select_nbqd_fxk_mbmpay_checkbox)
                if self.activeweb.findElementByXpath(
                        self.testpage.tfqd_select_nbqd_fxk_mydisrupto_checkbox
                ).is_selected():
                    self.activeweb.findElementByXpathAndClickNum(
                        num,
                        self.testpage.tfqd_select_nbqd_fxk_mydisrupto_checkbox)

                if self.activeweb.findElementByXpath(
                        self.testpage.tfqd_select_nbqd_fxk_qrindo_checkbox
                ).is_selected():
                    self.activeweb.findElementByXpathAndClickNum(
                        num,
                        self.testpage.tfqd_select_nbqd_fxk_qrindo_checkbox)
            else:
                if tfqdej == "0":  # 点击投放渠道二级渠道所有项复选框
                    if not self.activeweb.getEleImage(
                            num,
                            self.testpage.tfqd_select_nbqd_fxk_mbmpay_checkbox
                    ).is_selected():
                        self.activeweb.findElementByXpathAndClickNum(
                            num,
                            self.testpage.tfqd_select_nbqd_fxk_mbmpay_checkbox)
                    if not self.activeweb.getEleImage(
                            num, self.testpage.
                            tfqd_select_nbqd_fxk_mydisrupto_checkbox
                    ).is_selected():
                        self.activeweb.findElementByXpathAndClickNum(
                            num, self.testpage.
                            tfqd_select_nbqd_fxk_mydisrupto_checkbox)
                    if not self.activeweb.getEleImage(
                            num,
                            self.testpage.tfqd_select_nbqd_fxk_qrindo_checkbox
                    ).is_selected():
                        self.activeweb.findElementByXpathAndClickNum(
                            num,
                            self.testpage.tfqd_select_nbqd_fxk_qrindo_checkbox)
                    if not self.activeweb.getEleImage(
                            num, self.testpage.
                            tfqd_select_nbqd_fxk_qrindomerchantcashier_checkbox
                    ).is_selected():
                        self.activeweb.findElementByXpathAndClickNum(
                            num, self.testpage.
                            tfqd_select_nbqd_fxk_qrindomerchantcashier_checkbox
                        )
                    if not self.activeweb.getEleImage(
                            num, self.testpage.
                            tfqd_select_nbqd_fxk_qrindomerchantcashier_checkbox
                    ).is_selected():
                        self.activeweb.findElementByXpathAndClickNum(
                            num,
                            self.testpage.tfqd_select_nbqd_fxk_paysdk_checkbox)
                else:
                    if self.activeweb.getEleImage(
                            num,
                            self.testpage.tfqd_select_nbqd_fxk_mbmpay_checkbox
                    ).is_selected():
                        self.activeweb.findElementByXpathAndClickNum(
                            num,
                            self.testpage.tfqd_select_nbqd_fxk_mbmpay_checkbox)
                    if self.activeweb.getEleImage(
                            num, self.testpage.
                            tfqd_select_nbqd_fxk_mydisrupto_checkbox
                    ).is_selected():
                        self.activeweb.findElementByXpathAndClickNum(
                            num, self.testpage.
                            tfqd_select_nbqd_fxk_mydisrupto_checkbox)
                    if self.activeweb.getEleImage(
                            num,
                            self.testpage.tfqd_select_nbqd_fxk_qrindo_checkbox
                    ).is_selected():
                        self.activeweb.findElementByXpathAndClickNum(
                            num,
                            self.testpage.tfqd_select_nbqd_fxk_qrindo_checkbox)
                    if self.activeweb.getEleImage(
                            num, self.testpage.
                            tfqd_select_nbqd_fxk_qrindomerchantcashier_checkbox
                    ).is_selected():
                        self.activeweb.findElementByXpathAndClickNum(
                            num, self.testpage.
                            tfqd_select_nbqd_fxk_qrindomerchantcashier_checkbox
                        )
                    if self.activeweb.getEleImage(
                            num, self.testpage.
                            tfqd_select_nbqd_fxk_qrindomerchantcashier_checkbox
                    ).is_selected():
                        self.activeweb.findElementByXpathAndClickNum(
                            num,
                            self.testpage.tfqd_select_nbqd_fxk_paysdk_checkbox)

                    if tfqdej == "1":
                        self.activeweb.findElementByXpathAndClickNum(
                            num,
                            self.testpage.tfqd_select_nbqd_fxk_mbmpay_checkbox
                        )  #点选投放渠道二级渠道mbmpay项复选框
                    elif tfqdej == "2":
                        self.activeweb.findElementByXpathAndClickNum(
                            num, self.testpage.
                            tfqd_select_nbqd_fxk_mydisrupto_checkbox
                        )  #点选投放渠道二级渠道mydisrupto项复选框
                    elif tfqdej == "3":
                        self.activeweb.findElementByXpathAndClickNum(
                            num,
                            self.testpage.tfqd_select_nbqd_fxk_qrindo_checkbox
                        )  #点选投放渠道二级渠道qrindo项复选框
                    elif tfqdej == "4":
                        self.activeweb.findElementByXpathAndClickNum(
                            num, self.testpage.
                            tfqd_select_nbqd_fxk_qrindomerchantcashier_checkbox
                        )  #点选投放渠道二级渠道qrindomerchantcashier项复选框
                    elif tfqdej == "5":
                        self.activeweb.findElementByXpathAndClickNum(
                            num,
                            self.testpage.tfqd_select_nbqd_fxk_paysdk_checkbox
                        )  #点选投放渠道二级渠道paysdk项复选框

        # elif tfqdyj =="2":
        #     self.activeweb.findElementByXpathAndClickOptionXpathNum(num,self.testpagetfqdselect,self.testpage.tfqd_select_wbqd_option)  # 投放渠道一级渠道选择外部渠道
        #     if tfqdej == '0':# 点击投放渠道二级渠道所有项复选框
        #         self.activeweb.findElementByXpathAndClickNum(num, self.testpage.tfqd_select_wbqd_fxk_app_checkbox)
        #         self.activeweb.findElementByXpathAndClickNum(num, self.testpage.tfqd_select_wbqd_fxk_web_checkbox)
        #         self.activeweb.findElementByXpathAndClickNum(num, self.testpage.tfqd_select_wbqd_fxk_sdk_checkbox)
        #     elif tfqdej == "1":
        #         self.activeweb.findElementByXpathAndClickNum(num, self.testpage.tfqd_select_wbqd_fxk_app_checkbox)   #点选投放渠道二级渠道app项复选框
        #     elif tfqdej == "2":
        #         self.activeweb.findElementByXpathAndClickNum(num, self.testpage.tfqd_select_wbqd_fxk_web_checkbox)   #点选投放渠道二级渠道web项复选框
        #     elif tfqdej == "3":
        #         self.activeweb.findElementByXpathAndClickNum(num, self.testpage.tfqd_select_wbqd_fxk_web_checkbox)   #点选投放渠道二级渠道sdk项复选框

        self.activeweb.findElementByXpathAndInputNum(
            num, self.testpagehdbztextarea, hdbztextareainputtext)  #输入活动备注

        #填入活动任务规则部分
        if rwlx == "1":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpagerwlxselect,
                self.testpage.rwlx_select_zc_option)  # 任务类型选择注册
        elif rwlx == '2':
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpagerwlxselect,
                self.testpage.rwlx_select_jx_option)  # 任务类型选择交易

            if jyjylx == "0":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.jy_wcjy_jylx_checkbox)  #点击交易类型全选框
            elif jyjylx == "1":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.jy_wcjy_jylx_fxk_xf_checkbox
                )  # 点击交易类型-消费前选择框
            elif jyjylx == "2":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.jy_wcjy_jylx_fxk_cz_checkbox
                )  # 点击交易类型-充值前选择框
            elif jyjylx == "3":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.jy_wcjy_jylx_fxk_zz_checkbox
                )  # 点击交易类型-转账前选择框

            #点击添加限制文字链接
            if tjrwxz == "1":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.tjxz)  # 点击添加限制文字链接
                self.activeweb.findElementByXpathAndClickNum(
                    num,
                    self.testpage.rwmb_popup_jylx_option)  # 点击添加限制弹框中的交易类型
            elif tjrwxz == "2":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.tjxz)  # 点击添加限制文字链接
                self.activeweb.findElementByXpathAndClickNum(
                    num,
                    self.testpage.rwmb_popup_zffs_option)  # 点击添加限制弹框中的支付方式
            elif tjrwxz == "3":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.tjxz)  # 点击添加限制文字链接
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.rwmb_popup_yhhdcycs_option
                )  # 点击添加限制弹框中的用户活动参与次数
            elif tjrwxz == "4":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.tjxz)  # 点击添加限制文字链接
                self.activeweb.findElementByXpathAndClickNum(
                    num,
                    self.testpage.rwmb_popup_zffs_option)  # 点击添加限制弹框中的支付方式
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.tjxz)  # 点击添加限制文字链接
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.rwmb_popup_yhhdcycs_option
                )  # 点击添加限制弹框中的用户活动参与次数

            if jyzffs == "0":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.jy_wcjy_zffs_checkbox)  #点击支付方式全选框
            elif jyzffs == "1":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.jy_wcjy_zffs_fxk_qbye_checkbox
                )  # 点击支付方式-钱包余额前选择框
            elif jyzffs == "2":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.jy_wcjy_zffs_fxk_yhk_checkbox
                )  # 点击支付方式-银行卡前选择框
            elif jyzffs == "3":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.jy_wcjy_zffs_fxk_yhkhq_checkbox
                )  # 点击支付方式-银行卡+券前选择框
            elif jyzffs == "4":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.jy_wcjy_zffs_fxk_yehq_checkbox
                )  # 点击支付方式-余额+券前选择框
            elif jyzffs == "5":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.jy_wcjy_zffs_fxk_vahspg_checkbox
                )  # 点击支付方式-VA或SPG支付前选择框

            print("jymgyhzdcycsinputtext:%s" % jymgyhzdcycsinputtext)
            if jymgyhzdcycsinputtext != None:
                self.activeweb.findElementByXpathAndInputNum(
                    num, self.testpage.jy_wcjy_yhhdcycs_mgyhzdcycs_input,
                    jymgyhzdcycsinputtext)  # 输入每个用户最多参与次数
            if jymgyhmrcycsinputtext != None:
                self.activeweb.findElementByXpathAndInputNum(
                    num, self.testpage.jy_wcjy_yhhdcycs_mgyhmrcycs_input,
                    jymgyhmrcycsinputtext)  # 输入每个用户每日参与次数

        #填入活动奖励部分
        if jllx == "1":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpagejllxselect,
                self.testpage.jllx_select_gdjl_option)  # 选择奖励类型为固定奖励
        self.activeweb.findElementByXpathAndClickNum(
            num, self.testpagewtjlp)  # 点击添加礼品文字链接(还未添加礼品)

        #进入创建优惠券页,新建优惠券
        #第一部分
        self.activeweb.findElementByXpathAndClickNum(
            num, self.ticketcreatepage.ffzt_kq_checkbox)  # 点击发放状态开始对应的选项框
        self.activeweb.findElementByXpathAndClickOptionXpathNum(
            num, self.ticketcreatepage_qyxq_select,
            self.ticketcreatepage.qyxq_select_option_xdsj)  # 选择券有效期选项为相对时间
        self.activeweb.findElementByXpathAndInputNum(
            num, self.ticketcreatepage.qyxq_select_option_xdsj_ts_input,
            "2")  # 输入相对时间为2天
        self.activeweb.findElementByXpathAndClickNum(
            num,
            self.ticketcreatepage.yxcbcdf_pt_checkbox)  # 点击营销成本承担方中的平台前的选项框
        self.activeweb.findElementByXpathAndInputNum(
            num, self.ticketcreatepage_yhqsm_areatext,
            "开启-不限库存数-相对时间(相对2天)-平台-代金券-固定金额(面值2000)-不限最低消费-使用平台(点选QRindo)-不限使用范围-支持退券"
        )  # 输入优惠券说明
        #第二部分
        self.activeweb.findElementByXpathAndInputNum(
            num, self.ticketcreatepage_yhqmc_input,
            "优惠券_%s" % GetTimeStr().getTimeStr())  # 添加优惠券名称
        self.activeweb.findElementByXpathAndClickOptionXpathNum(
            num, self.ticketcreatepage_yhlx_select,
            self.ticketcreatepage.yhlx_option_djq)  #优惠类型选择代金券
        self.activeweb.findElementByXpathAndClickOptionXpathNum(
            num, self.ticketcreatepage_yhms_select,
            self.ticketcreatepage.yhms_select_option_gdje)  #优惠模式选择固定金额
        self.activeweb.findElementByXpathAndInputNum(
            num, self.ticketcreatepage.yhms_select_option_gdje_mz_input,
            "2000")  # 面值输入2000
        if ISONLINE:
            #点击使用平台第一个选项
            if not self.activeweb.findElementByXpath(
                    self.ticketcreatepage.sypt_mbmpay_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(
                    num,
                    self.ticketcreatepage.sypt_mbmpay_checkbox)  # 使用平台点选mbmpay
            if self.activeweb.findElementByXpath(
                    self.ticketcreatepage.sypt_mydisrupto_checkbox
            ).is_selected():
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.ticketcreatepage.sypt_mydisrupto_checkbox
                )  # 使用平台点选mydisrupto
            if self.activeweb.findElementByXpath(
                    self.ticketcreatepage.sypt_QRindo_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(
                    num,
                    self.ticketcreatepage.sypt_QRindo_checkbox)  # 使用平台点选QRindo
        else:
            self.activeweb.findElementByXpathAndClickNum(
                num,
                self.ticketcreatepage.sypt_mbmpay_checkbox)  # 使用平台点选mbmpay
            self.activeweb.findElementByXpathAndClickNum(
                num, self.ticketcreatepage.sypt_mydisrupto_checkbox
            )  # 使用平台点选mydisrupto
            self.activeweb.findElementByXpathAndClickNum(
                num,
                self.ticketcreatepage.sypt_QRindo_checkbox)  # 使用平台点选QRindo
            self.activeweb.findElementByXpathAndClickNum(
                num, self.ticketcreatepage.sypt_qrindomerchantcashier_checkbox
            )  # 使用平台点选qrindomerchantcashier
            self.activeweb.findElementByXpathAndClickNum(
                num,
                self.ticketcreatepage.sypt_PaySDK_checkbox)  # 使用平台点选PaySDK
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.ticketcreatepage_syfw_select,
                self.ticketcreatepage.syfw_select_option_bx)  #使用范围选择不限
        # self.activeweb.findElementByXpathAndClickNum(num, self.ticketcreatepage.kfyqthddj_bkdjsy_checkbox)  # 可否与其他活动叠加点选不可叠加使用
        self.activeweb.findElementByXpathAndClickNum(
            num, self.ticketcreatepage.sfzctq_kt_checkbox)  # 是否支持退券点选可退

        self.activeweb.findElementByXpathAndScriptClickNum(
            num, self.ticketcreatepage.confirm_button)  #点击确定按钮
        ################################优惠券创建完成#########################################

        # self.activeweb.delayTime(5000)

        if iscancel:
            self.activeweb.findElementByXpathAndScriptClickNum(
                num, self.testpagecancelbutton)  # 点击取消按钮
        else:
            self.activeweb.findElementByXpathAndScriptClickNum(
                num, self.testpagesubmitbutton)  # 点击提交按钮
            # 断言活动列表中是否有新增加的活动
            self.defineisintable(num, self.activitylistpage_searchtableresult,
                                 hdmcinputtext, 1)

    def defineasserttextnum(self, num, testelexpath, expecttext):
        #断言是否存在某个文本
        testtext = self.activeweb.findElementByXpathAndReturnText(
            num, testelexpath)
        self.assertEqual(expecttext, testtext)
        self.activeweb.outPutMyLog("存在text:%s" % testtext)

    def defineisintable(self, num, testtablexpath, expecttext, tablecolnum):
        notexsitflag = True
        tabledic = self.activeweb.findElementByXpathAndReturnTableNum(
            num, testtablexpath)
        for value in tabledic.values():
            # self.activeweb.outPutMyLog("%s"% value[int(tablecolnum)])
            if str(expecttext).lower() in value[int(tablecolnum)].lower():
                self.assertTrue(True)
                self.activeweb.outPutMyLog(
                    "在【%s】中存在:【%s】" % (value[int(tablecolnum)], expecttext))
                notexsitflag = False
                break
        if notexsitflag:
            self.activeweb.outPutMyLog("在【%s】不存在:【%s】" %
                                       (tabledic, expecttext))
            self.assertTrue(False)

    @staticmethod  #根据不同的参数生成测试用例
    def getTestFunc(num, hdmcinputtext, hdysinputtext, tfqdyj, tfqdej,
                    hdbztextareainputtext, rwlx, tjrwxz, jyjylx, jyzffs,
                    jymgyhzdcycsinputtext, jymgyhmrcycsinputtext, jllx,
                    iscancel):
        def func(self):
            self.defineeditactivity(num, hdmcinputtext, hdysinputtext, tfqdyj,
                                    tfqdej, hdbztextareainputtext, rwlx,
                                    tjrwxz, jyjylx, jyzffs,
                                    jymgyhzdcycsinputtext,
                                    jymgyhmrcycsinputtext, jllx, iscancel)

        return func
Exemplo n.º 3
0
class TestCreateTicketClass(unittest.TestCase):  # 创建测试类
    @classmethod  # 类方法,只执行一次,但必须要加注解@classmethod,且名字固定为setUpClass
    def setUpClass(cls):
        # from base.getcookie import GetCookie
        # outjsonfile = "../../../cookiejson/cookiemanager.json"
        # outloginurl = LoginPage().pageurl
        # outloginaccountxpath = LoginPage().account
        # outloginaccounttext = "81122336666"
        # outloginppasswordxpath = LoginPage().password
        # outloginpasswordtext = "abc123456"
        # outloginbuttonxpath = LoginPage().loginbutton
        #
        # getcookie = GetCookie(outjsonfile=outjsonfile, outloginurl=outloginurl,
        #                       outloginaccountxpath=outloginaccountxpath,
        #                       outloginaccounttext=outloginaccounttext, outloginppasswordxpath=outloginppasswordxpath,
        #                       outloginpasswordtext=outloginpasswordtext,
        #                       outloginbuttonxpath=outloginbuttonxpath)  # 实例化
        # getcookie.writerCookieToJson()

        pass

    @classmethod  # 类方法,只执行一次,但必须要加注解@classmethod,且名字固定为tearDownClass
    def tearDownClass(cls):
        pass

    def setUp(self):  # 每条用例执行测试之前都要执行此方法
        # self.jsonfile = '../../../cookiejson/cookieagent.json'
        # self.operationjson = OperationJson(file_path=self.jsonfile)   #实例化
        # self.cookie = self.operationjson.get_all_data()
        # print("self.cookie:%s" % self.cookie)
        self.activeweb = ActiveWeb()  # 实例化
        self.loginurl = LoginPage().pageurl
        self.activeweb.getUrl(self.loginurl)  # 打开网址

        if ISONLINE:
            self.activeweb.findElementByXpathAndInput(
                LoginPage().account, ONLINE_MANAGER_LOGIN_ACCOUNT)
            self.activeweb.findElementByXpathAndInput(
                LoginPage().password, ONLINE_MANAGER_LOGIN_PASSWORD)
        else:
            self.activeweb.findElementByXpathAndInput(
                LoginPage().account, TEST_MANAGER_LOGIN_ACCOUNT)
            self.activeweb.findElementByXpathAndInput(
                LoginPage().password, TEST_MANAGER_LOGIN_PASSWORD)

        self.activeweb.findElementByXpathAndClick(LoginPage().loginbutton)
        self.activeweb.delayTime(3)

        self.testpage = TicketCreatePage()
        # self.testpageurl =self.testpage.pageurl   #测试页面url
        self.testpagekcslinput = self.testpage.kcsl_input  #第一部分# 库存数量输入框路径
        self.testpageqyxqselect = self.testpage.qyxq_select  #第一部分# 券有效期选择框路径
        self.testpageyhqsmareatext = self.testpage.yhqsm_areatext  #第一部分# 优惠券说明多行输入框路径
        self.testpageyhqmcinput = self.testpage.yhqmc_input  #第二部分# 优惠券名称输入框路径
        self.testpageyhlxselect = self.testpage.yhlx_select  #第二部分# 优惠类型选择框路径
        self.testpageyhmsselect = self.testpage.yhms_select  #第二部分# 优惠模式选择框路径
        self.testpagezdxfinput = self.testpage.zdxf_input  #第二部分# 最低消费输入框路径
        self.testpagezfqdxzselect = self.testpage.zfqdxz_select  #第二部分# 支付渠道限制选择框路径
        self.testpagesyfwselect = self.testpage.syfw_select  #第二部分# 使用范围选择框路径

        self.testpagecancelbutton = self.testpage.cancel_button  # 页面取消按钮
        self.testpageconfirmbutton = self.testpage.confirm_button  # 页面确定按钮

        ######################创建活动页面###############################
        self.activitycreatepage = ActivityCreatePage()
        self.activitycreatepage_pageurl = self.activitycreatepage.pageurl
        self.activitycreatepage_w_tjlp = self.activitycreatepage.w_tjlp  # ---活动奖励---# 未添加礼品时,“添加礼品”文字链接路径

        #pass
        ######################活动列表页###############################
        self.activitylistpage = ActivityListPage()  #活动列表页
        self.activitylistpage_searchtableresult = self.activitylistpage.searchtableresult

    def tearDown(self):  # 每条用例执行测试之后都要执行此方法
        self.activeweb.closeBrowse()
        # pass

    def writexunicookie(self):
        addcookie = {
            'name': '.nereus.manager.settle.banks',
            'value': 'QCK9GvKG8OEOh6lRUyyLlmKnHl8i3w'
        }
        self.activeweb.driver.add_cookie(addcookie)
        self.activeweb.driver.refresh()
        self.activeweb.delayTime(5)
        self.activeweb.outPutMyLog("写入虚拟银行cookie完成")

    #定义创建活动,
    #发放状态为1表示开启,否则为关闭
    #券有效期为1表示相对时间,否则为绝对时间
    #营销成本承担方为1表示平台,否则为商户
    #优惠类型为1表示代金券
    #优惠模式为1表示固定金额,否则为随机金额
    #支付渠道限制为1表示不限,为2表示钱包余额,为3表示银行卡支付
    #使用平台为0表示两个都点选,1表示点选QRindo,为2表示点选PaySDK
    #使用范围为1表示不限,为2表示指定行业,为3表示指定商户
    #是否支持退券为1表示可退,为2表示不可退

    def definecreateticket(self, num, ffzt, kcslinputtext, qyxq,
                           xdsjtsinputtext, yxcbcdf, yhqmcinputtext, yhlx,
                           yhms, gdjemzinputtext, sjjemzmiminputtext,
                           sjjemzmimaxinputtext, zdxfinputtext, sypt, syfw,
                           zdhyoptionxpath, zdshinputtext, isplsh, plfilepath,
                           sfzctq, iscancel):
        self.activeweb.getUrl(self.activitycreatepage_pageurl)
        self.activeweb.delayTime(3)
        #创建活动
        #填入基础信息部分
        self.activeweb.findElementByXpathAndInputNum(
            num, self.activitycreatepage.hdmc_input, yhqmcinputtext)  #输入活动名称
        self.activeweb.findElementByXpathAndClickAbountData(
            num,
            self.activitycreatepage.hdsj_starttime,
            self.activitycreatepage.hdsj_starttime_daytime,
            pathright=self.activitycreatepage.hdsj_starttime_rightmove,
            pathconfirm=self.activitycreatepage.hdsj_starttime_queding
        )  #点选活动时间开始时间
        self.activeweb.findElementByXpathAndClickAbountData(
            num,
            self.activitycreatepage.hdsj_endtime,
            self.activitycreatepage.hdsj_endtime_daytime,
            pathright=self.activitycreatepage.hdsj_endtime_rightmove,
            pathconfirm=self.activitycreatepage.hdsj_endtime_queding
        )  #点选活动时间结束时间
        self.activeweb.findElementByXpathAndInputNum(
            num, self.activitycreatepage.hdys_input, "2000")  #输入活动预算

        self.activeweb.findElementByXpathAndClickOptionXpathNum(
            num, self.activitycreatepage.tfqd_select,
            self.activitycreatepage.tfqd_select_nbqd_option)  # 投放渠道一级渠道选择内部渠道

        if ISONLINE:
            # 点击投放渠道二级渠道第一个选项
            if not self.activeweb.findElementByXpath(
                    self.activitycreatepage.
                    tfqd_select_nbqd_fxk_mbmpay_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.activitycreatepage.
                    tfqd_select_nbqd_fxk_mbmpay_checkbox)
            if self.activeweb.findElementByXpath(
                    self.activitycreatepage.
                    tfqd_select_nbqd_fxk_mydisrupto_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.activitycreatepage.
                    tfqd_select_nbqd_fxk_mydisrupto_checkbox)

            if self.activeweb.findElementByXpath(
                    self.activitycreatepage.
                    tfqd_select_nbqd_fxk_qrindo_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.activitycreatepage.
                    tfqd_select_nbqd_fxk_qrindo_checkbox)
        else:
            # 点选投放渠道二级渠道全部项复选框
            self.activeweb.findElementByXpathAndClickNum(
                num,
                self.activitycreatepage.tfqd_select_nbqd_fxk_mbmpay_checkbox)
            self.activeweb.findElementByXpathAndClickNum(
                num, self.activitycreatepage.
                tfqd_select_nbqd_fxk_mydisrupto_checkbox)
            self.activeweb.findElementByXpathAndClickNum(
                num,
                self.activitycreatepage.tfqd_select_nbqd_fxk_qrindo_checkbox)
            self.activeweb.findElementByXpathAndClickNum(
                num, self.activitycreatepage.
                tfqd_select_nbqd_fxk_qrindomerchantcashier_checkbox)
            self.activeweb.findElementByXpathAndClickNum(
                num,
                self.activitycreatepage.tfqd_select_nbqd_fxk_paysdk_checkbox)

        #填入活动任务规则部分
        self.activeweb.findElementByXpathAndClickOptionXpathNum(
            num, self.activitycreatepage.rwlx_select,
            self.activitycreatepage.rwlx_select_jx_option)  # 任务类型选择交易
        self.activeweb.findElementByXpathAndClickNum(
            num, self.activitycreatepage.jy_wcjy_jylx_checkbox)  # 点击交易类型全选框

        #创建活动页,点击“添加礼品”文字链接
        self.activeweb.findElementByXpathAndClickNum(
            num, self.activitycreatepage_w_tjlp)  # 点击添加礼品文字链接(还未添加礼品)

        #进入创建优惠券页,新建优惠券
        #第一部分
        if ffzt == "1":
            self.activeweb.findElementByXpathAndClickNum(
                num, self.testpage.ffzt_kq_checkbox)  # 点击发放状态开始对应的选项框
        else:
            self.activeweb.findElementByXpathAndClickNum(
                num, self.testpage.ffzt_gb_checkbox)  # 点击发放状态关闭对应的选项框
        if kcslinputtext != None:
            self.activeweb.findElementByXpathAndInputNum(
                num, self.testpagekcslinput, kcslinputtext)  # 输入库存数量
        if qyxq == "1":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpageqyxqselect,
                self.testpage.qyxq_select_option_xdsj)  # 选择券有效期选项为相对时间
            self.activeweb.findElementByXpathAndInputNum(
                num, self.testpage.qyxq_select_option_xdsj_ts_input,
                xdsjtsinputtext)  # 输入相对时间
        else:
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpageqyxqselect,
                self.testpage.qyxq_select_option_jdsj)  # 选择券有效期选项为绝对时间
            self.activeweb.findElementByXpathAndClickAbountData(
                num,
                self.testpage.qyxq_select_option_jdsj_starttime,
                self.testpage.qyxq_select_option_jdsj_starttime_daytime,
                pathright=self.testpage.
                qyxq_select_option_jdsj_starttime_pathright)  # 点选活动时间开始时间
            self.activeweb.findElementByXpathAndClickAbountData(
                num,
                self.testpage.qyxq_select_option_jdsj_endtime,
                self.testpage.qyxq_select_option_jdsj_endtime_daytime,
                pathright=self.testpage.
                qyxq_select_option_jdsj_endtime_pathright)  # 点选活动时间结束时间
        if yxcbcdf == "1":
            self.activeweb.findElementByXpathAndClickNum(
                num, self.testpage.yxcbcdf_pt_checkbox)  # 点击营销成本承担方中的平台前的选项框
        else:
            self.activeweb.findElementByXpathAndClickNum(
                num, self.testpage.yxcbcdf_sh_checkbox)  # 点击营销成本承担方中的商户前的选项框

        self.activeweb.findElementByXpathAndInputNum(
            num, self.testpageyhqsmareatext,
            "%s(发放状态为1表示开启,否则为关闭)- 库存数量:【%s】-%s(券有效期为1表示相对时间(相对天数:【%s】),否则为绝对时间)-%s(营销成本承担方为1表示平台,否则为商户)-%s(优惠类型为1表示代金券)-%s(优惠模式为1表示固定金额,否则为随机金额)-(1-面值:【%s】;2-面值最小值为:【%s】,最大值为:【%s】)-最低消费:【%s】-%s(使用平台为1表示QRindo,为2表示PaySDK)-%s(使用范围为1表示不限,为2表示指定行业,为3表示指定商户)-%s(是否支持退券为1表示可退,为2表示不可退)"
            % (ffzt, kcslinputtext, qyxq, xdsjtsinputtext, yxcbcdf, yhlx, yhms,
               gdjemzinputtext, sjjemzmiminputtext, sjjemzmimaxinputtext,
               zdxfinputtext, sypt, syfw, sfzctq))  # 输入优惠券说明
        #第二部分
        self.activeweb.findElementByXpathAndInputNum(num,
                                                     self.testpageyhqmcinput,
                                                     yhqmcinputtext)  # 添加优惠券名称
        if yhlx == "1":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpageyhlxselect,
                self.testpage.yhlx_option_djq)  #优惠类型选择代金券

        if yhms == "1":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpageyhmsselect,
                self.testpage.yhms_select_option_gdje)  #优惠模式选择固定金额
            self.activeweb.findElementByXpathAndInputNum(
                num, self.testpage.yhms_select_option_gdje_mz_input,
                gdjemzinputtext)  # 面值输入
        else:
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpageyhmsselect,
                self.testpage.yhms_select_option_sjje)  # 优惠模式选择随机金额
            self.activeweb.findElementByXpathAndInputNum(
                num, self.testpage.yhms_select_option_sjje_mz_min_input,
                sjjemzmiminputtext)  # 面值最小值输入
            self.activeweb.findElementByXpathAndInputNum(
                num, self.testpage.yhms_select_option_sjje_mz_max_input,
                sjjemzmimaxinputtext)  # 面值最大值输入
        if zdxfinputtext != None:
            self.activeweb.findElementByXpathAndInputNum(
                num, self.testpage.zdxf_input, zdxfinputtext)  # 输入最低消费金额
        if ISONLINE:
            #点击使用平台第一个选项
            if not self.activeweb.findElementByXpath(
                    self.testpage.sypt_mbmpay_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.sypt_mbmpay_checkbox)  # 使用平台点选mbmpay
            if self.activeweb.findElementByXpath(
                    self.testpage.sypt_mydisrupto_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(
                    num,
                    self.testpage.sypt_mydisrupto_checkbox)  # 使用平台点选mydisrupto
            if self.activeweb.findElementByXpath(
                    self.testpage.sypt_QRindo_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.sypt_QRindo_checkbox)  # 使用平台点选QRindo
        else:
            if sypt == "0":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.sypt_QRindo_checkbox)  # 使用平台点选QRindo
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.sypt_PaySDK_checkbox)  # 使用平台点选PaySDK
            elif sypt == "1":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.sypt_QRindo_checkbox)  # 使用平台点选QRindo
            elif sypt == "2":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.sypt_PaySDK_checkbox)  # 使用平台点选PaySDK

        if syfw == "1":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpagesyfwselect,
                self.testpage.syfw_select_option_bx)  #使用范围选择不限
        elif syfw == "2":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpagesyfwselect,
                self.testpage.syfw_select_option_zdhy)  #使用范围选择指定行业
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpage.syfw_select_option_zdhy_select,
                self.testpage.syfw_select_option_zdhy_select_option_one
            )  # 指定行业选择一个行业
            self.activeweb.findElementByXpathAndClickNum(
                num,
                self.testpage.syfw_select_option_zdhy_select)  # 再次点击指定行业选择框
        elif syfw == "3":
            self.activeweb.findElementByXpathAndClickOptionXpathNum(
                num, self.testpagesyfwselect,
                self.testpage.syfw_select_option_zdsh)  #使用范围选择指定商户
            if isplsh:
                self.activeweb.findElementByXpathAndAndFileNumVue(
                    num, self.testpage.syfw_select_option_zdsh_pltjsh_button,
                    plfilepath)  # 点击批量添加商户批量导入文件
                self.activeweb.delayTime(6)
            else:
                self.activeweb.findElementByXpathAndInputNum(
                    num, self.testpage.syfw_select_option_zdsh_input,
                    zdshinputtext)  # 输入商户
                self.activeweb.delayTime(3)
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.syfw_select_option_zdsh_input_option_one
                )  # 点击商户输入框下拉列表第一项
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.syfw_select_option_zdsh_tjsh_button
                )  # 点击添加商户按钮

        if sfzctq == "1":
            self.activeweb.findElementByXpathAndClickNum(
                num, self.testpage.sfzctq_kt_checkbox)  # 是否支持退券点选可退
        elif sfzctq == "2":
            self.activeweb.findElementByXpathAndClickNum(
                num, self.testpage.sfzctq_bkt_checkbox)  # 是否支持退券点选不可退
        if iscancel:
            self.activeweb.findElementByXpathAndClickNum(
                num, self.testpagecancelbutton)  # 点击取消按钮
        else:
            if syfw == "1":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpageconfirmbutton)  # 点击确定按钮
            elif syfw == "2":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.confirm_button_zdsh)  # 点击确定按钮
            elif syfw == "3":
                self.activeweb.findElementByXpathAndClickNum(
                    num, self.testpage.confirm_button_zdsh)  #点击确定按钮
            # 断言添加礼品列表中是否有新增加的礼品
            self.defineisintable(num, self.activitycreatepage.y_jllp_table,
                                 yhqmcinputtext, 1)
        ################################优惠券创建完成#########################################

        if iscancel:
            self.activeweb.findElementByXpathAndScriptClickNum(
                num, self.activitycreatepage.cancelbutton)  # 点击取消按钮
        else:

            self.activeweb.findElementByXpathAndScriptClickNum(
                num, self.activitycreatepage.submitbutton)  # 点击提交按钮
            # 断言活动列表中是否有新增加的活动
            self.defineisintable(num, self.activitylistpage_searchtableresult,
                                 yhqmcinputtext, 1)

    def defineasserttextnum(self, num, testelexpath, expecttext):
        #断言是否存在某个文本
        testtext = self.activeweb.findElementByXpathAndReturnText(
            num, testelexpath)
        self.assertEqual(expecttext, testtext)
        self.activeweb.outPutMyLog("存在text:%s" % testtext)

    def defineisintable(self, num, testtablexpath, expecttext, tablecolnum):
        notexsitflag = True
        tabledic = self.activeweb.findElementByXpathAndReturnTableNum(
            num, testtablexpath)
        for value in tabledic.values():
            # self.activeweb.outPutMyLog("%s"% value[int(tablecolnum)])
            if str(expecttext).lower() in value[int(tablecolnum)].lower():
                self.assertTrue(True)
                self.activeweb.outPutMyLog(
                    "在%s中存在text:%s" % (value[int(tablecolnum)], expecttext))
                notexsitflag = False
                break
        if notexsitflag:
            self.activeweb.outPutMyLog("在%s不存在:%s" % (tabledic, expecttext))
            self.assertTrue(False)

    @staticmethod  #根据不同的参数生成测试用例
    def getTestFunc(num, ffzt, kcslinputtext, qyxq, xdsjtsinputtext, yxcbcdf,
                    yhqmcinputtext, yhlx, yhms, gdjemzinputtext,
                    sjjemzmiminputtext, sjjemzmimaxinputtext, zdxfinputtext,
                    sypt, syfw, zdhyoptionxpath, zdshinputtext, isplsh,
                    plfilepath, sfzctq, iscancel):
        def func(self):
            self.definecreateticket(num, ffzt, kcslinputtext, qyxq,
                                    xdsjtsinputtext, yxcbcdf, yhqmcinputtext,
                                    yhlx, yhms, gdjemzinputtext,
                                    sjjemzmiminputtext, sjjemzmimaxinputtext,
                                    zdxfinputtext, sypt, syfw, zdhyoptionxpath,
                                    zdshinputtext, isplsh, plfilepath, sfzctq,
                                    iscancel)

        return func
class TestInputTipClass(unittest.TestCase):  # 创建测试类

    @classmethod  # 类方法,只执行一次,但必须要加注解@classmethod,且名字固定为setUpClass
    def setUpClass(cls):
        # from base.getcookie import GetCookie
        # outjsonfile = "../../../cookiejson/cookiemanager.json"
        # outloginurl = LoginPage().pageurl
        # outloginaccountxpath = LoginPage().account
        # outloginaccounttext = "81122336666"
        # outloginppasswordxpath = LoginPage().password
        # outloginpasswordtext = "abc123456"
        # outloginbuttonxpath = LoginPage().loginbutton
        #
        # getcookie = GetCookie(outjsonfile=outjsonfile, outloginurl=outloginurl,
        #                       outloginaccountxpath=outloginaccountxpath,
        #                       outloginaccounttext=outloginaccounttext, outloginppasswordxpath=outloginppasswordxpath,
        #                       outloginpasswordtext=outloginpasswordtext,
        #                       outloginbuttonxpath=outloginbuttonxpath)  # 实例化
        # getcookie.writerCookieToJson()

        pass

    @classmethod  # 类方法,只执行一次,但必须要加注解@classmethod,且名字固定为tearDownClass
    def tearDownClass(cls):
        pass

    def setUp(self):  # 每条用例执行测试之前都要执行此方法
        # self.jsonfile = '../../../cookiejson/cookieagent.json'
        # self.operationjson = OperationJson(file_path=self.jsonfile)   #实例化
        # self.cookie = self.operationjson.get_all_data()
        # print("self.cookie:%s" % self.cookie)
        self.activeweb = ActiveWeb()  # 实例化
        self.loginurl = LoginPage().pageurl
        self.activeweb.getUrl(self.loginurl)  # 打开网址

        if ISONLINE:
            self.activeweb.findElementByXpathAndInput(LoginPage().account,ONLINE_MANAGER_LOGIN_ACCOUNT)
            self.activeweb.findElementByXpathAndInput(LoginPage().password,ONLINE_MANAGER_LOGIN_PASSWORD)
        else:
            self.activeweb.findElementByXpathAndInput(LoginPage().account,TEST_MANAGER_LOGIN_ACCOUNT)
            self.activeweb.findElementByXpathAndInput(LoginPage().password,TEST_MANAGER_LOGIN_PASSWORD)

        self.activeweb.findElementByXpathAndClick(LoginPage().loginbutton)
        self.activeweb.delayTime(3)
        self.testpage = ActivityEditPage()
        self.testpageurl =self.testpage.pageurl   #测试页面url
        self.testpagehdmcinput = self.testpage.hdmc_input       # ---基础信息---#   活动名称输入框路劲
        self.testpagehdsjstarttime = self.testpage.hdsj_starttime # ---基础信息---#   活动时间开始时间输入框路径
        self.testpagehdsjendtime = self.testpage.hdsj_endtime  # ---基础信息---#   活动时间结束时间输入框路径
        self.testpagehdysinput  = self.testpage.hdys_input   # ---基础信息---#   活动预算输入框路径
        self.testpagetfqdselect = self.testpage.tfqd_select   # ---基础信息---#  投放渠道下拉框路径
        self.testpagehdbztextarea = self.testpage.hdbz_textarea   # ---基础信息---#  活动备注多行输入框路径
        self.testpagerwlxselect = self.testpage.rwlx_select       # ---活动任务规则---# 任务类型下拉框路径
        self.testpagejllxselect = self.testpage.jllx_select     # ---活动奖励---# 奖励类型下拉框路径
        self.testpagewtjlp = self.testpage.w_tjlp    # ---活动奖励---# 未添加礼品时,“添加礼品”文字链接路径

        self.testpagecancelbutton = self.testpage.cancelbutton   #取消按钮
        self.testpagesubmitbutton = self.testpage.submitbutton   #提交按钮

        ######################创建优惠券页面###############################
        self.ticketcreatepage = TicketCreatePage()   #创建优惠券页
        self.ticketcreatepage_kcsl_input  = self.ticketcreatepage.kcsl_input   #第一部分# 库存数量输入框路径
        self.ticketcreatepage_qyxq_select = self.ticketcreatepage.qyxq_select   #第一部分# 券有效期选择框路径
        self.ticketcreatepage_yhqsm_areatext  = self.ticketcreatepage.yhqsm_areatext    #第一部分# 优惠券说明多行输入框路径
        self.ticketcreatepage_yhqmc_input = self.ticketcreatepage.yhqmc_input    #第二部分# 优惠券名称输入框路径
        self.ticketcreatepage_yhlx_select = self.ticketcreatepage.yhlx_select    #第二部分# 优惠类型选择框路径
        self.ticketcreatepage_yhms_select = self.ticketcreatepage.yhms_select    #第二部分# 优惠模式选择框路径
        self.ticketcreatepage_zdxf_input = self.ticketcreatepage.zdxf_input    #第二部分# 最低消费输入框路径
        self.ticketcreatepage_zfqdxz_select  = self.ticketcreatepage.zfqdxz_select     #第二部分# 支付渠道限制选择框路径
        self.ticketcreatepage_syfw_select   = self.ticketcreatepage.syfw_select     #第二部分# 使用范围选择框路径

        self.ticketcreatepage_confirm_button = self.ticketcreatepage.confirm_button   #页面 确定按钮

        ######################活动列表页###############################
        self.activitylistpage = ActivityListPage()   #活动列表页
        self.activitylistpage_searchtableresult = self.activitylistpage.searchtableresult


        #pass


    def tearDown(self):  # 每条用例执行测试之后都要执行此方法
        self.activeweb.closeBrowse()
        # pass

    def writexunicookie(self):
        addcookie = {'name': '.nereus.manager.settle.banks', 'value': 'QCK9GvKG8OEOh6lRUyyLlmKnHl8i3w'}
        self.activeweb.driver.add_cookie(addcookie)
        self.activeweb.driver.refresh()
        self.activeweb.delayTime(5)
        self.activeweb.outPutMyLog("写入虚拟银行cookie完成")

    def defineclickinputdeleteicon(self,num,inputxpath,inputdelecticonxpath):
        self.activeweb.findElementByXpathAndClickNum(num, inputxpath)
        self.activeweb.delayTime(2)
        self.activeweb.findElementByXpathAndClickNum(num, inputdelecticonxpath)

    #定义inputtip函数
    def defineinputtip(self,num,isinput=None,inputxpath=None,
                       inputtext=None,inputtipxpath=None,inputtiptext=None):
        self.activeweb.getUrl(self.testpageurl)
        self.activeweb.delayTime(3)

        self.defineclickinputdeleteicon(num,self.testpage.hdmc_input,self.testpage.hdmc_input_delect_icon)   # 删除活动名称输入框中的内容
        self.defineclickinputdeleteicon(num,self.testpage.hdsj_starttime,self.testpage.hdsj_starttime_delete_icon)   #删除活动开始时间内容
        self.defineclickinputdeleteicon(num, self.testpage.hdsj_endtime,self.testpage.hdsj_endtime_delete_icon)  # 删除活动结束时间内容
        self.defineclickinputdeleteicon(num, self.testpage.hdys_input, self.testpage.hdys_input_delete_icon)  # 删除活动预算输入框中的内容

        if ISONLINE:
            # 投放渠道二级渠道不选中任何内容
            if self.activeweb.findElementByXpath(self.testpage.tfqd_select_nbqd_fxk_mbmpay_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(num, self.testpage.tfqd_select_nbqd_fxk_mbmpay_checkbox)
            if self.activeweb.findElementByXpath(
                    self.testpage.tfqd_select_nbqd_fxk_mydisrupto_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(num,
                                                             self.testpage.tfqd_select_nbqd_fxk_mydisrupto_checkbox)
            if self.activeweb.findElementByXpath(
                    self.testpage.tfqd_select_nbqd_fxk_qrindo_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(num, self.testpage.tfqd_select_nbqd_fxk_qrindo_checkbox)
        else:
            if self.activeweb.findElementByXpath(self.testpage.tfqd_select_nbqd_fxk_mbmpay_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(num, self.testpage.tfqd_select_nbqd_fxk_mbmpay_checkbox)
            if self.activeweb.findElementByXpath(
                    self.testpage.tfqd_select_nbqd_fxk_mydisrupto_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(num,
                                                             self.testpage.tfqd_select_nbqd_fxk_mydisrupto_checkbox)
            if self.activeweb.findElementByXpath(
                    self.testpage.tfqd_select_nbqd_fxk_qrindo_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(num, self.testpage.tfqd_select_nbqd_fxk_qrindo_checkbox)
            if self.activeweb.findElementByXpath(
                    self.testpage.tfqd_select_nbqd_fxk_qrindomerchantcashier_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(num,
                                                         self.testpage.tfqd_select_nbqd_fxk_qrindomerchantcashier_checkbox)
            if self.activeweb.findElementByXpath(
                    self.testpage.tfqd_select_nbqd_fxk_paysdk_checkbox).is_selected():
                self.activeweb.findElementByXpathAndClickNum(num, self.testpage.tfqd_select_nbqd_fxk_paysdk_checkbox)

        self.activeweb.findElementByXpathAndClickOptionXpathNum(num, self.testpagerwlxselect,
                                                                self.testpage.rwlx_select_jx_option)  # 任务类型选择交易

        #不选择交易类型
        if self.activeweb.findElementByXpath(
                self.testpage.jy_wcjy_jylx_fxk_xf_checkbox).is_selected():
            self.activeweb.findElementByXpathAndClickNum(num, self.testpage.jy_wcjy_jylx_fxk_xf_checkbox)  # 点击交易类型-消费前选择框

        if self.activeweb.findElementByXpath(
                self.testpage.jy_wcjy_jylx_fxk_cz_checkbox).is_selected():
            self.activeweb.findElementByXpathAndClickNum(num, self.testpage.jy_wcjy_jylx_fxk_cz_checkbox)  # 点击交易类型-充值前选择框

        if self.activeweb.findElementByXpath(
                self.testpage.jy_wcjy_jylx_fxk_zz_checkbox).is_selected():
            self.activeweb.findElementByXpathAndClickNum(num, self.testpage.jy_wcjy_jylx_fxk_zz_checkbox)  # 点击交易类型-转账前选择框

        # self.activeweb.delayTime(5000)
        #点击用户活动参与次数
        self.activeweb.findElementByXpathAndClickNum(num, self.testpage.tjxz)  # 点击添加限制文字链接
        # self.activeweb.delayTime(5000)
        self.activeweb.findElementByXpathAndClickNum(num,
                                                     self.testpage.rwmb_popup_yhhdcycs_option)  # 点击添加限制弹框中的用户活动参与次数


        #是否输入input内容
        if isinput:
            if inputxpath != None and inputtext !=None:
                self.activeweb.findElementByXpathAndInputNum(num, inputxpath, inputtext)  # 输入input内容

        self.activeweb.findElementByXpathAndScriptClickNum(num, self.testpagesubmitbutton)  # 点击提交按钮
        # self.activeweb.delayTime(5000)
        self.defineasserttextnum(num,inputtipxpath,inputtiptext)   #断言tip实际内容是否与预期内容一致


    def defineasserttextnum(self,num,testelexpath,expecttext):
        #断言是否存在某个文本
        testtext = self.activeweb.findElementByXpathAndReturnText(num,testelexpath)
        self.assertEqual(expecttext,testtext)
        self.activeweb.outPutMyLog("存在text:%s"%testtext)

    def defineisintable(self,num,testtablexpath,expecttext,tablecolnum):
        notexsitflag = True
        tabledic = self.activeweb.findElementByXpathAndReturnTableNum(num, testtablexpath)
        for value in tabledic.values():
            # self.activeweb.outPutMyLog("%s"% value[int(tablecolnum)])
            if str(expecttext).lower() in value[int(tablecolnum)].lower():
                self.assertTrue(True)
                self.activeweb.outPutMyLog("在【%s】中存在:【%s】"% (value[int(tablecolnum)],expecttext))
                notexsitflag = False
                break
        if notexsitflag:
            self.activeweb.outPutMyLog("在【%s】不存在:【%s】"% (tabledic,expecttext))
            self.assertTrue(False)



    @staticmethod    #根据不同的参数生成测试用例
    def getTestFunc(num,isinput,inputxpath,
                       inputtext,inputtipxpath,inputtiptext):
        def func(self):
            self.defineinputtip(num,isinput,inputxpath,
                       inputtext,inputtipxpath,inputtiptext)
        return func