Web Page Replay (Wpr) is a performance testing tool written in Golang for recording and replaying web pages. Web page replay : https://github.com/catapult-project/catapult/tree/master/web_page_replay_go WPR creates a DNS host map to reroute all browser traffic through it and record/replay the web packages We can build WPR using go on all platforms. using `go build` Recording: ``` go run src/wpr.go record --host=127.0.0.1 --http_port=8080 --https_port=8081 /tmp/archive.wprgo ``` Replaying: ``` go run src/wpr.go replay --host=127.0.0.1 --http_port=8080 --https_port=8081 /tmp/archive.wprgo ``` Browser setup: Chrome: ``` google-chrome-beta --user-data-dir=$foo --host-resolver-rules="MAP *:80 127.0.0.1:8080,MAP *:443 127.0.0.1:8081,EXCLUDE localhost" --ignore-certificate-errors-spki-list=PhrPvGIaAMmd29hj8BCZOq096yj7uMpRNHpn5PDxI6I= ``` Firefox: Start firefox Set preference: `"network.dns.forceResolve": "127.0.0.1"` Note: When you run WPR for firefox you must set `--http_port=80 --https_port=443` Also on linux WPR need `sudo` access to be able to bind to ports 80 and 443
Bug 1522133 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Web Page Replay (Wpr) is a performance testing tool written in Golang for recording and replaying web pages. Web page replay : https://github.com/catapult-project/catapult/tree/master/web_page_replay_go WPR creates a DNS host map to reroute all browser traffic through it and record/replay the web packages We can build WPR using go on all platforms. using `go build` Recording: ``` go run src/wpr.go record --host=127.0.0.1 --http_port=8080 --https_port=8081 /tmp/archive.wprgo ``` Replaying: ``` go run src/wpr.go replay --host=127.0.0.1 --http_port=8080 --https_port=8081 /tmp/archive.wprgo ``` Browser setup: Chrome: ``` google-chrome-beta --user-data-dir=$foo --host-resolver-rules="MAP *:80 127.0.0.1:8080,MAP *:443 127.0.0.1:8081,EXCLUDE localhost" --ignore-certificate-errors-spki-list=PhrPvGIaAMmd29hj8BCZOq096yj7uMpRNHpn5PDxI6I= ``` Firefox: 1. Start firefox 2. Set preference: `"network.dns.forceResolve": "127.0.0.1"` Note: When you run WPR for firefox you must set `--http_port=80 --https_port=443` Also on linux WPR need `sudo` access to be able to bind to ports 80 and 443