喜欢的东西;
element(by.model('formData.name')).sendKeys('David Cameron');
我正试图在用户注册时找到一种方法来测试我的管理员方面。在某个地方,我将不得不使用expect
(以检查条目是否已提交到后端)但我想使用大约10个名称的python字典,其中量角器测试选择random
到{{的名称1}}。如何建立链接?
答案 0 :(得分:1)
将您的Python词典转储到JSON文件中,例如json.dump()
,然后您可以导入JSON文件并在browser.params
中设置onPrepare()
:
onPrepare: function () {
var fs = require('fs');
var obj = JSON.parse(fs.readFileSync('file', 'utf8'));
browser.params.names = obj;
},
然后,您可以在测试中使用browser.params.names
。要从数组中获取随机值,请参阅以下主题:Getting a random value from a JavaScript array。
答案 1 :(得分:1)
我通过在我的testing * spec.js文件中直接创建javaScript对象来解决这个问题,例如3个随机的人(对象);
在我的 sell-spec.js 文件中;
var random = function(){
return Math.floor((Math.random() * 3) + 1);
}
var users = [];
var user1 = {
name : "Jacob",
tel : "123",
email: "1@1.com",
reg: "1234",
vin : "2345"
};
var user2 = {
name : "Jacob2",
tel : "1232",
email: "1@12.com",
reg: "12342",
vin : "23452"
};
var user3 = {
name : "Jacob3",
tel : "1233",
email: "1@13.com",
reg: "12343",
vin : "23453"
};
users.push(user1);
users.push(user2);
users.push(user3);
var selectedUserIndex = random();
selectedUser = users[selectedUserIndex]
element(by.model('formData.name')).sendKeys(selectedUser.name);
element(by.model('formData.cell')).sendKeys(selectedUser.tel);
以及我的其他(管理员)规范 admin-spec.js 文件;
expect(element.all(by.binding('name')).first().getText()).toEqual('Name: ' + seller_details.selectedUser.name );
expect(element.all(by.binding('cell')).first().getText()).toEqual('Cell: ' + seller_details.selectedUser.tel);