One-stop solution for HTTP(S) testing.


Keywords
HTTP, apitest, perftest, requests, adb, api-testing, benchmarking, boomer, curl, httprunner, httptest, jmeter, load-testing, locust, performance-testing, pytest, testing, ui-testing, wda
License
Apache-2.0
Install
pip install httprunner==4.1.5

Documentation

HttpRunner

Github Actions codecov Go Reference downloads pypi version pyversions TesterHome

HttpRunner ๆ˜ฏไธ€ไธชๅผ€ๆบ็š„ API ๆต‹่ฏ•ๅทฅๅ…ท๏ผŒๆ”ฏๆŒ HTTP(S)/HTTP2/WebSocket/RPC ็ญ‰็ฝ‘็ปœๅ่ฎฎ๏ผŒๆถต็›–ๆŽฅๅฃๆต‹่ฏ•ใ€ๆ€ง่ƒฝๆต‹่ฏ•ใ€ๆ•ฐๅญ—ไฝ“้ชŒ็›‘ๆต‹็ญ‰ๆต‹่ฏ•็ฑปๅž‹ใ€‚็ฎ€ๅ•ๆ˜“็”จ๏ผŒๅŠŸ่ƒฝๅผบๅคง๏ผŒๅ…ทๆœ‰ไธฐๅฏŒ็š„ๆ’ไปถๅŒ–ๆœบๅˆถๅ’Œ้ซ˜ๅบฆ็š„ๅฏๆ‰ฉๅฑ•่ƒฝๅŠ›ใ€‚

HttpRunner ็”จๆˆท่ฐƒ็ ”้—ฎๅท ๆŒ็ปญๆ”ถ้›†ไธญ๏ผŒๆˆ‘ไปฌๅฐ†ๅŸบไบŽ็”จๆˆทๅ้ฆˆๅŠจๆ€่ฐƒๆ•ดไบงๅ“็‰นๆ€งๅ’Œ้œ€ๆฑ‚ไผ˜ๅ…ˆ็บงใ€‚

flow chart

็‰ˆๆœฌๅ‘ๅธƒๆ—ฅๅฟ— | English

่ฎพ่ฎก็†ๅฟต

็›ธๆฏ”ไบŽๅ…ถๅฎƒ API ๆต‹่ฏ•ๅทฅๅ…ท๏ผŒHttpRunner ๆœ€ๅคง็š„ไธๅŒๅœจไบŽ่ฎพ่ฎก็†ๅฟตใ€‚

  • ็บฆๅฎšๅคงไบŽ้…็ฝฎ๏ผšๆต‹่ฏ•็”จไพ‹ๆ˜ฏๆ ‡ๅ‡†็ป“ๆž„ๅŒ–็š„๏ผŒๆ ผๅผ็ปŸไธ€๏ผŒๆ–นไพฟๅไฝœๅ’Œ็ปดๆŠค
  • ๆ ‡ๅ‡†ๅผ€ๆ”พ๏ผšๅŸบไบŽๅผ€ๆ”พ็š„ๆ ‡ๅ‡†๏ผŒๆ”ฏๆŒไธŽ HAR/Postman/Swagger/Curl/JMeter ็ญ‰ๅทฅๅ…ทๅฏนๆŽฅ๏ผŒ่ฝปๆพๅฎž็Žฐ็”จไพ‹็”Ÿๆˆๅ’Œ่ฝฌๆข
  • ไธ€ๆฌกๆŠ•ๅ…ฅๅคš็ปดๅค็”จ๏ผšไธ€ๅฅ—่„šๆœฌๅฏๅŒๆ—ถๆ”ฏๆŒๆŽฅๅฃ่‡ชๅŠจๅŒ–ๆต‹่ฏ•ใ€ๆ€ง่ƒฝๆต‹่ฏ•ใ€ๆ•ฐๅญ—ไฝ“้ชŒ็›‘ๆต‹็ญ‰ๅคš็ง API ๆต‹่ฏ•้œ€ๆฑ‚
  • ่žๅ…ฅๆœ€ไฝณๅทฅ็จ‹ๅฎž่ทต๏ผšไธไป…ไป…ๆ˜ฏไธ€ๆฌพๆต‹่ฏ•ๅทฅๅ…ท๏ผŒๅœจๅŠŸ่ƒฝไธญ่žๅ…ฅๆœ€ไฝณๅทฅ็จ‹ๅฎž่ทต๏ผŒๅฎž็Žฐ้ขๅ‘็ฝ‘็ปœๅ่ฎฎ็š„ไธ€็ซ™ๅผๆต‹่ฏ•่งฃๅ†ณๆ–นๆกˆ

