【问题标题】:How to run specific 'it' blocks in protractor如何在量角器中运行特定的“it”块
【发布时间】:2020-02-26 11:22:53
【问题描述】:

创建了一个包含测试用例('it'块)组合的规范文件,定义如下:

spec1.js

describe('suite', function(){

  it('test case1', function()
   {
      //test case definition
   })

   it('test case2', function()
   {
      //test case definition
   })
})

conf.js 设置如下。

suites: {
       suite1: [
           path.resolve(filePath.specFile1),
           path.resolve(filePath.specFile2),
           path.resolve(filePath.specFile3)
            ]
        suite2:
            [
           path.resolve(filePath.specFile1),
           path.resolve(filePath.specFile3)
            ]
      } 

在 package.json 中触发的命令为

"suite1test": "protractor ./conf.js --suite suite1",
"allTest" : "protractor ./conf.js"

从命令行,我们可以触发suite1为“npm run suite1test

但我的要求是,我只想从 spec1.js 中执行 'test case1' 'it' 块,就像 spec 文件中的特定测试用例一样,并将组作为测试套件。

当我搜索解决方案时,我知道我们可以通过在前面加上“x”来禁用某些测试用例或套件,即“xdescribe”禁用该套件,“xit”将禁用特定的“it”块

如果要执行特定的测试套件或测试用例,那么我们可以在前面加上“f”焦点,即“fdescribe”将执行该套件,“fit”将执行该特定的“it”块。

如果要创建一组单独的测试套件或要执行的测试用例,这是一个漫长的过程,每次我们都需要在每个规范文件级别进行更改。而不是这样,希望通过创建指向特定“it”块的单独套件并在需要时触发来从 conf.js 触发。

这些有什么解决办法吗?

【问题讨论】:

    标签: jasmine protractor


    【解决方案1】:

    您需要单独的规范文件,然后您可以在 conf.js 的规范中调用它们。 添加 x 或 f 并一直更改它不是一个好习惯。

    【讨论】:

    • 除了分成不同的规范文件还有其他方法吗?如果我们分别创建不同的规范文件,那么我们在“描述”下定义它,并将这些场景显示为报告中的测试套件,我希望所有这些都作为一个测试套件,而不是报告中的不同测试套件。
    • 如果你使用 Cucumber 和量角器,你可以在 @Smoke 等特性中实现标签,并且只运行属于指定标签一部分的测试。
    猜你喜欢
    • 1970-01-01
    • 2021-10-09
    • 2018-09-06
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    相关资源
    最近更新 更多