Postman + newman + jenkins 的API自動化測試應用
阿新 • • 發佈:2018-03-17
exit mar back written put cts tca ins call
一、環境配置
Postman
postman 的具體使用可以參考另外一篇文章:postman 做接口測試之學習筆記
Newman
第一步,安裝nodejs。
第二步,在nodejs命令行安裝newman,即命令行輸入如下命令:
npm install -g newman
jenkins
去官網(https://jenkins.io/index.html)下載jenkins
二、Postman + Newman + jenkins 的使用
1. 在postman中導出testcase 文件夾(即存各個接口的collection文件夾)和設置的環境變量文件。
如下所示,導出來的是個json 格式的文件
2. jenkins配置
註意:如果是安裝在本地的Jenkins,要將jenkins開啟,切換到jenkins.war 的路徑下, 執行 java -jar jenkins.war 則可以開啟了。
在jenkins上配置如下圖,這個路徑就是上面通過postman導出文件的路徑。
剩下的就是jenkins的常規操作了,比如設置好郵箱後點擊立即構建或者設置多久構建一次,這樣自動化就跑起來了,等待自動化測試結束後我們就可以收到測試成功或者失敗的測試報告郵件了(依賴於設置)。
通過上面這些步驟即可完成基於postman和Jenkins的自動化接口測試。
Newman的使用:
可以參考:
Newman - Running collections in the command line
newman 官方文檔
newman github
Usage: newman [options] Options: -h, --help output usage information -V, --version output the version number -c, --collection [file] Specify a Postman collection asa JSON [file] -u, --url [url] Specify a Postman collection as a [url] -f, --folder [folder-name] Run a single folder from a collection. To be used with -c or -u -e, --environment [file] Specify a Postman environment as a JSON [file] --environment-url [url] Specify a Postman environment as a URL -E, --exportEnvironment [file] Specify an output file to dump the Postman environment before exiting [file] -d, --data [file] Specify a data file to use either json or csv -g, --global [file] Specify a Postman globals file [file] -G, --exportGlobals [file] Specify an output file to dump Globals before exiting [file] -y, --delay [number] Specify a delay (in ms) between requests -r, --requestTimeout [number] Specify a request timeout (in ms) for requests (Defaults to 15000 if not set) -R, --avoidRedirects Prevents Newman from automatically following redirects -s, --stopOnError Stops the runner with code=1 when a test case fails -j, --noSummary Doesn‘t show the summary for each iteration -n, --number [number] Define the number of iterations to run -C, --noColor Disable colored output -S, --noTestSymbols Disable symbols in test output and use PASS|FAIL instead -k, --insecure Disable strict ssl -l, --tls Use TLSv1 -N, --encoding [encoding-type] Specify an encoding for the response. Supported values are ascii,utf8,utf16le,ucs2,base64,binary,hex -x, --exitCode Continue running tests even after a failure, but exit with code=1. Incompatible with --stopOnError -o, --outputFile [file] Path to file where output should be written [file] -O, --outputFileVerbose [file] Path to file where full request and responses should be logged [file] -t, --testReportFile [file] Path to file where results should be written as JUnit XML [file] -i, --import [file] Import a Postman backup file, and save collections, environments, and globals [file] (Incompatible with any option except pretty) -p, --pretty Enable pretty-print while saving imported collections, environments, and globals -H, --html [file] Export a HTML report to a specified file [file] -W, --whiteScreen Black text for white screen -L, --recurseLimit [limit] Do not run recursive resolution more than [limit] times. Default = 10. Using 0 will prevent any variable resolution Newman is a command-line collection runner for Postman. You must specify a collection file or a collection URL to run newman A collection file or URL is mandatory Examples: newman -c POSTMAN_COLLECTION newman -u POSTMAN_COLLECTION -e POSTMAN_ENVIRONMENT newman -c POSTMAN_COLLECTION -f SAMPLE_FOLDER For more documentation, issues and examples head over to https://github.com/postmanlabs/newman
Postman + newman + jenkins 的API自動化測試應用