如何在 Nightwatch js 中将变量值从一个函数传递到另一个函数
How to pass variable value from one function to another in Nightwatch js
我正在使用 Nightwatch.js 测试自动化框架。
在我的代码中我得到了值,但我无法将这个记录的值传递给另一个函数。这是代码:
CreateLife: function (browser) {
browser.getValue('#LifeID', function (r) {
a = r.value;
browser.execute(function () {
LifeTemplatesManager.loadAddOnlineItem(a); //doesn't work/The value of 'a' is not being passed.
});
console.log("ID of newly created Life", a);
}
}
每当创建新生命时,都会为其分配一个新 ID。
我能够获取此 ID 并将其存储在 'a' 中并在控制台中显示。
我的问题是如何将 'a' 的值传递给函数 'LifeTemplatesManager.loadAddOnlineItem'
帮助将不胜感激。我是 JS 的初学者。
谢谢。
browser.execute用于将JavaScript的片段注入页面(浏览器环境内)执行,变量a不可访问那种环境。
为了在此浏览器环境中使用 a,您可以执行以下操作:-
browser.execute(function (a) {
LifeTemplatesManager.loadAddOnlineItem(a);
},[a]);
请参考 this link 来自 nightwatch 的文档。
我正在使用 Nightwatch.js 测试自动化框架。
在我的代码中我得到了值,但我无法将这个记录的值传递给另一个函数。这是代码:
CreateLife: function (browser) {
browser.getValue('#LifeID', function (r) {
a = r.value;
browser.execute(function () {
LifeTemplatesManager.loadAddOnlineItem(a); //doesn't work/The value of 'a' is not being passed.
});
console.log("ID of newly created Life", a);
}
}
每当创建新生命时,都会为其分配一个新 ID。 我能够获取此 ID 并将其存储在 'a' 中并在控制台中显示。 我的问题是如何将 'a' 的值传递给函数 'LifeTemplatesManager.loadAddOnlineItem'
帮助将不胜感激。我是 JS 的初学者。
谢谢。
browser.execute用于将JavaScript的片段注入页面(浏览器环境内)执行,变量a不可访问那种环境。
为了在此浏览器环境中使用 a,您可以执行以下操作:-
browser.execute(function (a) {
LifeTemplatesManager.loadAddOnlineItem(a);
},[a]);
请参考 this link 来自 nightwatch 的文档。