Esempio n. 1
0
class TestMerchantListClass(unittest.TestCase):  # 创建测试类
    @classmethod  # 类方法,只执行一次,但必须要加注解@classmethod,且名字固定为setUpClass
    def setUpClass(cls):
        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_AGENT_LOGIN_ACCOUNT)
            self.activeweb.findElementByXpathAndInput(
                LoginPage().password, ONLINE_AGENT_LOGIN_PASSWORD)
        else:
            self.activeweb.findElementByXpathAndInput(
                LoginPage().account, TEST_AGENT_LOGIN_ACCOUNT)
            self.activeweb.findElementByXpathAndInput(
                LoginPage().password, TEST_AGENT_LOGIN_PASSWORD)

        self.activeweb.findElementByXpathAndClick(LoginPage().loginbutton)
        self.activeweb.delayTime(3)
        self.testpageurl = MerchantListPage().pageurl  #测试页面url
        self.testpagesearchbutton = MerchantListPage().searchbutton  #测试页面搜索按钮
        self.testpagesearchresultxpathtrue = MerchantListPage(
        ).searchtableresult  #测试页面找到相应数据结果xpath路径
        self.testpagesearchresultxpathfalse = MerchantListPage(
        ).searchtableresult2  #测试页面没有找到相应数据结果xpath路径
        #pass

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

    #定义搜索查找函数
    def definesearch(self,
                     num,
                     selectxpath=None,
                     selectoptiontextxpath=None,
                     selectinputxpath=None,
                     selectinputtext=None,
                     isfind=False,
                     colnum=None,
                     checktext=None):
        # self.activeweb.writerCookies(self.cookie, LoginPage().pageurl,MerchantListPage().pageurl)
        self.activeweb.getUrl(self.testpageurl)
        self.activeweb.delayTime(3)

        if selectxpath != None and selectoptiontextxpath != None:
            self.activeweb.findElementByXpathAndScriptClick(selectxpath)
            self.activeweb.findElementByXpathAndScriptClick(
                selectoptiontextxpath)

            # self.activeweb.findElementByXpathAndReturnOptions(selectxpath,str(selectoptiontext))
        if selectinputxpath != None and selectinputtext != None:
            self.activeweb.findElementByXpathAndInput(selectinputxpath,
                                                      str(selectinputtext))
        self.activeweb.findElementByXpathAndClick(self.testpagesearchbutton)
        self.activeweb.delayTime(5)
        if isfind:
            tabledic = self.activeweb.findElementByXpathAndReturnTableNum(
                num, self.testpagesearchresultxpathtrue)
        else:
            tabledic = self.activeweb.findElementByXpathAndReturnTableNum(
                num, self.testpagesearchresultxpathfalse)
        for value in tabledic.values():
            if str(checktext).lower() in value[int(colnum)].lower():
                self.assertTrue(True)
                self.activeweb.outPutMyLog("在【%s】中存在:【%s】" %
                                           (value[int(colnum)], checktext))
            else:
                self.activeweb.outPutMyLog("在【%s】中不存在:【%s】" %
                                           (value[int(colnum)], checktext))
                self.assertTrue(False)

    @staticmethod  #根据不同的参数生成测试用例
    def getTestFunc(num, selectxpath, selectoptiontextxpath, selectinputxpath,
                    selectinputtext, isfind, colnum, checktext):
        def func(self):
            self.definesearch(num, selectxpath, selectoptiontextxpath,
                              selectinputxpath, selectinputtext, isfind,
                              colnum, checktext)

        return func
