我正在关注这个例子,为了使用ID选择器定义pageObjects中的元素......
var Page = require('./page')
var MyPage= Object.create(Page, {
/**
* define elements
*/
firstName: { get: function () { return browser.element('#firstName-0'); } },
lastName: { get: function () { return browser.element('#lastName-0'); } },
...
我正在寻找一种方法来传递一个允许我动态定义选择器的参数。例如'#firstName-0'
我想'#firstName-' + i
,所以我可以收集多个名字。
我试过了
firstName: { get: function (i) { return browser.element('#firstName-' + i);}}
然后在测试中..
MyPage.firstName.get(0).setValue('foo');
但它抱怨get()
不是函数。
Doe有什么想法吗?
答案 0 :(得分:3)
这是一种使用属性描述符在属性上定义函数的方法:
var Page = require('./page')
var MyPage= Object.create(Page, {
/**
* define elements
*/
firstName: { value: { get: function (i) { return browser.element('#firstName-' + i); } } },
...
用法:
MyPage.firstName.get(0).setValue('foo');