2016-04-03 115 views
1

我使用名为“Mod Header”的Chrome扩展来修改每个请求的标题。为了具体我传递Dynatrace标题,以便我能够捕获我的Automated Selenium Tests的性能指标。为此,我想在请求标头中传递dynatrace标头。为此,我使用Chrome扩展程序。我成功地通过推出的Selenium浏览器启动了“Mod Header”Extension。发布这个我卡住了如何将参数传递给这个Extesnion,因为我想在头部请求中传递测试用例名称。 以下是我要传递的标题:
的dynaTrace:VU = 1; SN =脚本名; TE =测试名,ID = 1; NA = TestLoad如何通过Selenium Script c#将参数传递给Chrome扩展?

有人可以帮我这个问题?

回答

0

一种方法是在您的扩展程序网址中使用搜索参数。

如果通过调用一些页面调用您的扩展,您还可以添加参数,如

chrome-extension://efjkpoicghgloioskoepnjiniemnhcnl/index.html?param1=value1&param2=value2 
0

Chrome会保存在localStorage的分机的设置。 因此,定制扩展的一种方法是首先在其上设置上下文,然后用一段Javascript编辑localstorage。

下面是一个例子将两个报头(TOKEN1和token2)至ModHeader:

// 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: '', comment: ''}, 
     {enabled: true, name: 'token2', value: '56789', comment: ''} 
     ], 
     respHeaders: [], 
     filters: [] 
    }]));"); 

// visit a page 
driver.Navigate().GoToUrl("http://stackoverflow.com/"); 
+0

非常感谢弗洛朗乙。它为我工作。你做了我的一天 – Prateek

相关问题