Когда я пытаюсь выполнить приведенный ниже фрагмент кода через командную строку, используя node nightwatch tests/login_Radius_TC2.js, я продолжаю получать ошибку ниже. Я новичок в ночных наблюдениях и мне нужна помощь в понимании точной основной причины.
Я также просмотрел ранее заданные вопросы, но ни один из них не смог решить проблему. Тем не менее, если есть вопрос, который уже отвечает на этот вопрос, пожалуйста, направьте меня к нему.
Я передал http://nightwatchjs.org/api/#waitForElementVisible для реализации.
module.exports = {
'LoginRadiusGoogleLogin' : function (client) {
client
.url('https://lr-candidate-demo1.hub.loginradius.com/auth.aspx')
.maximizeWindow();
.waitForElementVisible('span[title=Sign up with Google]', 10000)
.click('span[title=Sign up with Google]')
.windowHandles(function(result) {
console.info(result.value);
var newWindow=result.value[1];
this.switchWindow(+newWindow);
}
.end();
}
};
Ниже приведено сообщение об ошибке:
TEST FAILURE: 1 error during execution 0 tests failed, 0 passed. 1.834s
Unexpected token .
.waitForElementVisible('span[title=Sign up with Google]', 10000)
^
SyntaxError: Unexpected token .
at new Script (vm.js:84:7)
at createScript (vm.js:264:10)
at Object.runInThisContext (vm.js:312:10)
at Module._compile (internal/modules/cjs/loader.js:684:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Module.require (internal/modules/cjs/loader.js:657:17)
at require (internal/modules/cjs/helpers.js:20:18)
Зачем начинать с ., как в .waitForElementVisible(), если вы уже завершили строку с ; в предыдущей строке maximizeWindow();? Это типичный Ошибка синтаксиса в вашей программе.
Спасибо @DebanjanB за вклад. Я только начал работать над Javascript, поэтому не очень хорошо знаком с синтаксисом и хотел решить проблему как можно скорее, что подтолкнуло меня опубликовать ее здесь. Постараюсь решить такие вопросы самостоятельно, продвигаясь вперед.





Просто удалите ; из кода
'LoginRadiusGoogleLogin' : function (client) {
client
.url('https://lr-candidate-demo1.hub.loginradius.com/auth.aspx')
.maximizeWindow()
.waitForElementVisible('span[title=Sign up with Google]', 10000)
.click('span[title=Sign up with Google]')
.windowHandles(function(result) {
console.info(result.value);
var newWindow=result.value[1];
this.switchWindow(+newWindow);
}
.end();
}
};```
Спасибо @prabhakar. Похоже, я допустил синтаксическую ошибку, но очень ценю, что вы нашли время опубликовать решение.
Удалите
;в этой строке.maximizeWindow();.