【问题标题】:Javascript Selenium Internet Explorer 11 OptionsJavascript Selenium Internet Explorer 11 选项
【发布时间】:2018-08-16 01:29:23
【问题描述】:

我目前使用下面的 chromedriver 配置设置了我的 selenium javascript 测试:

const {Builder, By, Key, until} = require('..');    
const  webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().forBrowser('chrome').build();

我按照指示将 IEDriverServer.exe 插入到您的 PATH 中,并确认它是正确的位置和文件 naem。正如同一个教程告诉我的那样,我还添加了 DWORD 注册表。我所有的配置都是正确的,但我认为我正在对使用 chrome 与 Internet Explorer 运行的方式做出一些假设。

这是我运行 IE 测试的方法,如果我错了,请纠正我: 新的配置代码: const {Builder, By, Key, until} = require('..');

const  webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().forBrowser('internet explorer').build();
  1. 在命令提示符下启动 Selenium Server java -jar selenium-server-standalone-3.9.0.jar
  2. 双击 .exe 文件在另一个窗口中启动 IEDriverServer.exe
  3. 在第三个命令提示符窗口中,cd 到我的测试和驱动程序所在的文件夹并使用“node test2.js”运行测试

我收到以下错误消息:

Error: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:60381
    at ClientRequest.<anonymous> (<file path omitted>\index.js:244:15)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at Socket.socketErrorListener (_http_client.js:387:9)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at emitErrorNT (internal/streams/destroy.js:64:8)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)

感谢任何帮助。谢谢!

【问题讨论】:

  • 可能是防火墙问题。其他解决方案见this question
  • 我对 iedriverserver 和 selenium 服务器都有防火墙提示,我都接受了它们。我不知道还有什么需要通过防火墙。

标签: javascript selenium automated-tests internet-explorer-11


【解决方案1】:

问题是 -- 没有 f**** 方法来设置驱动程序选项来设置 IE 驱动程序的路径:-(

【讨论】:

    【解决方案2】:

    它适用于我,我使用的是 firefox、chrome 等。但是能力不想被应用,而且似乎不起作用。

    var webdriver = require("selenium-webdriver");
    
    var DriverFactory = {
        create: function (browser) {
            if (browser == "ie" || browser == "internet explorer") {
                let capabilities = webdriver.Capabilities.ie();
                capabilities.set("ignoreProtectedModeSettings", true);
                capabilities.set("ignoreZoomSetting", true);
                return driver = new webdriver.Builder().withCapabilities(capabilities).build();
            } else {
                return driver = new webdriver
                    .Builder().forBrowser(browser)
                    .build();
            }
        }
    }
    module.exports = DriverFactory;
    

    然后只需导入模块,然后调用它

    async function () {
        driver = await DriverFactory.create("firefox");
    };
    

    【讨论】:

      猜你喜欢
      • 2015-06-14
      • 1970-01-01
      • 2015-12-22
      • 1970-01-01
      • 2019-11-20
      • 2015-01-27
      • 1970-01-01
      相关资源
      最近更新 更多