Обработка тега <br>в xpath через огурец - PullRequest
0 голосов
/ 21 ноября 2018

Я использую огурец с каркасами Selenide, у меня есть следующий шаг в файле regression.feature огурца:

Then Check if has a section labelled "Foo bar foo bar"

В файле Steps.java у меня есть:

@Then("^Check if has a section labelled \"([^\"]*)\"$")
public void checkThatHomePageHassectionLabelled(String arg0) throws Throwable {
    servicesSectionCheck(arg0);
}

И я хотел бы проверить, если:

public static void servicesSectionCheck(String name) {
    $(byXpath("//h1[(text()='" + name + "')]")).shouldBe(visible);
}

Проблема иногда в том, что браузер меньше (проблема RWD), HTML выглядит как

<div id="services" class="page_section row">
<input type="hidden" id="Count1" value="4">
<input type="hidden" id="Count2" value="2">
<input type="hidden" id="Count3" value="10">
<input type="hidden" id="loadMoreServicesURL" value="anURLhere">
<input type="hidden" id="portletNamespace" value="_serviceslist_INSTANCE_t8TJHYdgnwCu_"> 
<div class="col-12 desktop-padding"> 
    <div class="d-none d-sm-block margin-top-50"></div> 
    <h1 class="text-center d-none d-sm-block">Foo bar <br> foo bar</h1> 
<div class="d-none d-sm-block margin-bottom-40"></div>(...)

А иногда

<h1 class="text-center d-none d-sm-block">Foo bar foo bar</h1>

Как установить Xpath в функции servicesSectionCheck для передачи, несмотря на то, присутствует тег <br> или нет?

1 Ответ

0 голосов
/ 21 ноября 2018

Вместо оценки дочернего текстового узла (text()) вы можете оценить строковое представление заголовка:

//h1[normalize-space()='" + name + "']
...