White Papers
Abstract
DevOps Test Performance (DTP) users are sometimes presented with a requirement to record tests that use multiple, different browsers. In most cases, this requirement is unnecessary.
Content
DevOps Test Performance Notes
Recording – Choosing a browser
The short answer to the question "Which browser do we use for recording?" is “It does not matter.”
The DevOps Test Performance (formerly Rational Performance Tester) tool is designed to capture protocol between a browser and a server application to produce a human-readable script, and then use that script to emulate 1-n users interacting with the same server application. In its emulation, DTP does not use a browser.
Scripts
Here are three scripts recorded against the www.thebcdl.org site with Firefox, Internet Explorer, Chrome, and Edge* browsers. The user steps recorded were identical.
|
|
|
|
|
|
*Note: Recording of the Edge browser is not officially supported but it is easily achievable by starting an Internet Explorer recording and switching to the Edge browser to navigate the application under test.
At a script level, they are practically identical. The differences are in the order of some requests – which is not specific to a browser – and timestamps – the long strings of digits beginning with “15898…”. Recording again, with any browser, would produce a similar script with differences in request order and current timestamp.
Requests
Here is the primary request from the first page of the Firefox recording:
GET / HTTP/1.1 Host: www.thebcdl.org User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Connection: keep-alive Upgrade-Insecure-Requests: 1
Here is the primary request from the first page of the Internet Explorer recording:
GET / HTTP/1.1 Accept: text/html, application/xhtml+xml, image/jxr, */* Accept-Language: en-US User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko Accept-Encoding: gzip, deflate Host: www.thebcdl.org Connection: Keep-Alive
Here is the primary request from the first page of the Chrome recording:
GET / HTTP/1.1 Host: www.thebcdl.org Connection: keep-alive Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate Accept-Language: en-US,en;q=0.9
Here is the primary request from the first page of the Chrome recording:
GET / HTTP/1.1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134 Accept-Language: en-US Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Upgrade-Insecure-Requests: 1 Accept-Encoding: gzip, deflate Host: www.thebcdl.org Connection: Keep-Alive
The differences are in the order of headers, which is irrelevant as the application server accepts any, and the User-Agent and Accept headers.
The User-Agent header informs server of client application identity, OS, vendor, and version of the requesting process. This information is generally not processed by servers.
The Accept header tells the requesting process what types of data are acceptable in a response. DevOps Test Performance maintains the recorded Accept header but accepts all response type data.
The Upgrade-Insecure-Requests header sends a signal to the server expressing client’s preference for an encrypted and authenticated response (HTTPS). This header is not supported by Internet Explorer. This header is not widely used on the server side. Applications that require it do not work with Internet Explorer.
Conclusion
At the protocol level, the meaningful pieces of a request are browser independent. Practically speaking that means that a requirement to record tests with more than one browser is generally unnecessary.
The exception comes IF AND ONLY IF the server application flow takes radically different paths based on the browser being used. Such instances are rare.
Was this topic helpful?
Document Information
Modified date:
30 June 2024
UID
ibm16211910



