如何在 webdriver.io 中以 32 位模式启动 IE

Posted

技术标签:

【中文标题】如何在 webdriver.io 中以 32 位模式启动 IE【英文标题】:How I can start IE in 32bit mode in webdriver.io 【发布时间】:2017-08-31 07:42:05 【问题描述】:

我正在使用gulp-wdio npm pakage 运行WebDriver.io 测试 在selenium-standalone

我在 gulp 中运行的代码是:

gulp.task('e2e', function () 
return gulp.src('wdio.conf.js')
    .pipe(wdio(
        wdio: 
            specs: './test/features/**/*.feature'
        
    ));
);

而我的 wdio.conf.js 以这种方式定义浏览器:

capabilities: [     
        
            browserName: 'internet explorer',
            version: 'ANY'
        
    ],

How ever the typing is very slow,我在互联网上发现运行 32 位版本的网络驱动程序可以解决问题,但是我找不到如何配置功能或其他地方来运行 IE32 位驱动程序默认... 任何帮助将不胜感激@:-)

【问题讨论】:

【参考方案1】:

经过 2 天的研究,我找到了解决方案!!!

有一个配置文件需要提供给 selenium 独立 如图所示Example 所以我们的最终设置是这样完成的:

我们有一个名为 wdio.browsers.setup.js 的配置文件,其中包含浏览器设置:

module.exports = 
    baseURL: 'https://selenium-release.storage.googleapis.com',
    version: '3.3.1',
    drivers: 
        chrome: 
            version: '2.29',
            arch: process.arch,
            // - Recent versions of the driver: https://sites.google.com/a/chromium.org/chromedriver/
            baseURL: 'https://chromedriver.storage.googleapis.com'
        ,
        ie: 
            version: '3.0.0',
            arch: 'ia32',
            // - Recent versions of the driver: http://selenium-release.storage.googleapis.com/index.html
            baseURL: 'https://selenium-release.storage.googleapis.com'
        ,
        firefox: 
            version: '0.15.0',
            arch: process.arch,
            baseURL: 'https://github.com/mozilla/geckodriver/releases/download'
        
    
;

然后在 wdio.conf.js 中我们加载它并分配给一个特殊的参数

let browsersSetup = require('./wdio.browsers.setup');
exports.config = 

   seleniumArgs: browsersSetup,
    seleniumInstallArgs: browsersSetup,

之后一切正常@:-)

注意:如果您的网络驱动程序已全局安装,请先删除全局设置,它位于:

C:\Users\%USERNAME%\AppData\Roaming\npm

然后您可以使用以下命令运行本地安装:

./node_modules/.bin/selenium-standalone install --config=../../wdio.browsers.setup.js 

【讨论】:

然后投票 :-) 好东西@OBender!我被困了几个小时。【参考方案2】:

IE浏览器安装32位的解决方案如下:

services: ["selenium-standalone"],
seleniumArgs: 
    drivers: `enter code here`
        ie: 
            version: "3.4.0", // or whatever latest is
            arch: "ia32", // forces use of 32 bit driver
            baseURL: "https://selenium-release.storage.googleapis.com"
        ,
    ,
,
seleniumInstallArgs: 
    drivers: 
        ie: 
            version: "3.4.0", // or whatever latest is
            arch: "ia32", // forces use of 32 bit driver
            baseURL: "https://selenium-release.storage.googleapis.com"
        ,
    ,
,

【讨论】:

以上是关于如何在 webdriver.io 中以 32 位模式启动 IE的主要内容,如果未能解决你的问题,请参考以下文章

Webdriver.io - 如何在配置中使用 beforeEach 钩子

如何等待 WEBdriver.io 的 Ajax 调用完成

如何使用 webdriver.io 控制 Android 设备

Selenium & webdriver.io 如何使用 executeScript?

如何同步运行webdriver.io?

如何使用 webdriver.io 模拟 ctrl-click 或 shift-click?