2016-04-03 156 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

相關問題