在使用python搭建介面測試框架時,不能不面對的乙個場景就是介面的串聯,分享兩個常見的串聯方式:jsonpath和re
使用pip install jsonpath 完成jsonpath庫的安裝,博主已經安裝好了,所以沒有貼安裝完成的圖
jsonpath提供了類似正規表示式的語法,基本上可以滿足所有對於json格式內容的正則取值
操作符號含義$
識別符號,通過這個符號確定正則模板
.[name]
表示json資料的第一層,name為第一層需要正則的欄位名
…[name]
表示json資料的第二層,name為第二層需要正則的欄位名
.[name1]…[name2]
表示name1下的name2 的值
例如: $.access_token
$.data…access_token
json內容]}
**
import jsonpath
str1 =]}
value = jsonpath.jsonpath(str1,
"$.xhr..id")[
0]# 得到的結果是陣列,所以需要用索引取值
re模組是python自有的庫,不需要安裝,直接import匯入即可
常用方法
注釋備註
re.findall()
在字串中匹配,如果成功返回match物件,如果失敗返回none
返回的物件是列表
re.search()
在整個字串中查詢,返回第乙個匹配內容,如果找到返回match物件,沒找到返回none
返回的是字串
re.split()
在整個字串中查詢,以匹配模板為切割線進行切割
返回的是列表
拿re.findall() 舉例,實際操作中也是該方法使用的最方便
import re
str1 =
''value = re.findall(
'"pid": "(.+?)"'
, str1)[0
]print
( value)
結果
280
process finished with exit code 0
如上例子所示,str1 必須為字串型別,博主親測str()裝換資料型別也不行,最好是單雙引號括起來
然後將正則出來的結果賦值給變數,然後在下乙個介面中引用該變數,即可完成介面的串聯
python執行JS的幾種方式
安裝nodejs 安裝pyexecjs pip install pyexecjs 檢測執行環境 import execjs execjs.get name output node.js v8 簡單js,直接呼叫 import execjs e execjs.eval js 複雜js,compile後...
非同步的 js 介面
function.prototype.bindas function operator var createfuse function fn.fire function return fn 導火線模型的應用部分,從這裡看起 var swfready createfuse 建立一根導火線 在實際的複雜...
python 呼叫js的四種方式
日常 web 端爬蟲過程中,經常會遇到引數被加密的場景,因此,我們需要分析網頁源 通過調式,一層層剝離出關鍵的 js 使用 python 去執行這段 得出引數加密前後的 python 實現 本文將聊聊利用 python 呼叫 js 的4種方式 以一段簡單的 js 指令碼為例,將 寫入到檔案中 計算w...