ๆ ธๅฟƒ็‰นๆ€ง

  • ็ฝ‘็ปœๅ่ฎฎ๏ผšๅฎŒๆ•ดๆ”ฏๆŒ HTTP(S)/HTTP2/WebSocket๏ผŒๅฏๆ‰ฉๅฑ•ๆ”ฏๆŒ TCP/UDP/RPC ็ญ‰ๆ›ดๅคšๅ่ฎฎ
  • ๅคšๆ ผๅผๅฏ้€‰๏ผšๆต‹่ฏ•็”จไพ‹ๆ”ฏๆŒ YAML/JSON/go test/pytest ๆ ผๅผ๏ผŒๅนถไธ”ๆ”ฏๆŒๆ ผๅผไบ’็›ธ่ฝฌๆข
  • ๅŒๆ‰ง่กŒๅผ•ๆ“Ž๏ผšๅŒๆ—ถๆ”ฏๆŒ golang/python ไธคไธชๆ‰ง่กŒๅผ•ๆ“Ž๏ผŒๅ…ผๅ…ท go ็š„้ซ˜ๆ€ง่ƒฝๅ’Œ pytest ็š„ไธฐๅฏŒ็”Ÿๆ€
  • ๅฝ•ๅˆถ & ็”Ÿๆˆ๏ผšๅฏไฝฟ็”จ HAR/Postman/Swagger/curl ็ญ‰็”Ÿๆˆๆต‹่ฏ•็”จไพ‹๏ผ›ๅŸบไบŽ้“พๅผ่ฐƒ็”จ็š„ๆ–นๆณ•ๆ็คบไนŸๅฏๅฟซ้€Ÿ็ผ–ๅ†™ๆต‹่ฏ•็”จไพ‹
  • ๅคๆ‚ๅœบๆ™ฏ๏ผšๅŸบไบŽ variables/extract/validate/hooks ๆœบๅˆถๅฏไปฅๆ–นไพฟๅœฐๅˆ›ๅปบไปปๆ„ๅคๆ‚็š„ๆต‹่ฏ•ๅœบๆ™ฏ
  • ๆ’ไปถๅŒ–ๆœบๅˆถ๏ผšๅ†…็ฝฎไธฐๅฏŒ็š„ๅ‡ฝๆ•ฐๅบ“๏ผŒๅŒๆ—ถๅฏไปฅๅŸบไบŽไธปๆต็ผ–็จ‹่ฏญ่จ€๏ผˆgo/python/java๏ผ‰็ผ–ๅ†™่‡ชๅฎšไน‰ๅ‡ฝๆ•ฐ่ฝปๆพๅฎž็Žฐๆ›ดๅคš่ƒฝๅŠ›
  • ๆ€ง่ƒฝๆต‹่ฏ•๏ผšๆ— ้œ€้ขๅค–ๅทฅไฝœๅณๅฏๅฎž็ŽฐๅŽ‹ๅŠ›ๆต‹่ฏ•๏ผ›ๅ•ๆœบๅฏ่ฝปๆพๆ”ฏๆ’‘ 1w+ VUM๏ผŒ็ป“ๅˆๅˆ†ๅธƒๅผ่ดŸ่ฝฝ่ƒฝๅŠ›ๅฏๅฎž็Žฐๆตท้‡ๅ‘ๅŽ‹
  • ็ฝ‘็ปœๆ€ง่ƒฝ้‡‡้›†๏ผšๅœจๅœบๆ™ฏๅŒ–ๆŽฅๅฃๆต‹่ฏ•็š„ๅŸบ็ก€ไธŠ๏ผŒๅฏ้ขๅค–้‡‡้›†็ฝ‘็ปœ้“พ่ทฏๆ€ง่ƒฝๆŒ‡ๆ ‡๏ผˆDNS ่งฃๆžใ€TCP ่ฟžๆŽฅใ€SSL ๆกๆ‰‹ใ€็ฝ‘็ปœไผ ่พ“็ญ‰๏ผ‰
  • ไธ€้”ฎ้ƒจ็ฝฒ๏ผš้‡‡็”จไบŒ่ฟ›ๅˆถๅ‘ฝไปค่กŒๅทฅๅ…ทๅˆ†ๅ‘๏ผŒๆ— ้œ€็Žฏๅขƒไพ่ต–๏ผŒไธ€ๆกๅ‘ฝไปคๅณๅฏๅœจ macOS/Linux/Windows ๅฟซ้€ŸๅฎŒๆˆๅฎ‰่ฃ…้ƒจ็ฝฒ

