Не удается найти переменную: страница в PhantomJS
Я новичок в тесте, как в модульном тесте, так и в тесте UI
Я пытаюсь создать тест пользовательского интерфейса для моей страницы входа, используя следующий код:
console.log("Teste de Login");
var page = require('webpage').create();
page.open('http://localhost/login', function(status) {
console.log("Page loadeed");
if(status === "success") {
page.render('example1.png');
}
page.evaluate(function() {
// $("#numeroUsuario").val("99734167");
document.getElementById('numeroUsuario').value = "99734167";
page.render('exampl2.png');
// $("#formLogin").submit();
page.render('example3.png');
});
phantom.exit();
});
но этот код возвращает следующую ошибку:
> phantomjs.exe ./testLogin.js
Teste de Login
Page loadeed
ReferenceError: Can't find variable: page
phantomjs://webpage.evaluate():4
phantomjs://webpage.evaluate():8
где элемент . Что я сделал не так?
2 ответов
уверен, что в page.evaluate
environment, вы не можете ссылаться ни на что из сценария Phantom.
в вашем случае у вас может быть несколько вызовов оценки:
console.log("Teste de Login");
var page = require('webpage').create();
page.open('http://localhost/login', function(status) {
console.log("Page loadeed");
if(status === "success") {
page.render('example1.png');
}
page.evaluate(function() {
// $("#numeroUsuario").val("99734167");
document.getElementById('numeroUsuario').value = "99734167";
});
page.render('exampl2.png');
page.evaluate(function() {
// $("#formLogin").submit();
});
page.render('example3.png');
phantom.exit();
});
на документация говорит следующее о контексте страницы (акцент мой):
исполнение изолированное веб-страница имеет доступ к не работать!