class LoginPageAgentFun:
    def __init__(self):
        self.activeweb = ActiveWeb()  #实例化
        self.loginpage = LoginPage()  #实例化

    def checkResult(self, result, preresult):
        """
        实际结果与预期结果比较
        """
        if result == preresult:
            self.activeweb.printgreenword()
            print("测试通过")
            self.activeweb.printnormalword()
        else:
            self.activeweb.printredword()
            print("测试失败,失败描述:实际结果为%s,与预期结果%s不一致" % (result, preresult))
            self.activeweb.printnormalword()

    def checkTextEle(self, checkele, preresult):
        """
        页面text文本内容检查
        """
        result = self.activeweb.findElementByXpathAndReturnText(checkele)
        self.checkResult(result, preresult)

    def checkValueEle(self, checkele, checkvalue, preresult):
        """
        页面输入框默认内容检查
        """
        result = self.activeweb.findElementByXpathAndReturnValue(
            checkele, checkvalue)
        self.checkResult(result, preresult)
Beispiel #2
0
class AddMerchantFun:  #创建测试类
    def __init__(self,
                 writebrandname=None,
                 writeremail=None,
                 writercontactnumber=None,
                 writermerchanttype=None,
                 writercategory=None,
                 writercriteria=None,
                 writersiup=None,
                 writerprovince=None,
                 writercity=None,
                 writerdistrict=None,
                 writervillage=None,
                 writerpostcode=None,
                 writeraddress=None,
                 writercompany=None,
                 writernpwptaxid=None,
                 writerofficialwebsite=None,
                 writerphotosiup=None,
                 writerphotonpwpcompany=None,
                 writerphototdp=None,
                 writername=None,
                 writertypeid=None,
                 writeridentitynumber=None,
                 writernpwp=None,
                 writeraddresstwo=None,
                 writernationality=None,
                 writerposition=None,
                 writerphone=None,
                 writeremailtwo=None,
                 writerphotofullfacebust=None,
                 writerlocationphoto=None,
                 writerphotoofthecashiersdesk=None,
                 writerotherphoto=None,
                 writerbank=None,
                 writeraccountname=None,
                 writeraccountnumber=None,
                 writerqrindoamount=None):
        self.activeweb = ActiveWeb()  #实例化
        self.loginpage = LoginPage()  #实例化
        self.addmerchantpage = AddMerchantPage()  # 实例化
        self.addmerchantdonepage = AddMerchantDonePage()  #实例化
        self.addmerchantpagecompany = AddMerchantPageCompany()  #实例化

        #登录
        self.url = "https://bjw.halodigit.com:9090/nereus/agent/index"  #代理商后台
        self.account = "6281122336666"
        self.password = "******"
        # self.url = "https://m-mbmpay.ahdipay.com/nereus/agent/index"  # 代理商后台
        # self.account = "6281285610481"   #现网
        # self.password = "******"   #现网

        self.addmer = "/html/body/div[3]/div[1]/div/ul/li/ul/li/a[2]"

        #输入内容:
        if writebrandname == None:
            self.writebrandname = ""
        else:
            self.writebrandname = writebrandname

        if writeremail == None:
            self.writeremail = ""
        else:
            self.writeremail = writeremail

        if writercontactnumber == None:
            self.writercontactnumber = ""
        else:
            self.writercontactnumber = writercontactnumber

        if writermerchanttype == None:
            self.writermerchanttype = ""
        else:
            self.writermerchanttype = writermerchanttype

        if writercategory == None:
            self.writercategory = ""
        else:
            self.writercategory = writercategory

        if writercriteria == None:
            self.writercriteria = ""
        else:
            self.writercriteria = writercriteria

        if writersiup == None:
            self.writersiup = ""
        else:
            self.writersiup = writersiup

        if writerprovince == None:
            self.writerprovince = ""
        else:
            self.writerprovince = writerprovince

        if writercity == None:
            self.writercity = ""
        else:
            self.writercity = writercity

        if writerdistrict == None:
            self.writerdistrict = ""
        else:
            self.writerdistrict = writerdistrict

        if writervillage == None:
            self.writervillage = ""
        else:
            self.writervillage = writervillage

        if writerpostcode == None:
            self.writerpostcode = ""
        else:
            self.writerpostcode = writerpostcode

        if writeraddress == None:
            self.writeraddress = ""
        else:
            self.writeraddress = writeraddress

        if writercompany == None:
            self.writercompany = ""
        else:
            self.writercompany = writercompany

        if writernpwptaxid == None:
            self.writernpwptaxid = ""
        else:
            self.writernpwptaxid = writernpwptaxid

        if writerofficialwebsite == None:
            self.writerofficialwebsite = ""
        else:
            self.writerofficialwebsite = writerofficialwebsite

        if writerphotosiup == None:
            self.writerphotosiup = ""
        else:
            self.writerphotosiup = writerphotosiup

        if writerphotonpwpcompany == None:
            self.writerphotonpwpcompany = ""
        else:
            self.writerphotonpwpcompany = writerphotonpwpcompany

        if writerphototdp == None:
            self.writerphototdp = ""
        else:
            self.writerphototdp = writerphototdp

        if writername == None:
            self.writername = ""
        else:
            self.writername = writername

        if writertypeid == None:
            self.writertypeid = ""
        else:
            self.writertypeid = writertypeid

        if writeridentitynumber == None:
            self.writeridentitynumber = ""
        else:
            self.writeridentitynumber = writeridentitynumber

        if writernpwp == None:
            self.writernpwp = ""
        else:
            self.writernpwp = writernpwp

        if writeraddresstwo == None:
            self.writeraddresstwo = ""
        else:
            self.writeraddresstwo = writeraddresstwo

        if writernationality == None:
            self.writernationality = ""
        else:
            self.writernationality = writernationality

        if writerposition == None:
            self.writerposition = ""
        else:
            self.writerposition = writerposition

        if writerphone == None:
            self.writerphone = ""
        else:
            self.writerphone = writerphone

        if writeremailtwo == None:
            self.writeremailtwo = ""
        else:
            self.writeremailtwo = writeremailtwo

        if writerphotofullfacebust == None:
            self.writerphotofullfacebust = ""
        else:
            self.writerphotofullfacebust = writerphotofullfacebust

        if writerlocationphoto == None:
            self.writerlocationphoto = ""
        else:
            self.writerlocationphoto = writerlocationphoto

        if writerphotoofthecashiersdesk == None:
            self.writerphotoofthecashiersdesk = ""
        else:
            self.writerphotoofthecashiersdesk = writerphotoofthecashiersdesk

        if writerotherphoto == None:
            self.writerotherphoto = ""
        else:
            self.writerotherphoto = writerotherphoto

        if writerbank == None:
            self.writerbank = ""
        else:
            self.writerbank = writerbank

        if writeraccountname == None:
            self.writeraccountname = ""
        else:
            self.writeraccountname = writeraccountname

        if writeraccountnumber == None:
            self.writeraccountnumber = ""
        else:
            self.writeraccountnumber = writeraccountnumber

        if writerqrindoamount == None:
            self.writerqrindoamount = ""
        else:
            self.writerqrindoamount = writerqrindoamount

    def closeweb(self):
        """
        关闭浏览器
        """
        self.activeweb.closeBrowse()

    def loginweb(self):
        """
        登录
        """
        self.activeweb.getUrl(self.url)  #打开网址
        self.activeweb.findElementByXpathAndInput(self.loginpage.account,
                                                  self.account)
        self.activeweb.findElementByXpathAndInput(self.loginpage.password,
                                                  self.password)
        self.activeweb.findElementByXpathAndClick(self.loginpage.loginbutton)
        self.activeweb.delayTime(3)

    def clickAddMerchant(self):
        """
        点击“Add merchant”
        """
        self.activeweb.findElementByXpathAndClick(
            self.addmer)  #点击"Add merchant"
        self.activeweb.delayTime(3)

    def addIndividuMerchant(self):
        """
        添加个人商户
        """
        global flaggere

        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.merchanttypeselect, self.writermerchanttype)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.brandnameinput, self.writebrandname)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.emailinput, self.writeremail)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.contactnumberinput, self.writercontactnumber)
        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.categoryselect, self.writercategory)
        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.criteriaselect, self.writercriteria)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.siupinput, self.writersiup)
        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.provinceselect, self.writerprovince)
        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.cityselect, self.writercity)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.districtinput, self.writerdistrict)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.villageinput, self.writervillage)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.postcodeinput, self.writerpostcode)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.addressinput, self.writeraddress)
        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.photosiupimage, self.writerphotosiup)
        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.photonpwpcompanyimage,
            self.writerphotonpwpcompany)
        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.phototdpimage, self.writerphototdp)

        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.nameinput, self.writername)
        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.typeidselect, self.writertypeid)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.identitynumberinput,
            self.writeridentitynumber)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.npwpinput, self.writernpwp)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.addresstwoinput, self.writeraddresstwo)
        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.nationalityselect, self.writernationality)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.phoneinput, self.writerphone)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.emailtwoinput, self.writeremailtwo)
        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.photofullfacebustimage,
            self.writerphotofullfacebust)

        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.locationphotoimage, self.writerlocationphoto)
        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.photoofthecashiersdeskimage,
            self.writerphotoofthecashiersdesk)
        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.otherphotoimage, self.writerotherphoto)

        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.bankselect, self.writerbank)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.accountnameinput, self.writeraccountname)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.accountnumberinput, self.writeraccountnumber)

        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.qrindoamountinput, self.writerqrindoamount)
        self.activeweb.findElementByXpathAndClick(
            self.addmerchantpage.checkbutton)
        self.activeweb.delayTime(3)

        self.activeweb.findElementByXpathAndClick(
            self.addmerchantpage.submitbutton)
        self.activeweb.delayTime(3)

        if self.activeweb.findElementByXpathAndReturnText(
                self.addmerchantdonepage.merchantnamecontent
        ) == self.writebrandname:
            flaggere = True
            self.activeweb.printgreenword()
            print("添加个人商户%s成功" % self.writebrandname)
            self.activeweb.printnormalword()
        else:
            flaggere = False
            self.activeweb.printredword()
            print("添加个人商户%s失败" % self.writebrandname)
            self.activeweb.printnormalword()
        self.activeweb.findElementByXpathAndClick(
            self.addmerchantdonepage.merchantlistbutton)
        return flaggere

    def addCompanyMerchant(self):
        """
        添加公司商户
        """
        global flagcom
        self.addmerchantpage = self.addmerchantpagecompany

        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.merchanttypeselect, self.writermerchanttype)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.brandnameinput, self.writebrandname)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.emailinput, self.writeremail)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.contactnumberinput, self.writercontactnumber)
        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.categoryselect, self.writercategory)
        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.criteriaselect, self.writercriteria)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.siupinput, self.writersiup)
        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.provinceselect, self.writerprovince)
        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.cityselect, self.writercity)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.districtinput, self.writerdistrict)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.villageinput, self.writervillage)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.postcodeinput, self.writerpostcode)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.addressinput, self.writeraddress)

        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.companyinput, self.writercompany)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.officialwebsiteinput,
            self.writerofficialwebsite)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.npwptaxidinput, self.writernpwptaxid)

        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.photosiupimage, self.writerphotosiup)
        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.photonpwpcompanyimage,
            self.writerphotonpwpcompany)
        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.phototdpimage, self.writerphototdp)

        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.nameinput, self.writername)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.positioninput, self.writerposition)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.phoneinput, self.writerphone)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.emailtwoinput, self.writeremailtwo)
        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.photofullfacebustimage,
            self.writerphotofullfacebust)

        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.locationphotoimage, self.writerlocationphoto)
        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.photoofthecashiersdeskimage,
            self.writerphotoofthecashiersdesk)
        self.activeweb.findElementByXpathAndAndFile(
            self.addmerchantpage.otherphotoimage, self.writerotherphoto)

        self.activeweb.findElementByXpathAndReturnOptions(
            self.addmerchantpage.bankselect, self.writerbank)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.accountnameinput, self.writeraccountname)
        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.accountnumberinput, self.writeraccountnumber)

        self.activeweb.findElementByXpathAndInput(
            self.addmerchantpage.qrindoamountinput, self.writerqrindoamount)
        self.activeweb.findElementByXpathAndClick(
            self.addmerchantpage.checkbutton)
        self.activeweb.delayTime(3)

        self.activeweb.findElementByXpathAndClick(
            self.addmerchantpage.submitbutton)
        self.activeweb.delayTime(3)

        if self.activeweb.findElementByXpathAndReturnText(
                self.addmerchantdonepage.merchantnamecontent
        ) == self.writebrandname:
            flagcom = True
            self.activeweb.printgreenword()
            print("添加公司商户%s成功" % self.writebrandname)
            self.activeweb.printnormalword()
        else:
            flagcom = False
            self.activeweb.printredword()
            print("添加公司商户%s失败" % self.writebrandname)
            self.activeweb.printnormalword()
        self.activeweb.findElementByXpathAndClick(
            self.addmerchantdonepage.merchantlistbutton)
        return flagcom

    def addMerchant(self):
        """
        添加商户
        """
        global flagadd
        if self.writermerchanttype == "Individu":
            self.loginweb()
            self.clickAddMerchant()
            flagadd = self.addIndividuMerchant()
        elif self.writermerchanttype == "Company":
            self.loginweb()
            self.clickAddMerchant()
            flagadd = self.addCompanyMerchant()
        else:
            print('商户类型不正确,商户类型只有:Individu和Company两种,你输入的商户类型为:%s' %
                  self.writermerchanttype)
            flagadd = False
        self.closeweb()
        return flagadd