็”จๆˆทๅฃฐ้Ÿณ

ๅŸบไบŽ 252 ไปฝ่ฐƒ็ ”้—ฎๅท็š„็ปŸ่ฎก็ป“ๆžœ๏ผŒHttpRunner ็”จๆˆท็š„ๆ•ดไฝ“ๆปกๆ„ๅบฆ่ฏ„ๅˆ† 4.3/5๏ผŒๆœ€ๅ–œๆฌข็š„็‰นๆ€งๅŒ…ๆ‹ฌ๏ผš

  • ็ฎ€ๅ•ๆ˜“็”จ๏ผšๆต‹่ฏ•็”จไพ‹ๆ”ฏๆŒ YAML/JSON ๆ ‡ๅ‡†ๅŒ–ๆ ผๅผ๏ผŒๅฏ้€š่ฟ‡ๅฝ•ๅˆถ็š„ๆ–นๅผๅฟซ้€Ÿ็”Ÿๆˆ็”จไพ‹๏ผŒไธŠๆ‰‹็ฎ€ๅ•๏ผŒไฝฟ็”จๆ–นไพฟ
  • ๅŠŸ่ƒฝๅผบๅคง๏ผšๆ”ฏๆŒ็ตๆดป็š„่‡ชๅฎšไน‰ๅ‡ฝๆ•ฐๅ’Œ hook ๆœบๅˆถ๏ผŒๅ‚ๆ•ฐๅ˜้‡ใ€ๆ•ฐๆฎ้ฉฑๅŠจใ€็ป“ๆžœๆ–ญ่จ€็ญ‰ๆœบๅˆถไธ€ๅบ”ไฟฑๅ…จ๏ผŒ่ฝปๆพ้€‚ๅบ”ๅ„็งๅคๆ‚ๅœบๆ™ฏ
  • ่ฎพ่ฎก็†ๅฟต๏ผšๆต‹่ฏ•็”จไพ‹็ป„็ป‡ๆ”ฏๆŒๅˆ†ๅฑ‚่ฎพ่ฎก๏ผŒๆ ผๅผ็ปŸไธ€๏ผŒๆ˜“ไบŽๅฎž็Žฐๆต‹่ฏ•็”จไพ‹็š„็ปดๆŠคๅ’Œๅค็”จ

ๆ›ดๅคšๅ†…ๅฎน่ฏฆ่ง HttpRunner ้ฆ–่ฝฎ็”จๆˆท่ฐƒ็ ”ๆŠฅๅ‘Š๏ผˆ2022.02๏ผ‰

ไธ€้”ฎ้ƒจ็ฝฒ

HttpRunner ไบŒ่ฟ›ๅˆถๅ‘ฝไปค่กŒๅทฅๅ…ทๅทฒไธŠไผ ่‡ณ้˜ฟ้‡Œไบ‘ OSS๏ผŒๅœจ็ณป็ปŸ็ปˆ็ซฏไธญๆ‰ง่กŒๅฆ‚ไธ‹ๅ‘ฝไปคๅฏๅฎŒๆˆๅฎ‰่ฃ…้ƒจ็ฝฒใ€‚

$ bash -c "$(curl -ksSL https://httprunner.com/script/install.sh)"

ๅฎ‰่ฃ…ๆˆๅŠŸๅŽ๏ผŒไฝ ๅฐ†่Žทๅพ—ไธ€ไธช hrp ๅ‘ฝไปค่กŒๅทฅๅ…ท๏ผŒๆ‰ง่กŒ hrp -h ๅณๅฏๆŸฅ็œ‹ๅˆฐๅ‚ๆ•ฐๅธฎๅŠฉ่ฏดๆ˜Žใ€‚

