<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<meta content="text/html; charset=UTF-8" http-equiv="content-type" />
	<title>Response Header Size Script</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">Response Header Size Script</td></tr>
</thead>
<tbody>
<tr><td>store</td><td>Home Page <datalist><option>Home Page </option></datalist></td><td>stepName1</td>
</tr>
<tr><td>open</td><td>https://www.bluetriangle.com/<datalist><option>https://www.bluetriangle.com/</option></datalist></td><td></td>
</tr>
<tr><td>waitForElementPresent</td><td>css=body<datalist><option>css=body</option></datalist></td><td></td>
</tr>
<tr><td>pause</td><td>3000<datalist><option>3000</option></datalist></td><td></td>
</tr>
<tr><td>runScript</td><td>function checkHeaderSize(thresholdBytes) {   var request = new XMLHttpRequest();   request.open('GET', document.location, false);   request.send(null);   var headers = request.getAllResponseHeaders().toLowerCase();   var headersBytes = (new TextEncoder().encode(headers)).length;   var customId = "";   var customMessage = "";   var threshold = thresholdBytes;   if (headersBytes &lt; threshold) {     customColor = "green";     customId = "response-header-size-check-passed";     customMessage = "Pass. Observed response header size " + headersBytes + " is less than threshold of " + threshold + ".";   } else if (headersBytes &gt; threshold) {     customColor = "red";     customId = "response-header-size-check-failed";     customMessage = "Fail. Observed response header size " + headersBytes + " is greater than threshold of " + threshold + ".";   } else {     customColor = "blue ";      customId = "response-header-size-check-error";     customMessage = "Error retrieving response header data";   }   var messageNode = document.createElement("div");   messageNode.innerHTML = "&lt;h2 style='color:" + customColor + ";' id='" + customId + "'&gt;" + customMessage + "&lt;/h2&gt;";   document.querySelector('header').firstElementChild.prepend(messageNode);   console.log(customMessage); }; checkHeaderSize(8000);<datalist><option>function checkHeaderSize(thresholdBytes) {   var request = new XMLHttpRequest();   request.open('GET', document.location, false);   request.send(null);   var headers = request.getAllResponseHeaders().toLowerCase();   var headersBytes = (new TextEncoder().encode(headers)).length;   var customId = "";   var customMessage = "";   var threshold = thresholdBytes;   if (headersBytes &lt; threshold) {     customColor = "green";     customId = "response-header-size-check-passed";     customMessage = "Pass. Observed response header size " + headersBytes + " is less than threshold of " + threshold + ".";   } else if (headersBytes &gt; threshold) {     customColor = "red";     customId = "response-header-size-check-failed";     customMessage = "Fail. Observed response header size " + headersBytes + " is greater than threshold of " + threshold + ".";   } else {     customColor = "blue ";      customId = "response-header-size-check-error";     customMessage = "Error retrieving response header data";   }   var messageNode = document.createElement("div");   messageNode.innerHTML = "<h2 style="'" +="" customcolor="" ";&#39;="&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;" id="'" customid="" "&#39;="&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;">" + customMessage + "</h2>";   document.querySelector('header').firstElementChild.prepend(messageNode);   console.log(customMessage); }; checkHeaderSize(500);</option><option>function checkHeaderSize(thresholdBytes) {   var request = new XMLHttpRequest();   request.open('GET', document.location, false);   request.send(null);   var headers = request.getAllResponseHeaders().toLowerCase();   var headersBytes = (new TextEncoder().encode(headers)).length;   var customId = "";   var customMessage = "";   var threshold = thresholdBytes;   if (headersBytes &lt; threshold) {     customColor = "green";     customId = "response-header-size-check-passed";     customMessage = "Pass. Observed response header size " + headersBytes + " is less than threshold of " + threshold + ".";   } else if (headersBytes &gt; threshold) {     customColor = "red";     customId = "response-header-size-check-failed";     customMessage = "Fail. Observed response header size " + headersBytes + " is greater than threshold of " + threshold + ".";   } else {     customColor = "blue ";      customId = "response-header-size-check-error";     customMessage = "Error retrieving response header data";   }   var messageNode = document.createElement("div");   messageNode.innerHTML = "<h2 style="'" +="" customcolor="" ";&#39;="&quot;&quot;&quot;&quot;" id="'" customid="" "&#39;="&quot;&quot;&quot;&quot;">" + customMessage + "</h2>";   document.querySelector('header').firstElementChild.prepend(messageNode);   console.log(customMessage); }; checkHeaderSize(8000);</option><option>function checkHeaderSize(thresholdBytes) {   var request = new XMLHttpRequest();   request.open('GET', document.location, false);   request.send(null);   var headers = request.getAllResponseHeaders().toLowerCase();   var headersBytes = (new TextEncoder().encode(headers)).length;   var customId = "";   var customMessage = "";   var threshold = thresholdBytes;   if (headersBytes &lt; threshold) {     customColor = "green";     customId = "response-header-size-check-passed";     customMessage = "Pass. Observed response header size " + headersBytes + " is less than threshold of " + threshold + ".";   } else if (headersBytes &gt; threshold) {     customColor = "red";     customId = "response-header-size-check-failed";     customMessage = "Fail. Observed response header size " + headersBytes + " is greater than threshold of " + threshold + ".";   } else {     customColor = "blue ";      customId = "response-header-size-check-error";     customMessage = "Error retrieving response header data";   }   var messageNode = document.createElement("div");   messageNode.innerHTML = "<h2 style="'" +="" customcolor="" ";'="" id="'" customid="" "'="">" + customMessage + "</h2>";   document.querySelector('header').firstElementChild.prepend(messageNode);   console.log(customMessage); }; checkHeaderSize(8000);</option></datalist></td><td></td>
</tr>
<tr><td>assertElementPresent</td><td>id=response-header-size-check-passed<datalist><option>id=response-header-size-check-passed</option></datalist></td><td></td>
</tr>
<tr><td>store</td><td>Real User Monitoring<datalist><option>Real User Monitoring</option></datalist></td><td>stepName2</td>
</tr>
<tr><td>open</td><td>https://www.bluetriangle.com/products/real-user-monitoring/<datalist><option>link=Real User Monitoring</option><option>//a[contains(text(),'Real User Monitoring')]</option><option>//li[@id='mega-menu-item-38132']/a</option><option>//a[contains(@href, 'https://www.bluetriangle.com/products/real-user-monitoring/')]</option><option>//li/ul/li[2]/a</option><option>css=#mega-menu-item-38132 &gt; a.mega-menu-link</option><option>https://www.bluetriangle.com/products/real-user-monitoring/</option></datalist></td><td></td>
</tr>
<tr><td>waitForElementPresent</td><td>css=body<datalist><option>css=body</option></datalist></td><td></td>
</tr>
<tr><td>pause</td><td>3000<datalist><option>3000</option></datalist></td><td></td>
</tr>
<tr><td>runScript</td><td>function checkHeaderSize(thresholdBytes) { var request = new XMLHttpRequest(); request.open('GET', document.location, false); request.send(null); var headers = request.getAllResponseHeaders().toLowerCase(); var headersBytes = (new TextEncoder().encode(headers)).length; var customId = ""; var customMessage = ""; var threshold = thresholdBytes; if (headersBytes &lt; threshold) { customColor = "green"; customId = "response-header-size-check-passed"; customMessage = "Pass. Observed response header size " + headersBytes + " is less than threshold of " + threshold + "."; } else if (headersBytes &gt; threshold) { customColor = "red"; customId = "response-header-size-check-failed"; customMessage = "Fail. Observed response header size " + headersBytes + " is greater than threshold of " + threshold + "."; } else { customColor = "blue "; customId = "response-header-size-check-error"; customMessage = "Error retrieving response header data"; } var messageNode = document.createElement("div"); messageNode.innerHTML = "" + customMessage + ""; document.querySelector('header').firstElementChild.prepend(messageNode); console.log(customMessage); }; checkHeaderSize(100);<datalist><option>function checkHeaderSize(thresholdBytes) { var request = new XMLHttpRequest(); request.open('GET', document.location, false); request.send(null); var headers = request.getAllResponseHeaders().toLowerCase(); var headersBytes = (new TextEncoder().encode(headers)).length; var customId = ""; var customMessage = ""; var threshold = thresholdBytes; if (headersBytes &lt; threshold) { customColor = "green"; customId = "response-header-size-check-passed"; customMessage = "Pass. Observed response header size " + headersBytes + " is less than threshold of " + threshold + "."; } else if (headersBytes &gt; threshold) { customColor = "red"; customId = "response-header-size-check-failed"; customMessage = "Fail. Observed response header size " + headersBytes + " is greater than threshold of " + threshold + "."; } else { customColor = "blue "; customId = "response-header-size-check-error"; customMessage = "Error retrieving response header data"; } var messageNode = document.createElement("div"); messageNode.innerHTML = "" + customMessage + ""; document.querySelector('header').firstElementChild.prepend(messageNode); console.log(customMessage); }; checkHeaderSize(500);</option><option>function checkHeaderSize(thresholdBytes) { var request = new XMLHttpRequest(); request.open('GET', document.location, false); request.send(null); var headers = request.getAllResponseHeaders().toLowerCase(); var headersBytes = (new TextEncoder().encode(headers)).length; var customId = ""; var customMessage = ""; var threshold = thresholdBytes; if (headersBytes &lt; threshold) { customColor = "green"; customId = "response-header-size-check-passed"; customMessage = "Pass. Observed response header size " + headersBytes + " is less than threshold of " + threshold + "."; } else if (headersBytes &gt; threshold) { customColor = "red"; customId = "response-header-size-check-failed"; customMessage = "Fail. Observed response header size " + headersBytes + " is greater than threshold of " + threshold + "."; } else { customColor = "blue "; customId = "response-header-size-check-error"; customMessage = "Error retrieving response header data"; } var messageNode = document.createElement("div"); messageNode.innerHTML = "" + customMessage + ""; document.querySelector('header').firstElementChild.prepend(messageNode); console.log(customMessage); }; checkHeaderSize(100);</option></datalist></td><td></td>
</tr>
<tr><td>assertElementPresent</td><td>id=response-header-size-check-passed<datalist><option>id=response-header-size-check-passed</option></datalist></td><td></td>
</tr>
</tbody></table>
</body>
</html>