量角器通过参数循环为baseUrl

时间:2018-04-14 10:39:51

标签: loops typescript protractor angular5

我想改变baseUrl以包含来自json的参数,打开一个不同的url来为我拥有的每个市场运行测试。我该怎么做?这就是我到目前为止所拥有的。 量角器 - 5.1.2 打字稿:2.4.2

locales.json

  params: { 
       data:require('./e2e/testdata/locales.json') ,
       baseUrl: 'https://mywebsite' + markets[i] + '.com' //should get all items from json
  },

config.js

    page = new PageObject();
    browser.waitForAngularEnabled(false);  
    browser.get(baseUrl); // i want the test to run more than once, for all items in json file

  });

spec.ts       beforeEach(()=> {

$(function() { 
$('#main').append('<img src="plus.png" alt="click to see the paragraph" 
id="clickMe" />')
$('#clickMe').toggle(function() {
$('#message').show('fast');
$('#clickMe').attr('src', minus.png);

}, function(){
$('#message').hide('slow');
$('#clickMe').attr('src', plus.png);
});
$('#message').hide();

});

1 个答案:

答案 0 :(得分:0)

所以我设法遍历我的json文件并每次都改变baseUrl。但是浏览器不会在不同的实例中打开每个baseUrl,它会保持在同一个窗口中。我的测试通过,但我不知道它是否运行了3次我想要它。我只看到它在循环中的最后一项上运行。

beforeEach(() => {

    page = new PageObject();
    browser.waitForAngularEnabled(false);
    for (var i = 0; i < market.length; i++) {
      var marketParam = market[i];
      let baseUrl: 'https://mywebsite' + marketParam + '.com'
      browser.get(baseUrl);
    }
  });