ale*_*cxe 10 javascript testing selenium jasmine protractor
故事:
我们有一个相当庞大的端到端量角器测试代码库.我们有两个配置 - 一个是"本地" - 在Chrome和Firefox中运行测试,directConnect另一个是"远程" - 在远程selenium服务器上运行测试 - 在我们的案例中是BrowserStack.
我们的"本地"配置配置为在Chrome中运行一些测试,在Firefox中运行一些测试 - 因为我们实际上无法在Chrome中运行某些测试 - 例如,键盘快捷键在Chrome + Mac中不起作用.在解决链接chromedriver问题之前,运行需要在Firefox中使用键盘快捷键的测试是一种解决方法.
以下是配置的相关部分:
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
}
],
// ...
};
Run Code Online (Sandbox Code Playgroud)
问题:
现在,问题是,如果我正在调试单个测试,或者想要运行单个测试 - 我标记它是专注的(通过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
...
Run Code Online (Sandbox Code Playgroud)
问题:
有没有办法告诉量角器使用唯一一个配置了焦点规范的功能?
使用目前最新的protractor3.0.0.
希望问题很清楚.如果您需要任何其他信息,请与我们联系.
我想知道你是否可以做一些事情来包装这些it陈述,例如:
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');
}
};
}
Run Code Online (Sandbox Code Playgroud)
然后,当您编写测试时,不要it使用以下内容:
describe('when I do something', function() {
firefoxOnly('it should do the right thing', function() {
doSomething();
expect(thing).toBe(right);
)};
});
Run Code Online (Sandbox Code Playgroud)
我不知道这是否真的有效,只是把它扔在那里。事实上,当我回到我的测试计算机并尝试它时,我有兴趣添加一个功能,例如wip使用而不是xit自动挂起我的 ATDD 测试!
| 归档时间: |
|
| 查看次数: |
840 次 |
| 最近记录: |