qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          性能測試URL自動轉碼

          English »
           
          最近做性能測試,寫了個python程序自動將URL里面的‘%2B’,‘20%’,‘3B'等轉換成正常字符,方便查看。
          import os,sys;
          path = sys.path[0]
          os.chdir(path)
          encode_list = 'encode_list.txt'
          result = path + '\\results'
          def get_encode():
          encode_file = open(path + '\\'+ encode_list)
          encode = dict()
          for line in encode_file:
          if line!='\n' and len(line) >1:
          if line.find('read me') <0:
          encode[line[1:].strip()] = line[0]
          return encode
          def get_files():
          files = os.listdir(path)
          file_list = list()
          for file in files:
          if file.endswith('.txt') and file!= encode_list:
          file_list.append(file)
          return file_list
          def relace_url_encode(strPri,dicEncode):
          items = dicEncode.items()
          for (key,value) in items:
          if strPri.find(key):
          strPri = strPri.replace(key,value)
          return strPri
          def create_result():
          if not os.path.isdir(result):
          os.makedirs(result)
          def write_result(filePri,strText):
          fp = open(result+'\\'+filePri,'w+')
          fp.write(strText)
          fp.close()
          create_result()
          encode = get_encode()
          file_list = get_files()
          for ff in file_list:
          try:
          f = open(ff)
          text = f.read()
          finally:
          f.close()
          temp = relace_url_encode(text,encode)
          temp = temp.replace('&','\n')
          write_result(ff,temp)
            下面是文件夾結構:
          encode.py的代碼貼在上面
            encode_list.txt里面裝的是轉換對照表,其中文件名是hard code在python程序里面的,最好不要改
            前面的是正常字符,后面的是需要轉換的字符
            需要轉碼的URL形如下面的形式:
          selectForm=selectForm&publishId=iphone6SapptR&color=%7B%22colorDisplayText%22%3A%22Grey%22%2C%22colorId%22%3A%22Grey%22%2C%22publishId%22%3A%22iphone6SapptM%22%2C%22modelCode%22%3A%22iphone6SmodelM%22%2C%22available%22%3Atrue%7D&rom=%7B%22capacityDisplayText%22%3A%2216GB%22%2C%22capacityId%22%3A%2216GB%22%2C%22imageFileName%22%3A%22iPhoneX-gold.png%22%2C%22publishId%22%3A%22iphone6SapptM%22%2C%22modelCode%22%3A%22iphone6SmodelM%22%2C%22available%22%3Atrue%7D&locationId=%7B%22locationId%22%3A%22Marina_Bay_Sands_Exhibition_Hall_A%22%2C%22locationDisplayText%22%3A%22Marina%20Bay%20Sands%20Exhibition%20Hall%20A%22%2C%22publishId%22%3A%22iphone6SapptM%22%2C%22available%22%3Atrue%7D&dateId=&timeId=&javax.faces.ViewState=H4sIAAAAAAAAAE1QO0sDQRAeL7n4RGIEK9PZWLhgJ1hoQIOH8YGgCBa6uVuTC3e76z5ydxaBNFrYWGhhIVpY5k%2BIhZ2gpZXYW9u6F0LiBzvMst9jZjs%2FYHMpYKqBmxhp5QdoA8v6Fub28Ofzy8zJewasMowFDHtl7ComHBhVdUFknQVezFdWIcVENGJq3hxLwazLQiQ1RafYJRKtJRSHvltylc%2BoNFnTg6ySEDip%2BFLF7Y%2Fi3Su%2Bz8CQA1npn5OYp8ZRNq2xArtx7HuL2qiPKl19gGkN7VQ
          bxFXL12%2BHD3k5H1iGmsosfQYtyJnO5gb9W6YlYCFVx73ZzKScUUIV2ncOfBLtMabmdgXjRKhkkyQSeigYZwGTg%2BR1qsP%2Fj1xBLsBSOV7%2FN7s8hypSI6Lw%2Ffj0275cstL97CYONDF%2B%2BQFvW4dVIi46t8Xxm6%2Br%2FiKcx3%2FTRn8XowEAAA%3D%3D&javax.faces.source=color%3A1&javax.faces.partial.event=change&javax.faces.partial.execute=color%20color%3A1&javax.faces.partial.render=productImage%20rom%20timeId%20dateId%20locationId&javax.faces.behavior.event=change&javax.faces.partial.ajax=true
            我把轉碼過的結果全部放在result文件夾里面,雙擊運行,所有的txt文件都會被轉碼。并且該文件夾隨便放在哪里,代碼均可以執行。
            轉碼過后:
          selectForm=selectForm
          publishId=iphone6SapptR
          color={"colorDisplayText":"Grey","colorId":"Grey","publishId":"iphone6SapptM","modelCode":"iphone6SmodelM","available":true}
          rom={"capacityDisplayText":"16GB","capacityId":"16GB","imageFileName":"iPhoneX-gold.png","publishId":"iphone6SapptM","modelCode":"iphone6SmodelM","available":true}
          locationId={"locationId":"Marina_Bay_Sands_Exhibition_Hall_A","locationDisplayText":"Marina_Bay_Sands_Exhibition_Hall_A","publishId":"iphone6SapptM","available":true}
          dateId=
          timeId=
          javax.faces.ViewState=H4sIAAAAAAAAAE1QO0sDQRAeL7n4RGIEK9PZWLhgJ1hoQIOH8YGgCBa6uVuTC3e76z5ydxaBNFrYWGhhIVpY5k+IhZ2gpZXYW9u6F0LiBzvMst9jZjs/YHMpYKqBmxhp5QdoA8v6Fub28Ofzy8zJewasMowFDHtl7ComHBhVdUFknQVezFdWIcVENGJq3hxLwazLQiQ1RafYJRKtJRSHvltylc+oNFnTg6ySEDip+FLF7Y/i3Su+z8CQA1npn5OYp8ZRNq2xArtx7HuL2qiPKl19gGkN7VQ
          bxFXL12+HD3k5H1iGmsosfQYtyJnO5gb9W6YlYCFVx73ZzKScUUIV2ncOfBLtMabmdgXjRKhkkyQSeigYZwGTg+R1qsP/j1xBLsBSOV7/N7s8hypSI6Lw/fj0275cstL97CYONDF++QFvW4dVIi46t8Xxm6+r/iKcx3/TRn8XowEAAA==
          javax.faces.source=color:1
          javax.faces.partial.event=change
          javax.faces.partial.execute=color_color:1
          javax.faces.partial.render=productImage_rom_timeId_dateId_locationId
          javax.faces.behavior.event=change
          javax.faces.partial.ajax=true
            轉換后就可以更方便的查找對比,方便測試進行。
            應該還有需要改進的地方,如果測試需要,再做改進。

          posted on 2014-09-18 09:23 順其自然EVO 閱讀(522) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄性能測試web 前端性能測試

          <2014年9月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 逊克县| 鄂托克前旗| 灵璧县| 随州市| 青岛市| 金沙县| 峨山| 蒲江县| 革吉县| 阳原县| 邢台市| 临泉县| 婺源县| 淮安市| 宝丰县| 大连市| 康保县| 泾川县| 大埔县| 汝南县| 来安县| 乌拉特中旗| 宝应县| 台中县| 淮滨县| 桃园县| 天门市| 星座| 永泰县| 大荔县| 固阳县| 鹰潭市| 呼图壁县| 万安县| 祁阳县| 萨迦县| 萨嘎县| 台中市| 延长县| 吉隆县| 得荣县|