コード例 #1
0
 def savePreResultInfo(self, resp):
     Log.debug('start savePreResultInfo: ' + self._CLASSNAME)
     try:
         Log.debug('start savePreResultInfo: ' + resp)
         respDict = strToDict(resp)
         Log.debug('respDict: ', respDict)
         Log.debug('needSavePreResults: ', self.needSavePreResults)
         if respDict and self.needSavePreResults.find('{') > -1:
             needSavePreResultDict = strToDict(self.needSavePreResults)
             if needSavePreResultDict:
                 Log.debug('needSavePreResultDict: ', needSavePreResultDict)
                 for key in needSavePreResultDict:
                     self.getValueFromResp(key, needSavePreResultDict[key],
                                           respDict)
             else:
                 print 'json或dictionary is error' + self.needSavePreResults  #忽略
         else:
             needSavePreResultList = self.needSavePreResults.split(';')
             for savePreResult in needSavePreResultList:
                 [key, value] = savePreResult.split('=')
                 #                    if respDict:
                 #                        self.getValueFromResp(key, value, respDict)
                 #                    else:
                 self.getValueFromResp(key, value, resp)
     except BaseException, e:
         Log.error(e)
コード例 #2
0
    def savePreResultInfo(self, resp):
        Log.debug('start savePreResultInfo: ' + self._CLASSNAME)
        try:
            Log.debug('start savePreResultInfo: ' + resp)
            respDict = strToDict(resp)
            Log.debug('respDict: ', respDict)
            Log.debug('needSavePreResults: ', self.needSavePreResults)
            if respDict and self.needSavePreResults.find('{') > -1:
                needSavePreResultDict = strToDict(self.needSavePreResults)
                if needSavePreResultDict:
                    Log.debug('needSavePreResultDict: ', needSavePreResultDict)
                    for key in needSavePreResultDict:
                        self.getValueFromResp(key, needSavePreResultDict[key], respDict)
                else:
                    print 'json或dictionary is error'  + self.needSavePreResults#忽略
            else:
                needSavePreResultList = self.needSavePreResults.split(';')
                for savePreResult in needSavePreResultList:
                    [key, value] = savePreResult.split('=')
#                    if respDict:
#                        self.getValueFromResp(key, value, respDict)
#                    else:
                    self.getValueFromResp(key,  value, resp)
        except BaseException, e:
            Log.error(e)
コード例 #3
0
 def setReqParamsByArgjson(self):
     self.reqargs = strToDict(self._args)
     if self.reqargs:
         #如果json中包含%varname%的变量
         fromWhDict = strToDict(self.previousResp)
         if fromWhDict:
             for reqarg in self.reqargs:
                 value = self.reqargs[reqarg]
                 if value.find('%') > -1:
                     self.reqargs[reqarg] = \
                         self.getDynamicParamVlaue(value, fromWhDict)
     else:
         print 'setReqParamsByArgjson error', self._args
         print 'maybe the json format is wrong!'
         Log.error('setReqParamsByArgjson error', self._args)
コード例 #4
0
 def run(self, params, returnparam=None):
     Log.debug('start run: ' + self._CLASSNAME)
     result = {}
     tokenvalue = ''
     cookie = ''
     Log.debug('login params: ', params)
     if type(params) == str or type(params) == unicode:
         params = strToDict(params)
         if 'url' in params:
             if params['url'].find("http") < 0:
                 url = 'http://' + params.pop('url')
             else:
                 url = params.pop('url')
             resp = self.client.dorequest(url, params, \
                                              methodname='post')
             if not resp:
                 print 'login fail, test over!'
                 sys.exit()
             respdata = resp.read()
             if not respdata:
                 print 'login fail, respdata is null!'
                 sys.exit()
             cookie = self.getCookie(resp.info())
             if cookie:
                 result['cookie'] = cookie
             tokenvalue = self.getToken(respdata, returnparam)
             if tokenvalue:
                 result['token'] = tokenvalue
     Log.debug('end run: ' + self._CLASSNAME)
     return result
