我有一个使用Selenium Web Driver的Javascript测试应用程序。在设置准备好测试的代码时,我总是使用类似于下面的代码来设置测试页面之前的属性。在这种情况下,它是主题页面,所以我有这个代码来设置一个主题对象,然后添加属性:
var topic = this;
topic.topicName = element(by.id('topicName'));
topic.topicVersion = element(by.id('topicVersion'));
.....
.....
topic.description = element(by.id('description'));
topic.topicHeader = element(by.id('topicHeader'));
topic.topicFooter = element(by.id('topicFooter'));
有没有办法可以简化此设置,以避免我必须多次调用element(by.id())
。理想情况下,我想传入一个对象和一个不同字段的数组,并让一些代码执行element(by.id(
并将属性添加到对象中?请注意,我想要的属性名称是与元素ID匹配的属性。
我将非常感谢有关如何做到这一点的一些提示。
答案 0 :(得分:1)
你可以这样做:
['topicName', 'topicVersion', ...].forEach(function(k){
topic[k] = element(by.id(k));
});