Предположим, у меня есть сложная конструкция с повторяющимися шаблонами, такими как длинная таблица с данными или как конструкции вложенности.Как «совместить» сложные шаблоны, такие как таблицы с геб-страницей?
Просто небольшой пример:
<div id="mycontroller1">
<div class="myfield1">Some text11</div>
<div class="myfield2">Some text12</div>
</div>
<div id="mycontroller2">
<div class="myfield1">Some text21</div>
<div class="myfield2">Some text22</div>
</div>
и пусть содержание этих дивы можно изменить яваскрипт и я хочу, чтобы проверить его. Я хотел бы написать что-то наподобие:
def 'Whether my page worked correctly'() {
when:
to MyPage
...
then:
assert mycontroller1.myfield1 == "Some text11"
assert mycontroller1.myfield2 == "Some text12"
assert mycontroller2.myfield1 == "Some text21"
assert mycontroller2.myfield2 == "Some text22"
}
То есть, поля доступа через элемент промежуточной иерархии (нота точки ноты).
Как бы мне написать определение страницы?
В настоящее время я подозреваю, что я знаю, как писать «плоский» путь
class MyPage extends Page {
static url ...
static at ...
static content = {
mycontroller1_myfield1 {
$('#mycontroller1 .myfield1').text()
}
mycontroller1_myfield2 {
$('#mycontroller1 .myfield2').text()
}
mycontroller2_myfield1 {
$('#mycontroller2 .myfield1').text()
}
mycontroller2_myfield2 {
$('#mycontroller2 .myfield2').text()
}
}
}
, которые позволяют проверить «плоское» (примечание подчеркивания)
def 'Whether my page worked correctly'() {
when:
to MyPage
...
then:
assert mycontroller1_myfield1 == "Some text11"
assert mycontroller1_myfield2 == "Some text12"
assert mycontroller2_myfield1 == "Some text21"
assert mycontroller2_myfield2 == "Some text22"
}
Как написать иерархическими?
Кроме того, я должен был написать поиск по номеру $('#mycontroller1
много раз, что выглядит чрезмерно. Если бы я смог выбрать какой-то блок, а затем добавить некоторые дополнительные варианты или проверки на этот блок - это было бы здорово.
Почему бы просто не назвать их 'myfield1' в блоке' content'? –
В некоторых случаях могут быть дубликаты. Например, многие формы на странице и т. Д. – Dims
Дублирующие идентификаторы ?? –