使用量角器退出的Safari WebDriver setTimeout

Ada*_*r86 8 javascript selenium protractor

我已经使用Karma完成了很多单元测试,但我的办公室希望进行一些集成测试,尤其是测试跨浏览器功能.为此,似乎Protractor是我最好的选择,而且我已经开始得到一些基本的仪表板测试,但我仍然坚持使用safari.

我的配置:

exports.config = {
    seleniumAddress: 'http://localhost:4444/wd/hub',

    specs: ['scenarios/*Scenario.js'],

    framework: 'jasmine',

    baseUrl: 'https://www-dev.remeeting.com/',

    multiCapabilities: [{
        browserName: 'firefox'
    }, {
       browserName: 'chrome'
    }, {
       browserName: 'safari'
    }],

    onPrepare: function() {
        browser.driver.get('https://www-dev.remeeting.com/');

        browser.driver.findElement(by.id('email')).sendKeys('adam+test@mod9.com');
        browser.driver.findElement(by.id('password')).sendKeys('abc123');
        browser.driver.findElement(by.id('submit_btn')).click();

        // Login takes some time, so wait until it's done.
        // For the test app's login, we know it's done when it redirects to
        // app/#/d.
        return browser.driver.wait(function() {
            return browser.driver.getCurrentUrl().then(function(url) {
                return /app\/#\/d/.test(url);
            });
        }, 10000);
    }
};
Run Code Online (Sandbox Code Playgroud)

我唯一的规格

describe('Dashboard', function() {
    it('should login to the dashboard', function() {
        expect(element(by.css('.dashboard')).getText()).toMatch(/Upload Meeting/);
        expect(element(by.id('refreshButton')));
        expect(element(by.css('.dashboard div.btn-group')))
    });
});
Run Code Online (Sandbox Code Playgroud)

而错误

[safari #21] PID: 79079
[safari #21] Specs: /Users/adam/git/mrp-  www/e2e/scenarios/dashboardScenario.js
[safari #21]
[safari #21] Using the selenium server at http://localhost:4444/wd/hub
[safari #21] ERROR - Unable to start a WebDriver session.
[safari #21] Unknown command: setTimeout (WARNING: The server did not provide any stacktrace information)
...
[safari #21] Driver info: org.openqa.selenium.safari.SafariDriver
[safari #21] Capabilities [{browserName=safari, takesScreenshot=true, javascriptEnabled=true, version=9.1, cssSelectorsEnabled=true, platform=MAC, secureSsl=true}]
[safari #21] Session ID: null

[launcher] Runner process exited unexpectedly with error code: 1
[launcher] 2 instance(s) of WebDriver still running
Run Code Online (Sandbox Code Playgroud)

有谁知道如何为safari配置量角器?

ale*_*cxe 4

以下是我成功设置 Safari + Protractor 所做的操作:

  • 确保我有最新的 Safari(目前是 9.1)
  • 从此页面下载最新的 Safari 驱动程序,打开 Safari 扩展首选项并将SafariDriver.safariextz文件拖放到扩展列表中:

在此输入图像描述

  • 升级protractor到最新版本(目前为3.2.2)

请注意,作为替代方案,您始终可以在BrowserStack或上远程运行 Safari SauceLabs


另请参阅Safari+Protractor 问题列表