如何在 webdriver io 测试(使用 wdio 测试运行器)中使用 safari 技术预览?

How to use safari technology preview in webdriver io tests (using wdio test runner)?

我尝试运行在 Safari 技术预览版 43(Safari 11.1、WebKit 12605.1.12)上使用 wdio.conf.js.

中的以下所需功能进行测试
capabilities: [{
    browserName: 'safari',
    'safari.options': {
        technologyPreview: true
    }
}]

每次我运行测试时,都会打开普通版本的浏览器。有人面临类似问题吗?

请在下面找到日志

[14:39:54]  COMMAND    POST      "/wd/hub/session"
[14:39:54]  DATA        {"desiredCapabilities":{"javascriptEnabled":true,"locationContextEnabled":true,"handlesAlerts":true,"rotatable":true,"browserName":"safari","safari.options":{"technologyPreview":true},"loggingPrefs":{"browser":"ALL","driver":"ALL"},"requestOrigins":{"url":"http://webdriver.io","version":"4.6.2","name":"webdriverio"}}}
[14:39:55]  INFO    SET SESSION ID EE19F81D-B054-4926-8235-B64387250665
[14:39:55]  RESULT        {"applicationCacheEnabled":true,"rotatable":false,"databaseEnabled":true,"handlesAlerts":true,"version":"12604.3.5.1.1","cleanSession":true,"platform":"macOS","nativeEvents":true,"locationContextEnabled":false,"webStorageEnabled":true,"browserName":"safari","javascriptEnabled":true,"platformName":"macOS","cssSelectorsEnabled":true}
[14:39:56]  COMMAND    POST      "/wd/hub/session/EE19F81D-B054-4926-8235-B64387250665/url"

不要使用 safari,但也许您可以像使用 chrome canary 一样打开二进制文件,并在二进制文件中定义 .exe。

    "browserName": "chromeCanary",
    "platform": "MAC",
    "chromeOptions": {
        "binary": "/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary"
    },

Selenium 在其 Safari 驱动程序实现中似乎不支持此功能 "yet"。

经过一番研究后,我在几天前的笔记中发现了这个问题。

https://github.com/SeleniumHQ/selenium/issues/4537

每个 Selenium 组织的成员接近底部:

Reading "technologyPreview" setting from the node config file is not yet implemented, it's an independent issue, we're working on this feature.