У меня проблемы с моим nightwatch js тестовым скриптом, который работает нормально, когда я запускаю его в тестовом скрипте, но не работает, когда я пытаюсь "преобразовать" его в команду script.
Ниже приведен отрывок из моего рабочего тестового сценария;
var pageTemplateUrls = [
'best-cars/young-drivers/',
'cars-for-sale/used/',
'audi/a3/review/',
];
var loadUrl = '';
module.exports = {
'X-large viewport GAM Ads displayed': function (browser) {
pageTemplateUrls.forEach(gamAdsFunction);
function gamAdsFunction(item) {
loadUrl = item;
browser.url(browser.launch_url + loadUrl);
browser.resizeWindow(1580, 1080);
browser.gamAds.gamAds();
}
},
Но я хотел бы сделать это - преобразовать это в командный файл , поэтому я могу запустить его в разных размерах окна без необходимости повторять весь скрипт каждый раз.
Итак, преобразовав это, я теперь имею следующий код в моем тестовом скрипте:
module.exports = {
'GAMAds are displayed': function (browser) {
var launch_url = browser.launch_url;
browser.resizeWindow(1580, 1080);
browser.gamAdsTestAll(launch_url);
},
'Closing browser': function (browser) {
browser.browserEnd();
},
};
и в моем gamAdsTestAll командном сценарии у меня есть следующее:
var pageTemplateUrls = [
'best-cars/young-drivers/',
'cars-for-sale/used/',
'audi/a3/review/',
];
var loadUrl = '';
exports.command = function(launch_url) {
pageTemplateUrls.forEach(gamAdsFunction);
function gamAdsFunction(item) {
loadUrl = item;
this.url(launch_url + loadUrl);
this.pause(3000);
}
};
Однако, когда я запускаю тест, я получаю следующую ошибку:
"Ошибка при Выполнение команды gamAdsTestAll: this.url не является функцией "
Есть идеи, что я здесь не так делаю?
Любая помощь будет очень признательна.
Спасибо