class WebFunction:
    def __init__(self):
        self.activeweb = ActiveWeb()

    def assertresult(self, testresult, preresult):
        message = [1, 2]
        if testresult == preresult:
            self.activeweb.printgreenword()
            passmessage = "测试通过-描述【预期结果为:%s,实际结果为:%s,两者一致。】" % (preresult,
                                                                testresult)
            print(passmessage)
            self.activeweb.printnormalword()
            message[0] = 'pass'
            message[1] = passmessage
        else:
            self.activeweb.printredword()
            failmessage = "测试失败-失败描述【预期结果为:%s,而实际结果为:%s,两者不一致。】" % (preresult,
                                                                    testresult)
            print(failmessage)
            self.activeweb.printnormalword()
            message[0] = 'fail'
            message[1] = failmessage
        return message

    def assertText(self, num, testxpath, preresult):
        testresult = self.activeweb.findElementByXpathAndReturnText(
            num, testxpath)
        assertresult = self.assertresult(testresult, preresult)
        return assertresult

    def assertSelectSearch(self, num, selectxpath, selectoptiontext,
                           selectinputxpath, selectinputtext,
                           searchbuttonxpath, searchtableresultxpath, colnum,
                           checktext):
        message = [1, 2]
        flag = False
        self.activeweb.findElementByXpathAndReturnOptions(
            selectxpath, str(selectoptiontext))
        self.activeweb.findElementByXpathAndInput(selectinputxpath,
                                                  str(selectinputtext))
        self.activeweb.findElementByXpathAndClick(searchbuttonxpath)
        self.activeweb.delayTime(5)
        tabledic = self.activeweb.findElementByXpathAndReturnTableNum(
            num, searchtableresultxpath)
        for value in tabledic.values():
            if str(checktext).lower() in value[int(colnum)].lower():
                flag = True
        if flag:
            self.activeweb.printgreenword()
            passmessage = "测试通过-描述【预期搜索结果中包含:%s,实际搜索结果为:%s,符合预期。】" % (
                str(checktext), tabledic)
            print(passmessage)
            self.activeweb.printnormalword()
            message[0] = 'pass'
            message[1] = passmessage
        else:
            self.activeweb.printredword()
            failmessage = "测试失败-失败描述【预期搜索结果中包含:%s,实际搜索结果为:%s,不符合预期。】" % (
                str(checktext), tabledic)
            print(failmessage)
            self.activeweb.printnormalword()
            message[0] = 'fail'
            message[1] = failmessage
        return message

    def assertInputValue(self, testxpath, testvaluename, preresult):
        testresult = self.activeweb.findElementByXpathAndReturnValue(
            testxpath, testvaluename)
        self.assertresult(testresult, preresult)