在量角器的规格之间共享测试用例

时间:2018-07-09 10:43:39

标签: javascript angular selenium jasmine protractor

现在我有一套规格,在量角器的两个不同规格之间共享。

我要做的是将所有测试用例写在pageobject中,然后从套件中调用该函数。

例如:PageObject

var testing_helper = function(){


this.functu = function(a,b){
//test case one . without using "it" functions.
//test case two
//testcase three.
...... 
}

suite.js文件如下

var x = require('./testing_helper');
describe('description' function(){

  if(some condition){
   it('description', function(){
     x.functu(a,b);
   });
   }

});

这可以很好地运行测试,但是生成的报告中没有描述或单独的测试用例。该报告文件仅显示一个测试,而不是所有三个。

<testsuites disabled="0" errors="0" failures="0" tests="1" time="121.175">
 <testsuite name="This is rbac" timestamp="2018-07-09T14:59:41" hostname="localhost" time="121.175" errors="0" tests="1" skipped="0" disabled="0" failures="0">
  <testcase classname="This is rbac" name="runs the rbac off user" time="121.174" />
 </testsuite>
</testsuites>

我知道这样做不是正确的方法,因此无法在最终报告中对每个功能进行描述。

有没有一种方法可以正确定义规格一,规格二和规格三的“ it”规格,然后在套件中使用它们并根据条件运行它们?

1 个答案:

答案 0 :(得分:2)

我认为应该将其组织为-

var testing_helper = function(){       
add = function(a,b){
....
}    
subtract = function(a,b){
....
}    
}

然后,定义测试套件-

var x = require('./testing_helper');
describe('description' function(){  
   it('description', function(){
      if(some condition){
        x.add(a,b);
      }
   });

   it('description', function(){
      if(some condition){
        x.subtract(a,b);
      }
   });  

});

这是否有意义或有任何限制?

我的意思是,假设您具有login函数,该函数将在许多规范中使用。您可以在助手中找到它,并以任意数量的规格在此处调用它。