TDD Ruby с Capybara: как использовать Capybara для проверки определенных значений страницы в определенных элементах страницы

Не проверено, возможно, неправильно, но должно дать вам хороший начальный момент в том, как он должен работать:

*char[] str_split(char* str, char delim) {

    int begin = 0;
    int end = 0;
    int j = 0;
    int i = 0;
    char *buf[NUM];

    while (i < strlen(str)) {

        if(*str == delim) {

            buf[j] = malloc(sizeof(char) * (end-begin));
            strncpy(buf[j], *(str + begin), (end-begin));
            begin = end;
            j++;

        }

        end++;
        i++;

    }

    return buf;

}
0
задан Werdna 1 February 2019 в 09:03
поделиться

1 ответ

Вам просто нужно рассчитывать на элемент, который вы хотите проверить внутри - например,

heading = page.find('li#campaign_1 .media-heading.name')
expect(heading).to have_content('Campaign_1')

Другой вариант (более полезный, когда у вас есть несколько вещей для проверки) - это метод within, который охватывает на что ссылается page

within 'li#campaign_1 .media-heading.name' do
  # here page will refer to the .name element
  expect(page).to have_content('Campaign_1')
end

Наконец, вы можете просто сделать все это в одном ожидании, используя опции text или exact_text

expect(page).to have_css('li#campaign_1 .media-heading.name', text: 'Campaign_1')

Объединение нескольких из этих методов вместе дадут

within 'li#campaign_1' do
  expect(page).to have_css('.media-heading.name', text: 'Campaign_1'
  expect(page).to have_css('.media-heading.country', text: 'United Kingdom')
end
0
ответ дан Thomas Walpole 1 February 2019 в 09:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: