【问题标题】:Tagging Protractor - Jasmine e2e Tests for execution标记量角器 - Jasmine e2e 执行测试
【发布时间】:2018-08-10 16:05:23
【问题描述】:
我使用量角器和 jasmine 为 angular 6 应用程序编写了一些 e2e UI 测试。我正在寻找如何标记特定的“它”来执行。我希望能够将它们标记为@smoke、@regression 等。
如何做到这一点?我用 ng e2e 运行我的测试。
【问题讨论】:
标签:
typescript
jasmine
protractor
ui-automation
angular-e2e
【解决方案1】:
在 conf.js 文件中使用下面的配置
suites: {
smoke: ['./smoke/*.spec.js'],
regression: ['./regression/*.spec.js'],
functional: ['./functional/*.spec.js'],
all: ['./*/*.spec.js'],
selected: ['./functional/addcust.spec.js','./regression/openacc.spec.js'],
}
运行方式如下图单套或多套运行
protractor conf.js --suite=selected
protractor conf.js --suite=smoke,regression
只是补充一下,还有另一种不执行选定测试用例的方法 - [不推荐],即使用 xit 代替它。这也是茉莉花关键字。
describe('test login as admin',function(){
**xit**('login as admin', function(){
page.navigateToURL("http://angularjs-protractor/");
expect(page.getPageTitle()).toBe('Protractor App');
expect(browser.getTitle()).equals('Title');
browser.sleep(3000);
});
});
【解决方案2】:
我意识到您可以通过将测试标记为 xit 来将测试排除在执行之外。如果您需要先进行测试,Jasmine 也可以满足您的要求。
describe('test to be excluded from execution', ()= > {
xit('Test 1', () => {
code to be run
});
fit('Test 2', () => {
code to be run
});
it('Test 3', () => {
code to be run
});
});
测试将按顺序运行
测试 2
测试 3