这有效
it('should create a report for index: ', function() {
var dataLength = window.test.parameters.length;
for (var i = 0; i < dataLength; i++){
var parameterObject = window.test.parameters[i];
var propNumber = parameterObject.propertyNumber;
element(":contains('" + propNumber + "')").click();
element(":button('View')").click();
expect(element('div *:contains(' + reportName + ')').count()).toEqual(4);
}
});
这不是
var dataLength = window.test.parameters.length;
for (var i = 0; i < dataLength; i++){
it('should create a report for index: ', function() {
var parameterObject = window.test.parameters[i];
var propNumber = parameterObject.propertyNumber;
element(":contains('" + propNumber + "')").click();
element(":button('View')").click();
expect(element('div *:contains(' + reportName + ')').count()).toEqual(4);
});
};
我的目的是参数化这个测试,每次使用不同的参数组合多次运行它。 我已尝试删除var并使用严格的&#39 ;;确保我是全球性的。我试过在“描述”之外宣布我。功能。这有诀窍吗?
答案 0 :(得分:4)
it
可能是异步的,尝试用词法来限定它。
var dataLength = window.test.parameters.length;
for (var i = 0; i < dataLength; i++){
it('should create a report for index: ', function(i) {
return function () {
var parameterObject = window.test.parameters[i];
var propNumber = parameterObject.propertyNumber;
element(":contains('" + propNumber + "')").click();
element(":button('View')").click();
expect(element('div *:contains(' + reportName + ')').count()).toEqual(4);
};
}(i));
};