VuGen 12.53 supports integration with Git, enabling you to store scripts in a local or a remote Git repository. If a proxy server is needed to access the remote repository, the proxy configuration needs to be set up manually outside of VuGen using a Git command line client.
VuGen does not include a Git command line client, so it must be installed manually.
Follow the instructions below to set up a proxy server for Git:
- Install any Git command line client i.e. Git-SMC (the portable version will also work)
- Open the Git client (If you installed the Git-SMC run the git-cmd.exe)
- Execute the following command (replace the <proxy_server> and <port_number> with the correct values, note the two consecutive hyphens prepending the global option)
git config –global http.proxy <proxy_server>:<port_number>
- To reset the proxy settings execute the following command (note the two consecutive hyphens prepending the global and unset options):
git config –global –unset http.proxy
As of version 12.53 VuGen supports HTTP/2 (including multiplexing) enabled web sites for recording and replay.
In order to enable recording of HTTP/2 the following recording option must be set:
- Record > Recording Options > Network > Mapping and Filtering.
- Click Options to open the Advanced Port Mapping Settings dialog box
- In the SSL Version dropdown, select TLS ALPN.
- Click Update.
ALPN is a Transport Layer Security extension for application layer protocol negotiation within the TLS handshake. It allows the application layer to negotiate which protocol should be performed over a secure connection in a manner which avoids additional round trips and which is independent of the application layer protocols.
In order to enable replaying of HTTP/2, make sure the correct TLS version is set in the script:
To verify that HTTP/2 was used for replay, enable Advanced Trace in the Log runtime settings. After replay, see the Replay log and note the references to HTTP/2.
Below is an example log from a replay of a HTTP/2 web server.
Action.c(13): The request to server https://<hostname>/” is done with headers:
Action.c(13): :authority = <hostname>
Action.c(13): :method = GET
Action.c(13): :path = /
Action.c(13): :scheme = https
Action.c(13): user-agent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gec
Action.c(13): ko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586
Action.c(13): accept-encoding = gzip, deflate
Action.c(13): accept-language = en-US
Action.c(13): accept = */*
Action.c(13): t=2026ms: 139-byte response headers for “https://<hostname>/” (RelFrameId=1, Internal ID=1)
Action.c(13): HTTP/2.0 200\r\n
Action.c(13): Status: 200\r\n
Action.c(13): Server: nginx\r\n
Action.c(13): Date: Fri, 03 Jun 2016 07:27:29 GMT\r\n
Action.c(13): Content-Type: text/html; charset=UTF-8\r\n