我正在使用名为" Mod Header"的Chrome扩展程序修改每个请求的标头。具体而言我正在通过Dynatrace Header,以便我能够捕获自动化Selenium测试的性能指标。为此,我想在Request标头中传递dynatrace头。为此,我使用Chrome扩展程序。我成功地推出了" Mod Header"使用Selenium的已启动浏览器进行扩展。发布这个我被困在如何将参数传递给此Extesnion,因为我想在标头请求中传递测试用例名称。
以下是我想传递的标题:
的dynaTrace:VU = 1; SN = SCRIPTNAME; TE =测试名; ID = 1; NA = TestLoad
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
一种方法是在您的扩展程序网址中使用搜索参数。
如果通过调用某些页面调用扩展,还可以添加
等参数chrome-extension://efjkpoicghgloioskoepnjiniemnhcnl/index.html?param1=value1¶m2=value2
答案 1 :(得分:0)
Chrome会将扩展程序的设置存储在localstorage中。 因此,自定义扩展的一种方法是首先在其上设置上下文,然后使用一段Javascript编辑localstorage。
以下是向ModHeader添加两个标头(token1和token2)的示例:
// add the ModHeader extension
var options = new ChromeOptions();
options.AddExtension(@"C:\Downloads\ModHeader_v2.0.9.crx");
// launch the browser
var driver = new ChromeDriver(options);
// set the context on the extension so the localStorage can be accessed
driver.Navigate().GoToUrl("chrome-extension://idgpnmonknjnojddfkpgkljpfnnfcklj/icon.png");
// setup ModHeader with two headers (token1 and token2)
driver.ExecuteScript(@"
localStorage.setItem('profiles', JSON.stringify([{
title: 'Selenium', hideComment: true, appendMode: '',
headers: [
{enabled: true, name: 'token1', value: '01234', comment: ''},
{enabled: true, name: 'token2', value: '56789', comment: ''}
],
respHeaders: [],
filters: []
}]));");
// visit a page
driver.Navigate().GoToUrl("http://stackoverflow.com/");