Я только что начал читать и пробовать некоторые примеры и его документацию (http://www.gebish.org/manual/current), и вам нужна помощь, чтобы понять, почему эти утверждения терпят неудачу. Моя первая попытка была с webapp, которая перенаправляется на наш IDP для входа в систему, и если это успешный логин, а затем перенаправляет вас на приватный контент webapp. Я был неудачным с этим примером и решил попробовать простейший пример (я также использовал Spok, модуль входа для повторного использования и определения Spec), я мог бы сделать, чтобы лучше понять, что происходит (я тоже пользователь Eclipse, и я, для этого сценария переключился на IntelliJ).Пример Simplest Geb fail assert
Утверждай 2 и 3 не удается, потому что пустое значение сравнивается против моего ожидаемого название:
package pages
import geb.Browser
import geb.Page
class GooglePage extends Page {
static url = "http://www.google.com/"
static content = {
heading { $("title").text() }
}
static at = {
title == "Google" //1
$('title').text() == "Google" //2
heading == "Google" //3
}
}
Browser.drive{
to GooglePage
}
Выход из // 2 утверждают неудачу:
Caught: Assertion failed:
$('title').text() == "Google"
| | |
| "" false
[[[FirefoxDriver: firefox on WINDOWS (2c4f1f19-b4fc-4f1f-bb39-9e0e2459da58)] -> css selector: title]]
Выход // 3 утверждают неудачу:
Caught: Assertion failed:
heading == "Google" //3
| |
"" false
Только первое утверждение верно, это встроенный атрибут заголовка. Согласно документации http://www.gebish.org/manual/current/#at-checker существует несколько способов получить значение названия, но, кажется, я использую его неправильно.
То же самое происходит с помощью chromeTest, firefoxTest или phantomJS или выполняется из IntelliJ или gradlew через командную строку). Я перечитал некоторые части документации, но чем больше я читаю, тем меньше я понимаю.
Что я пропущу или не хватает?
Спасибо.
Спасибо за разъяснение! Я сказал неправильно: я имел в виду, что я смешал примеры, показанные в документации, это выбор элемента h1, ap, div и т. Д. Вы ничего не должны исправить, но, возможно, это будет полезно для некоторых учащихся Geb, таких как я видеть какие-либо советы при объяснении селекторов или свойств страницы. Я знаю, что на самом деле это не специфическое ограничение для geb, но поскольку он использует WebKit и предоставляет его методы, чтобы объект страницы не казался мне очевидным (для моего незнания WebKit), эти методы были там, потому что невозможно восстановить его значения другим способом. – exoddus