Esempio n. 2
0
class TestReviewClass(unittest.TestCase):  # 创建测试类
    @classmethod  # 类方法,只执行一次,但必须要加注解@classmethod,且名字固定为setUpClass
    def setUpClass(cls):
        # cls.activeweb = ActiveWeb()  # 实例化
        # cls.loginurl = LoginPage().pageurl
        # cls.activeweb.getUrl(cls.loginurl)  # 打开网址
        # if ISONLINE:
        #     cls.activeweb.findElementByXpathAndInput(LoginPage().account, ONLINE_MANAGER_LOGIN_ACCOUNT)
        #     cls.activeweb.findElementByXpathAndInput(LoginPage().password, ONLINE_MANAGER_LOGIN_PASSWORD)
        # else:
        #     cls.activeweb.findElementByXpathAndInput(LoginPage().account, TEST_MANAGER_LOGIN_ACCOUNT)
        #     cls.activeweb.findElementByXpathAndInput(LoginPage().password, TEST_MANAGER_LOGIN_PASSWORD)
        #
        # cls.activeweb.findElementByXpathAndScriptClick(LoginPage().loginbutton)
        # cls.activeweb.delayTime(3)
        # cls.testpage = ReviewPage()
        # cls.activeweb.getUrl(MerchantListPage().pageurl)
        # cls.activeweb.delayTime(3)
        pass

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

    def setUp(self):  # 每条用例执行测试之前都要执行此方法
        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.findElementByXpathAndScriptClick(
            LoginPage().loginbutton)
        self.activeweb.delayTime(3)
        self.testpage = ReviewPage()
        # self.testpageurl =self.testpage.pageurl   #测试页面url
        self.activeweb.getUrl(MerchantListPage().pageurl)
        self.activeweb.delayTime(3)
        pass

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

    def defineclickturndown(self, num, reviewnoteinputtext):
        self.definesearch(num,
                          MerchantListPage().keywordselectxpath,
                          MerchantListPage().keywordoption_merchantid_text,
                          MerchantListPage().keywordselectinputxpath,
                          MANAGER_REVIEW_MERCHANTID, True, 6, "Review")
        #点击Review
        self.activeweb.findElementByXpathAndScriptClick(
            MerchantListPage().firstdatareview)
        #输入拒绝内容
        self.activeweb.findElementByXpathAndInput(
            self.testpage.reviewnoteinput, reviewnoteinputtext)
        #获取输入的内容
        self.activeweb.findElementByXpathAndReturnText(
            num, self.testpage.reviewnoteinput)
        #点击拒绝按钮
        self.activeweb.findElementByXpathAndScriptClickNum(
            num, self.testpage.turndownbutton)

        # self.activeweb.delayTime(1000)

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

    def defineisintable(self, num, testtablexpath, expecttext, tablecolnum):
        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))
                break
            else:
                self.activeweb.outPutMyLog(
                    "在%s不存在文本信息:%s" % (value[int(tablecolnum)], expecttext))
                self.assertTrue(False)

    #定义搜索查找函数
    def definesearch(self,
                     num,
                     selectxpath=None,
                     selectoptiontext=None,
                     selectinputxpath=None,
                     selectinputtext=None,
                     isfind=False,
                     colnum=None,
                     checktext=None):

        if selectxpath != None and selectoptiontext != None:
            # self.activeweb.findElementByXpathAndScriptClick(selectxpath)
            # self.activeweb.findElementByXpathAndScriptClick(selectoptiontextxpath)
            self.activeweb.findElementByXpathAndReturnOptionsNum(
                num, selectxpath, str(selectoptiontext))

        if selectinputxpath != None and selectinputtext != None:
            self.activeweb.findElementByXpathAndInput(selectinputxpath,
                                                      str(selectinputtext))
        self.activeweb.findElementByXpathAndClick(
            MerchantListPage().searchbutton)
        self.activeweb.delayTime(5)
        if isfind:
            tabledic = self.activeweb.findElementByXpathAndReturnTableNum(
                num,
                MerchantListPage().searchtableresult)
        else:
            tabledic = self.activeweb.findElementByXpathAndReturnTableNum(
                num,
                MerchantListPage().searchtableresult2)

        for value in tabledic.values():
            if str(checktext).lower() in value[int(colnum)].lower():
                self.assertTrue(True)
                self.activeweb.outPutMyLog("在%s中存在文本信息:%s" %
                                           (value[int(colnum)], checktext))
                break
            else:
                self.activeweb.outPutMyLog("在%s不存在文本信息:%s" %
                                           (value[int(colnum)], checktext))
                self.assertTrue(False)

    @staticmethod  #根据不同的参数生成测试用例
    def getTestFunc(num, reviewnoteinputtext):
        def func(self):
            self.defineclickturndown(num, reviewnoteinputtext)

        return func
