【问题标题】:How To Pass Selenium Server Log Parameter Via Protractor如何通过量角器传递 Selenium 服务器日志参数
【发布时间】:2017-01-12 04:01:16
【问题描述】:

我希望有人可以帮助解决我遇到的以下问题。我正在尝试使用一些命令行参数通过量角器启动 selenium 服务器

(我使用此链接作为参考https://github.com/angular/protractor/blob/master/lib/config.ts

我可以设置一些命令行参数

localSeleniumStandaloneOpts:
{

     args: [

               '-Dwebdriver.chrome.driver=./node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.26.exe',

               '-Dwebdriver.chrome.logfile=./Results/browser_logs_chrome.log',

               '-Dwebdriver.gecko.driver=./node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.11.1.exe',

               '-Dwebdriver.gecko.logfile=./Results/browser_logs_firefox.log',

               '-Dwebdriver.ie.driver=./node_modules/protractor/node_modules/webdriver-manager/selenium/IEDriverServer_Win32_2.53.1.exe',

               '-Dwebdriver.ie.driver.loglevel=INFO',

               '-log=./Results/selenium_server_logs.log'

           ];

}

但我永远无法获取 selenium 服务器的日志?有人可以指导我应该传递什么参数以便从本地 selenium 服务器获取日志吗?

非常感谢。

【问题讨论】:

    标签: javascript node.js selenium protractor


    【解决方案1】:

    您需要传递jvmArgs 而不是常规的args。所以当你运行独立服务器时:java -jar {jvmArgs} /path/to/standalone-server.jar {args}

    更新:

    args 值是分开的。标志和值是分开的(下面的更新答案):

    localSeleniumStandaloneOpts:
    {
    
         args:    [ '-log=', './Results/selenium_server_logs.log' ],
         jvmArgs: [
                    '-Dwebdriver.chrome.driver=./node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.26.exe',
                    '-Dwebdriver.chrome.logfile=./Results/browser_logs_chrome.log',
                    '-Dwebdriver.gecko.driver=./node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.11.1.exe',
                    '-Dwebdriver.gecko.logfile=./Results/browser_logs_firefox.log',
                    '-Dwebdriver.ie.driver=./node_modules/protractor/node_modules/webdriver-manager/selenium/IEDriverServer_Win32_2.53.1.exe',
                    '-Dwebdriver.ie.driver.loglevel=INFO'
         ]
    }
    

    此问题已于 2016 年 11 月在 this commit 上修复。 Protractor 4.0.11+ 支持此功能。

    更新:

    这是如何测试的。向 selenium-webdriver remote/index.js 添加了 console.log。记录jvmArgs.concat('-jar', jar, '-port', port).concat(args)。运行 Protractor 时打印的值:

    [11:52:49] I/local - Starting selenium standalone server...
    [11:52:49] I/launcher - Running 1 instances of WebDriver
    [ '-Dwebdriver.chrome.driver=../node_modules/webdriver-manager/selenium/chromedriver_2.26',
      '-Dwebdriver.chrome.logfile=./browser_logs_chrome.log',
      '-Dwebdriver.gecko.driver=../node_modules/webdriver-manager/selenium/geckodriver-v0.11.1',
      '-Dwebdriver.gecko.logfile=./browser_logs_firefox.log',
      '-Dwebdriver.chrome.driver=/usr/local/google/home/cnishina/src/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.26',
      '-jar',
      '/usr/local/google/home/cnishina/src/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-2.53.1.jar',
      '-port',
      58308,
      '-log',
      'selenium_server_logs.log',
      '-debug' ]
    [11:52:50] I/local - Selenium standalone server started at http://100.66.105.17:58308/wd/hub
    Started
    

    还针对 Protractor repo 示例 ./bin/protractor example/conf.js 运行此测试以进行测试。这是使用的conf:

    exports.config = {
      seleniumServerJar: '../node_modules/webdriver-manager/selenium/selenium-server-standalone-2.53.1.jar',
      localSeleniumStandaloneOpts: {
        args: [ '-log','selenium_server_logs.log', '-debug' ],
        jvmArgs: [
          '-Dwebdriver.chrome.driver=../node_modules/webdriver-manager/selenium/chromedriver_2.26',
          '-Dwebdriver.chrome.logfile=./browser_logs_chrome.log',
          '-Dwebdriver.gecko.driver=../node_modules/webdriver-manager/selenium/geckodriver-v0.11.1',
          '-Dwebdriver.gecko.logfile=./browser_logs_firefox.log'
        ]
      },
      specs: ['example_spec.js'],
    }
    

    这里只测试了 Chrome 浏览器,并创建了 browser_logs_firefox.log 和 selenium_server_logs.log 文件。

    【讨论】:

    • 您好,感谢您的回复....我已经尝试过您上面提到的那个结构,但不幸的是,这对我不起作用。我也在使用量角器版本 4.0.14。我们确定这有效吗? jvmArgs 适用于我,但不适用于 args 部分。
    • 我也升级到了 5.0.0 似乎也不适用于那个版本?
    • 更新我的答案。让这个工作,但参数是错误的。
    • 感谢更新的答案。您更新的答案中的所有内容都对我有用,除非创建 Firefox 浏览器日志。我正在使用 50.1.0 版的 Firefox,所以我需要升级它吗?另外,我正在使用 geckodriver 版本 v0.12.0。非常感谢。
    • 请参阅:stackoverflow.com/questions/41615695/…。你现在需要 FF 47。查看量角器更改日志以获取更多信息/支持的版本。
    猜你喜欢
    • 1970-01-01
    • 2023-02-05
    • 2012-05-24
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多