javascript – 多功能和茉莉花聚焦测试

前端之家收集整理的这篇文章主要介绍了javascript – 多功能和茉莉花聚焦测试前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
故事:

我们有一个相当巨大的端到端量角器测试代码库.我们有两个配置 – 一个是“本地” – 使用directConnect在Chrome和Firefox中运行测试,另一个是“远程” – 在远程硒服务器上运行测试 – BrowserStack.

我们的“本地”配置被配置为在Chrome和一些在Firefox中运行一些测试 – 因为我们真的不能在Chrome中运行一些测试 – 例如keyboard shortcuts don’t work in Chrome+Mac.运行需要在Firefox中使用键盘快捷键的测试是一种解决方法,直到链接的chromedriver问题解决了.

以下是配置的相关部分:

var firefox_only_specs = [
    "../specs/some_spec1.js","../specs/some_spec2.js","../specs/some_spec3.js"
];

exports.config = {
    directConnect: true,multiCapabilities: [
        {
            browserName: "chrome",chromeOptions: {
                args: ["incognito","disable-extensions","start-maximized"]
            },specs: [
                "../specs/**/*.spec.js","../specs/**/**/*.spec.js","../specs/**/**/**/*.spec.js"
            ],exclude: firefox_only_specs
        },{
            browserName: "firefox",specs: firefox_only_specs
        }
    ],// ...
};

问题:

现在,问题是,如果我正在调试一个单独的测试,或者想要运行一个单独的测试 – 我标记为焦点(通过fdescribe / fit) – 但量角器启动两个驱动程序会话 – 一个用于Chrome和另一个用于Firefox,使用两种配置的功能

Running "protractor:local" (protractor) task
[launcher] Running 2 instances of WebDriver

...
------------------------------------
[chrome #1] PID: 2329
[chrome #1] Using ChromeDriver directly...
[chrome #1] Spec started

...

------------------------------------
[firefox #2] PID: 2330
[firefox #2] Using FirefoxDriver directly...
[firefox #2] Spec started

...

问题:

有没有办法告诉量角器使用唯一一个配置了重点规格的功能

使用当前最新的量角器3.0.0.

希望问题很清楚.如果您需要任何其他信息,请告诉我们.

解决方法

我想知道你可以做些什么来包装它的语句,如:
onPrepare: function() {
    browser.getCapabilities().then(function(caps) {
        global.browserName = caps.caps_.browserName;
    });

    global.firefoxOnly = function(name,testFunction) {
        if (browserName === 'firefox') {
            return it(name,testFunction);
        } else {
            return xit(name,testFunction).pend('firefox only');
        }
    };
}

那么当你写一个测试,而不是使用像:

describe('when I do something',function() {
    firefoxOnly('it should do the right thing',function() {
        doSomething();
        expect(thing).toBe(right);
    )};
});

我不知道这是否真的有效,只是把它扔在那里.事实上,当我回到我的测试计算机并尝试出来,我将有兴趣添加一个像wip这样的功能,而不是使用xit来自动挂起我的ATDD测试!

原文链接:https://www.f2er.com/js/151997.html

猜你在找的JavaScript相关文章