我想改变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();
});
答案 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);
}
});