Esempio n. 3
0
class TestReviseClass(unittest.TestCase):  # 创建测试类


    @classmethod  # 类方法,只执行一次,但必须要加注解@classmethod,且名字固定为setUpClass
    def setUpClass(cls):
        # cls.activeweb = ActiveWeb()  # 实例化
        # cls.loginurl = LoginPage().pageurl
        # cls.activeweb.getUrl(cls.loginurl)  # 打开网址
        # cls.activeweb.findElementByXpathAndInput(LoginPage().account,AGENT_LOGIN_ACCOUNT)
        # cls.activeweb.findElementByXpathAndInput(LoginPage().password,AGENT_LOGIN_PASSWORD)
        # cls.activeweb.findElementByXpathAndClick(LoginPage().loginbutton)
        # cls.activeweb.delayTime(3)
        # cls.testpage = RevisePage()
        # cls.testpageurl =cls.testpage.pageurl   #测试页面url
        # cls.activeweb.getUrl(cls.testpageurl)
        # cls.activeweb.delayTime(3)

        pass

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

    def setUp(self):  # 每条用例执行测试之前都要执行此方法
        self.activeweb = ActiveWeb()  # 实例化
        self.loginurl = LoginPage().pageurl
        self.activeweb.getUrl(self.loginurl)  # 打开网址
        self.activeweb.findElementByXpathAndInput(LoginPage().account,AGENT_LOGIN_ACCOUNT)
        self.activeweb.findElementByXpathAndInput(LoginPage().password,AGENT_LOGIN_PASSWORD)
        self.activeweb.findElementByXpathAndClick(LoginPage().loginbutton)
        self.activeweb.delayTime(3)
        self.testpage = RevisePage()
        self.testpageurl =self.testpage.pageurl   #测试页面url
        self.activeweb.getUrl(self.testpageurl)
        self.activeweb.delayTime(3)
        pass


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

    def defineclicksubmitagain(self,num):

        revisemerchantname = self.activeweb.findElementByXpathAndReturnValueNum(num,self.testpage.brandnameinput,"value")
        self.activeweb.findElementByXpathAndScriptClickNum(num,self.testpage.merchantinfo)
        self.activeweb.findElementByXpathAndScriptClickNum(num,self.testpage.submitagainbutton)
        #断言是否有“Success”
        self.defineasserttextnum(num,AddMerchantSuccessPage().successindividu,AddMerchantSuccessPage().successtext)
        self.activeweb.findElementByXpathAndClickNum(num,AddMerchantSuccessPage().okbuttonindividu)

        #断言是否有“Done”
        self.defineasserttextnum(num, AddMerchantDonePage().done, AddMerchantDonePage().donetext)

        # 断言是否有“Waiting for approval”
        self.defineasserttextnum(num, AddMerchantDonePage().waitingforapproval, AddMerchantDonePage().waitingforapprovaltext)

        # 断言是否有brandnameinputtext(添加的商户名)
        self.defineasserttextnum(num, AddMerchantDonePage().merchantnamevalue, revisemerchantname)

        self.activeweb.findElementByXpathAndClickNum(num,AddMerchantDonePage().merchantlistbutton)
        # #断言商户列表中是否有新增加的商户名
        # self.defineisintable(num,MerchantListPage().searchtableresult,revisemerchantname,1)

        #断言商户列表中Revise的商户的状态发生变化,右Revise变成Details
        revisemerchantname = "test_individu_20190415141440"
        self.definesearch(num,
                          MerchantListPage().keywordselectxpath,
                          MerchantListPage().keywordoption_merchantname_xpath,
                          MerchantListPage().keywordselectinputxpath,
                          revisemerchantname,
                          True,
                          6,
                          "Details")
        # self.activeweb.delayTime(1000)

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

    def defineisintable(self,num,testtablexpath,expecttext,tablecolnum):
        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))
                break
            else:
                self.activeweb.outPutMyLog("在%s不存在文本信息:%s"% (value[int(tablecolnum)],expecttext))
                self.assertTrue(False)

    #定义搜索查找函数
    def definesearch(self,num,selectxpath=None,selectoptiontextxpath=None,selectinputxpath=None,selectinputtext=None,isfind=False,colnum=None,checktext=None):

        if selectxpath !=None and selectoptiontextxpath !=None:
            self.activeweb.findElementByXpathAndScriptClick(selectxpath)
            self.activeweb.findElementByXpathAndScriptClick(selectoptiontextxpath)

        if selectinputxpath != None and selectinputtext !=None:
            self.activeweb.findElementByXpathAndInput(selectinputxpath,str(selectinputtext))
        self.activeweb.findElementByXpathAndClick(MerchantListPage().searchbutton)
        self.activeweb.delayTime(5)
        if isfind:
            tabledic = self.activeweb.findElementByXpathAndReturnTableNum(num,MerchantListPage().searchtableresult)
        else:
            tabledic = self.activeweb.findElementByXpathAndReturnTableNum(num, MerchantListPage().searchtableresult2)

        for value in tabledic.values():
            if str(checktext).lower() in value[int(colnum)].lower():
                self.assertTrue(True)
                self.activeweb.outPutMyLog("在%s中存在文本信息:%s"% (value[int(colnum)],checktext))
                break
            else:
                self.activeweb.outPutMyLog("在%s不存在文本信息:%s"% (value[int(colnum)],checktext))
                self.assertTrue(False)

    @staticmethod    #根据不同的参数生成测试用例
    def getTestFunc( num):
        def func(self):
            self.defineclicksubmitagain(num)
        return func