$ hrp -h

โ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘      โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•
โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘      โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•”โ•โ•โ•โ• โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•  โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘      โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘
โ•šโ•โ•  โ•šโ•โ•   โ•šโ•โ•      โ•šโ•โ•   โ•šโ•โ•     โ•šโ•โ•  โ•šโ•โ• โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•  โ•šโ•โ•โ•โ•โ•šโ•โ•  โ•šโ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•  โ•šโ•โ•

HttpRunner is an open source API testing tool that supports HTTP(S)/HTTP2/WebSocket/RPC
network protocols, covering API testing, performance testing and digital experience
monitoring (DEM) test types. Enjoy! โœจ ๐Ÿš€ โœจ

License: Apache-2.0
Website: https://httprunner.com
Github: https://github.com/httprunner/httprunner
Copyright 2017 debugtalk

Usage:
  hrp [command]

Available Commands:
  adb          simple utils for android device management
  boom         run load test with boomer
  build        build plugin for testing
  completion   Generate the autocompletion script for the specified shell
  convert      convert multiple source format to HttpRunner JSON/YAML/gotest/pytest cases
  help         Help about any command
  ios          simple utils for ios device management
  pytest       run API test with pytest
  run          run API test with go engine
  startproject create a scaffold project
  wiki         visit https://httprunner.com

Flags:
  -h, --help               help for hrp
      --log-json           set log to json format
  -l, --log-level string   set log level (default "INFO")
      --venv string        specify python3 venv path
  -v, --version            version for hrp

Use "hrp [command] --help" for more information about a command.

็”จๆˆทๆกˆไพ‹

่ตžๅŠฉๅ•†

้œๆ ผๆฒƒๅ…นๆต‹่ฏ•ๅผ€ๅ‘ๅญฆ็คพ

้œๆ ผๆฒƒๅ…นๆต‹่ฏ•ๅผ€ๅ‘ๅญฆ็คพๆ˜ฏไธญๅ›ฝ่ฝฏไปถๆต‹่ฏ•ๅผ€ๅ‘้ซ˜็ซฏๆ•™่‚ฒๅ“็‰Œ๏ผŒไบงๅ“็”ฑๅ›ฝๅ†…้กถๅฐ–่ฝฏไปถๆต‹่ฏ•ๅผ€ๅ‘ๆŠ€ๆœฏไธ“ๅฎถๆบๆ‰‹ๆ‰“้€ ๏ผŒไธบไผไธšไธŽไธชไบบๆไพ›ไธ“ไธš็š„ๆŠ€่ƒฝๅŸน่ฎญไธŽๅ’จ่ฏขใ€ๆต‹่ฏ•ๅทฅๅ…ทไธŽๆต‹่ฏ•ๅนณๅฐใ€ๆต‹่ฏ•ๅค–ๅŒ…ไธŽๆต‹่ฏ•ไผ—ๅŒ…ๆœๅŠกใ€‚้ข†ๅŸŸๆถต็›– App/Web ่‡ชๅŠจๅŒ–ๆต‹่ฏ•ใ€ๆŽฅๅฃ่‡ชๅŠจๅŒ–ๆต‹่ฏ•ใ€ๆ€ง่ƒฝๆต‹่ฏ•ใ€ๅฎ‰ๅ…จๆต‹่ฏ•ใ€ๆŒ็ปญไบคไป˜/DevOpsใ€ๆต‹่ฏ•ๅทฆ็งปใ€ๆต‹่ฏ•ๅณ็งปใ€็ฒพๅ‡†ๆต‹่ฏ•ใ€ๆต‹่ฏ•ๅนณๅฐๅผ€ๅ‘ใ€ๆต‹่ฏ•็ฎก็†็ญ‰ๆ–นๅ‘ใ€‚-> ่”็ณปๆˆ‘ไปฌ

Subscribe

ๅ…ณๆณจ HttpRunner ็š„ๅพฎไฟกๅ…ฌไผ—ๅท๏ผŒ็ฌฌไธ€ๆ—ถ้—ด่Žทๅพ—ๆœ€ๆ–ฐ่ต„่ฎฏใ€‚

HttpRunner