草庐IT

javascript - Safari WebDriver setTimeout 使用 Protractor 退出

coder 2024-07-20 原文

我已经使用 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);
    }
};

我唯一的规范

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

错误

[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

有人知道如何为 safari 配置 Protractor 吗?

最佳答案

这是我成功设置 Safari + Protractor 所做的:

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

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

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


另见 list of Safari+Protractor issues .

关于javascript - Safari WebDriver setTimeout 使用 Protractor 退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36730525/

有关javascript - Safari WebDriver setTimeout 使用 Protractor 退出的更多相关文章

随机推荐