class TestReviewMerchantClass(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 = MerchantListPage()
        self.testpageurl = self.testpage.pageurl   #测试页面url
        self.testpagesearchbutton = self.testpage.searchbutton   #测试页面搜索按钮
        self.testpagesearchresultxpathtrue = self.testpage.searchtableresult   #测试页面找到相应数据结果xpath路径
        self.testpagesearchresultxpathfalse = self.testpage.searchtableresult2  #测试页面没有找到相应数据结果xpath路径

        #审核页
        self.reviewpage = ReviewPage()
        #pass


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


    #定义搜索查找函数
    def definesearch(self,num,selectxpath=None,selectoptiontextxpath=None,selectinputxpath=None,selectinputtext=None,isfind=False,colnum=None,checktext=None):
        # self.activeweb.writerCookies(self.cookie, LoginPage().pageurl,MerchantListPage().pageurl)
        self.activeweb.getUrl(self.testpageurl)
        self.activeweb.delayTime(3)

        if selectxpath !=None and selectoptiontextxpath !=None:
            self.activeweb.findElementByXpathAndScriptClick(selectxpath)
            self.activeweb.findElementByXpathAndScriptClick(selectoptiontextxpath)

            # self.activeweb.findElementByXpathAndReturnOptions(selectxpath,str(selectoptiontext))
        if selectinputxpath != None and selectinputtext !=None:
            self.activeweb.findElementByXpathAndInput(selectinputxpath,str(selectinputtext))
        self.activeweb.findElementByXpathAndClick(self.testpagesearchbutton)
        self.activeweb.delayTime(5)
        if isfind:
            tabledic = self.activeweb.findElementByXpathAndReturnTableNum(num,self.testpagesearchresultxpathtrue)

        else:
            tabledic = self.activeweb.findElementByXpathAndReturnTableNum(num, self.testpagesearchresultxpathfalse)
        for value in tabledic.values():
            if str(checktext).lower() in value[int(colnum)].lower():
                self.assertTrue(True)
                self.activeweb.outPutMyLog("在%s中存在文本信息:%s"% (value[int(colnum)],checktext))
                break
            else:
                self.activeweb.outPutMyLog("在%s不存在文本信息:%s"% (value[int(colnum)],checktext))
                self.assertTrue(False)

    #自动审核商户
    def testreviewmerchant(self):
        self.activeweb.getUrl(self.testpageurl)
        self.activeweb.delayTime(3)
        self.activeweb.findElementByXpathAndInput(self.testpage.keywordselectinputxpath, str("ahditest_merchantfreya_R_individu"))  #输入框中输入“ahditest_merchantfreya_R_individu”
        self.activeweb.findElementByXpathAndReturnOptions(self.testpage.statusselectxpath, str("Waiting For Review"))
        self.activeweb.findElementByXpathAndClick(self.testpagesearchbutton)  #点击搜索按钮
        self.activeweb.findElementByXpathAndClick(self.testpage.reviewtextlinkxpath)   #点击“Review”
        self.activeweb.delayTime(3)
        self.activeweb.findElementByXpathAndClick(self.reviewpage.approvedbutton)  # 点击审核页“approved”
        self.activeweb.findElementByXpathAndClick(self.reviewpage.confirmbutton)  # 点击审核页第二页“confirm”
        #验证跳转到商户列表页
        self.activeweb.findElementByXpathAndReturnTextNotNum(self.testpagesearchbutton)
class TestAwardRequestListSearchClass(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 = AwardRequestListPage()
        self.testpageurl = self.testpage.pageurl  #测试页面url
        self.testpagesearchbutton = self.testpage.cx_button
        self.testpagesearchresultxpathtrue = self.testpage.searchtableresult
        self.testpagesearchresultxpathfalse = self.testpage.searchtableresult2
        #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 definesearch(self,
                     num,
                     isclicklastpage=None,
                     selectxpath=None,
                     selectoptiontextxpath=None,
                     selectinputxpath=None,
                     selectinputselectonexpath=None,
                     selectinputtext=None,
                     isfind=False,
                     colnum=None,
                     checktext=None):
        # self.activeweb.writerCookies(self.cookie, LoginPage().pageurl,MerchantListPage().pageurl)
        self.activeweb.getUrl(self.testpageurl)
        self.activeweb.delayTime(5)

        #点击最后一页
        if isclicklastpage:
            self.activeweb.findElementByXpathAndScriptClick(
                self.testpage.last_page)

        if selectxpath != None and selectoptiontextxpath != None:
            self.activeweb.findElementByXpathAndScriptClick(selectxpath)
            self.activeweb.findElementByXpathAndScriptClick(
                selectoptiontextxpath)

            # self.activeweb.findElementByXpathAndReturnOptions(selectxpath,str(selectoptiontext))
        if selectinputxpath != None and selectinputtext != None:
            self.activeweb.findElementByXpathAndInput(selectinputxpath,
                                                      str(selectinputtext))
            if selectinputselectonexpath != None:
                self.activeweb.findElementByXpathAndScriptClick(
                    selectinputselectonexpath)
        self.activeweb.findElementByXpathAndClick(self.testpagesearchbutton)
        self.activeweb.delayTime(5)
        # self.activeweb.delayTime(5000)
        if isfind:
            tabledic = self.activeweb.findElementByXpathAndReturnTableNum(
                num, self.testpagesearchresultxpathtrue)
        else:
            tabledic = self.activeweb.findElementByXpathAndReturnTableNum(
                num, self.testpagesearchresultxpathfalse)
        for value in tabledic.values():
            if str(checktext).lower() in value[int(colnum)].lower():
                self.assertTrue(True)
                self.activeweb.outPutMyLog("在【%s】中存在:【%s】" %
                                           (value[int(colnum)], checktext))
            else:
                self.activeweb.outPutMyLog("在【%s】中不存在:【%s】" %
                                           (value[int(colnum)], checktext))
                self.assertTrue(False)

    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, isclicklastpage, selectxpath, selectoptiontextxpath,
                    selectinputxpath, selectinputselectonexpath,
                    selectinputtext, isfind, colnum, checktext):
        def func(self):
            self.definesearch(num, isclicklastpage, selectxpath,
                              selectoptiontextxpath, selectinputxpath,
                              selectinputselectonexpath, selectinputtext,
                              isfind, colnum, checktext)

        return func
