访问multiCapabilities配置对象中的自定义属性

时间:2016-12-20 09:17:57

标签: angularjs protractor

我在multiCapabilities配置属性中有一个自定义属性Q,如下所示:

abstract class KingA<J extends JokerA, Q extends QueenA<J>> {
    KingA(Q.Princess princess) {
        Gift giftForPrincess = new Gift();
        princess.receiveGift(giftForPrincess);
    }
}

abstract class KingB<J extends JokerB, Q extends QueenB<J>> extends KingA<J, Q> {
    KingB(Q.Princess princess) {
        super(princess);
    }
}

我希望能够在测试期间访问此属性,因为它将确定在每次测试运行期间需要单击哪些元素。

在我试图运行的测试套件中的beforeAll()中,我有以下内容:

screenSize

注销时的上限值为:

multiCapabilities: [{
    browserName: 'chrome',
    screenSize: 'large',
    chromeOptions : {
      args: [
        '--start-maximized'
      ]
    },
    shardTestFiles: true
  }, {
    browserName: 'chrome',
    screenSize: 'medium',
    chromeOptions : {
      args: [
        '--window-size=960,1000']
    },
    shardTestFiles: true
  }]

可以看出,我的附加财产在这里不可用。

我怎样才能获得它?这可能吗?

另一个注意事项(抱歉这应该是另一个问题),我注意到两个测试运行同时进行,每个屏幕尺寸一个我在args选项中定义。我认为这是定义多个配置时的默认行为?你能让这些顺序而不是并行运行吗?

由于

1 个答案:

答案 0 :(得分:0)

我已回答你的第二个问题

Q2:你能让这些顺序而不是并行吗? A2:是的,如下面的摘录所示,选项shardTestFiles决定测试是否并行运行。完整documentation refer here

  /**
     * If this is set to be true, specs will be sharded by file (i.e. all
     * files to be run by this set of capabilities will run in parallel).
     * Default is false.
     */
    shardTestFiles?: boolean;