コード例 #5
0
 def genResultLink(self, respData):
     try:
         jsonResult = strToDict(respData)
         if jsonResult and 'data' in jsonResult:
             divName = 'div' + self.testCaseId
             self.link =  "<p align='left' ><br><a href=javascript:show('" + divName + "');>show json text</a></p>"  + \
                             "<br><div id='" + divName + "' style='display:none;'>"+ respData + "</div>"
         else:
             self.link = "<i>the Data of Response is %s<i>" %  respData
     except BaseException, e:
         print e
         self.link = " response data is %s " %  respData
コード例 #6
0
ファイル: LoginFixture.py プロジェクト: amyer/httpautomation
 def getToken(self, respdata, returnparam):
     tokenvalue = ''
     try:
         jsonResult = strToDict(respdata)
         if not returnparam:
             if jsonResult and 'data' in jsonResult:
                 data = jsonResult["data"]
                 tokenvalue = data["token"]
             else:
                 tokenvalue = re.findall(returnparam, respdata, re.IGNORECASE)[0]
                 tokenvalue = tokenvalue.split(":")[-1]
         else:
             if returnparam in jsonResult:
                 tokenvalue = jsonResult[returnparam]
             else:
                 #re.findall
                 tokenvalue = re.findall(returnparam, respdata, re.IGNORECASE)[0]
                 tokenvalue = tokenvalue.split(":")[-1]
     except BaseException, e:
         Log.error("get token value error", e)  
コード例 #7
0
ファイル: __init__.py プロジェクト: amyer/httpautomation
        strData = '{'
        for key in dictData.keys():
            temp = '"' + str(key) + '":' + '"' + dictData[key] + '"'
            if strData == '{':
                strData += temp
            else:
                strData += ','
                strData += temp
        return strData + '}'


#test
if __name__ == '__main__':
    client = HttpClientUtil()
    args = strToDict(
        "{'password': '******', 'name': '18015505671L', 'code': ''}"
    )
    resp = client.dorequest("http://pre.moojnn.com/mojing-server/login ", args)
    client.cookie = resp.info()['Set-Cookie']
    #    client.cookie ='JSESSIONID=2851EAEB5A2DFBBC68E5F0E9C0B8DA42; Path=/mojing-server/; HttpOnly, SERVERID=acbb2b8523be9629ba66f0a82e331010|1478163624|1478163624;Path=/'
    client.referer = "http://pre.moojnn.com/datasource.html"
    client.uploadfile("http://pre.moojnn.com/mojing-server/ds/fileupload",
                      "C:\\Users\\water\\Desktop\\test.txt")
#    args = strToDict("{'password': '******', 'name': '18015505671L', 'code': ''}")
#    client.dorequest("http://pre.moojnn.com/mojing-server/login ", args)
#     try:
#         req = urllib2.Request(url)
#         res = urllib2.urlopen(req)
#         print res.read()
#     except urllib2.HTTPError as http_error:
#         import zlib
コード例 #8
0
    
    def setCookie(self, cookie):
        self.cookie = cookie
        
    def getCookie(self, respInfo):
        cookie = ''
        try:
            if respInfo and 'Set-Cookie' in respInfo:
                cookie = respInfo['Set-Cookie']
        except BaseException, e:
            Log.error("get cookie value error", e)  
        return cookie
#test
if __name__ == '__main__':
    client = HttpClientUtil()
    args = strToDict("{'password': '******', 'name': '18015505671L', 'code': ''}")
    resp = client.dorequest("http://pre.moojnn.com/mojing-server/login ", args)
    client.cookie = resp.info()['Set-Cookie']
#    client.cookie ='JSESSIONID=2851EAEB5A2DFBBC68E5F0E9C0B8DA42; Path=/mojing-server/; HttpOnly, SERVERID=acbb2b8523be9629ba66f0a82e331010|1478163624|1478163624;Path=/'
    client.referer = "http://pre.moojnn.com/datasource.html" 
    client.uploadfile("http://pre.moojnn.com/mojing-server/ds/fileupload", "C:\\Users\\water\\Desktop\\test.txt")
#    args = strToDict("{'password': '******', 'name': '18015505671L', 'code': ''}")
#    client.dorequest("http://pre.moojnn.com/mojing-server/login ", args)
#     try:
#         req = urllib2.Request(url)
#         res = urllib2.urlopen(req)
#         print res.read()
#     except urllib2.HTTPError as http_error:
#         import zlib
#         print zlib.decompress(http_error.read(), 30)
#     print 'd'