Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Selenium Internet Explorer 11选项_Javascript_Selenium_Automated Tests_Internet Explorer 11 - Fatal编程技术网

Javascript Selenium Internet Explorer 11选项

Javascript Selenium Internet Explorer 11选项,javascript,selenium,automated-tests,internet-explorer-11,Javascript,Selenium,Automated Tests,Internet Explorer 11,我目前已使用下面的chromedriver配置设置seleniumjavascript测试: const {Builder, By, Key, until} = require('..'); const webdriver = require('selenium-webdriver'); var driver = new webdriver.Builder().forBrowser('chrome').build(); 我按照指示将IEDriverServer.exe插入到您的路径中

我目前已使用下面的chromedriver配置设置seleniumjavascript测试:

const {Builder, By, Key, until} = require('..');    
const  webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().forBrowser('chrome').build();
我按照指示将IEDriverServer.exe插入到您的路径中,我已经这样做并确认它是正确的位置和文件naem。正如同一教程告诉我的,我还添加了DWORD注册表。我所有的配置都是正确的,但我想我是在对chrome和internet explorer的运行方式做一些假设

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

  • 在命令提示符下启动Selenium服务器java-jar Selenium-Server-standalone-3.9.0.jar
  • 双击.exe文件,在另一个窗口中启动IEDriverServer.exe
  • 在第三个命令提示符窗口中,将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)
    
    错误:ECONREFUNCE connect ECONREFUNCE 127.0.0.1:60381
    在ClientRequest。(\index.js:244:15)
    在emitOne(events.js:116:13)
    在ClientRequest.emit(events.js:211:7)
    位于Socket.socketErrorListener(_http_client.js:387:9)
    在emitOne(events.js:116:13)
    在Socket.emit(events.js:211:7)
    发出错误时(内部/streams/destroy.js:64:8)
    at _combinedTickCallback(内部/流程/下一步_tick.js:138:11)
    在进程中。_tick回调(内部/process/next_tick.js:180:9)
    

    感谢您的帮助。谢谢大家!

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

    我使用firefox、chrome、IE。但是功能不想应用,而且似乎不起作用

    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");
    };
    

    可能是防火墙问题。有关其他解决方案,请参阅。我对iedriverserver和selenium服务器都有一个防火墙提示,我接受了它们。我不知道还有什么需要通过防火墙。
    async function () {
        driver = await DriverFactory.create("firefox");
    };