Esempio n. 6
0
class GetCookie():
    def __init__(self,outjsonfile=None,outloginurl=None,outloginaccountxpath=None,
                 outloginaccounttext=None,outloginppasswordxpath=None,outloginpasswordtext=None,
                 outloginbuttonxpath=None):

        if outjsonfile==None:
            self.jsonfile = '../cookiejson/cookiemanager.json'
        else:
            self.jsonfile = outjsonfile

        if outloginurl==None:
            self.loginurl ="https://bjw.halodigit.com:9090/nereus/manager/index#/login"
        else:
            self.loginurl = outloginurl

        if outloginaccountxpath==None:
            self.loginaccountxpath = "/html/body/div[1]/div[2]/form/div/div[1]/input"
        else:
            self.loginaccountxpath = outloginaccountxpath

        if outloginaccounttext==None:
            self.loginaccount = "*****@*****.**"
        else:
            self.loginaccount = outloginaccounttext

        if outloginppasswordxpath==None:
            self.loginppasswordxpath = "/html/body/div[1]/div[2]/form/div/div[2]/input"
        else:
            self.loginppasswordxpath = outloginppasswordxpath

        if outloginpasswordtext==None:
            self.loginpassword = "******"
        else:
            self.loginpassword = outloginpasswordtext

        if outloginbuttonxpath==None:
            self.loginbuttonxpath = "/html/body/div[1]/div[2]/form/div/a[1]/span"
        else:
            self.loginbuttonxpath = outloginbuttonxpath

        self.operationjson = OperationJson(file_path=self.jsonfile)   #实例化
        self.activeweb = ActiveWeb()  # 实例化


    def getCookie(self):
        # 登录
        self.activeweb.getUrl(self.loginurl)  # 打开网址
        self.activeweb.findElementByXpathAndInput(self.loginaccountxpath,self.loginaccount)
        self.activeweb.findElementByXpathAndInput(self.loginppasswordxpath,self.loginpassword)
        self.activeweb.findElementByXpathAndClick(self.loginbuttonxpath)
        self.activeweb.delayTime(3)
        if 'merchant' in self.jsonfile :
            print("outjsonfile为:%s"% self.jsonfile)
            self.selectMerchant()
        else:
            print("开始获取cookie---")
        # 获取cookie
        cookie = self.activeweb.getCookies()
        self.activeweb.closeBrowse()
        return cookie

    def writerCookieToJson(self):
        self.cookie = self.getCookie()
        self.operationjson.write_data(self.cookie)
        print("\ncookie信息‘%s’已经写入‘%s’文件里。\n" % (self.cookie,self.jsonfile))

    #选商户时的操作
    def selectMerchant(self):
        self.merchantxpath = '/html/body/div[1]/div[2]/div/form/div[5]/p[1]/span/input'
        self.confirmbuttonxpath = '/html/body/div[1]/div[2]/div/form/div[43]/p/span[2]/button'

        self.activeweb.findElementByXpathAndScriptClick(self.merchantxpath)
        self.activeweb.findElementByXpathAndClick(self.confirmbuttonxpath)
        self.activeweb.delayTime(3)