【问题标题】:How can I pass arguments to chrome extension through Selenium Script c#?如何通过 Selenium Script c# 将参数传递给 chrome 扩展?
【发布时间】:2017-11-11 03:53:19
【问题描述】:

我正在使用一个名为“Mod Header”的 Chrome 扩展来修改每个请求的 Header。具体来说,我正在传递 Dynatrace Header,以便能够捕获我的自动化 Selenium 测试的性能指标。为此,我想在 Request 标头中传递 dynatrace 标头。为此,我正在使用 Chrome 扩展程序。我成功地使用已启动的 Selenium 浏览器启动了“Mod Header”扩展。发布这个我被困在如何将参数传递给这个扩展,因为我想在标头请求中传递测试用例名称。 以下是我要传递的标题:
dynatrace:VU=1;SN=Scriptname;TE=Testname;ID=1;NA=TestLoad

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: c# selenium google-chrome-extension


    【解决方案1】:

    Chrome 将扩展程序的设置存储在本地存储中。 因此,自定义扩展的一种方法是首先在其上设置上下文,然后使用一段 Javascript 编辑本地存储。

    这是一个向 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/");
    

    【讨论】:

    • 非常感谢 Florent B 。它对我有用。你让我很开心。:D
    • 这应该被标记为接受的答案;该解决方案也适用于其他语言(改编代码并使用 python 3.7 和 ModHeader 2.5.4 进行测试)
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多