目前,我有很多重复的功能,只有它们连接的元素名称不同。
因为它们是在页面对象模型模式中设计的,所以它们遵循以下结构:
声明元素:
module.exports = {
commands: [fixtureCommands],
elements: {
navbarPreferences: '#preferences',
}
};
然后,我可以在测试中引用元素(使用元素名称前面的@符号:
this.click('@navbarPreferences')
目前 - 我有这个函数将变量与文本连接起来。该文本实际上是在其下面声明的元素中(如上例所示)
function: function (name) {
var i;
for (i = 0; i < names.length; i++) {
var elementName = '#preferences-' + strippedName;
this.click(elementName);
}
return this.api;
},
但是,我如何引用一个元素(就像我在上面的例子中所说的那样)并将它与另一个变量连接起来。
var elementName = '@navbarPreferences' + strippedName;
以上打印实际文本,而不是元素本身。
非常感谢。
答案 0 :(得分:0)
你可以尝试添加另一个声明结构,说&#34;道具&#34;你的变量。你可以像这样调用变量:this.props.your_var 例如:
props: {
navbarPreferences: '#preferences',
},
elements: {
someElement: '#some-element'
},
var elementName = this.props.navbarPreferences + strippedName;