无法连接引用的元素和文本



目前,我有很多重复的函数,它们只是连接到的元素名称不同。

因为它们是在页面对象模型模式中设计的,所以它们遵循以下结构:

声明元素:

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;

上面的命令输出的是实际的文本,而不是元素本身。

许多谢谢。

你可以尝试添加另一个声明结构,比如"props",其中包含你的变量。然后你可以这样调用这个变量:this.props.your_var例子:

props: {
   navbarPreferences: '#preferences',
},
elements: {
       someElement: '#some-element'
   },

var elementName = this.props.navbarPreferences + strippedName;

最新更新