Страница robotframework должна содержать переменную Textfield со случайным вводом - PullRequest
1 голос
/ 08 января 2020

robotframework

Я использовал этот код:

Page Should Contain Textfield    xpath: //*[contains(text(), "${date}")]

Но это поиск буквально (голландский: letterlijk)

Фактическое содержание может быть:

value-example1 $ {date} value-example2

Таким образом, может быть некоторый текст спереди и немного текста после переменной ...

Я пробовал это, но это не сработало

Page Should Contain Textfield    xpath: //*[contains(text(), "*${date}"*)]

так * до $ {date} и * после $ {date} ..... (но это не работает)

1 Ответ

1 голос
/ 09 января 2020

Причина xpath: //*[contains(text(), "*${date}"*)] не сработала в том, что xpath будет искать текст с буквенными звездочками. Вам не нужны звездочки, contains позаботится об этом, потому что ищет запрашиваемую строку в любом месте текста элемента.

Вот пример использования contains. Сначала сохраните следующее в /tmp/example.html:

<html><body>
<div><h1>Some text, January 1, 2020, and more text </h1>
</body></html>

Затем сохраните это в example.robot:

*** Settings ***
Library  SeleniumLibrary

Suite Setup     open browser  ${URL}  ${BROWSER}
Suite Teardown  Close all browsers

*** Variables ***
${URL}      file:///tmp/example.html
${BROWSER}  chrome
${date}     January 1, 2020

*** Test Cases ***
Example
    Page should contain element  xpath://*[contains(text(), "${date}")]

Когда вы запустите этот тест с роботом, он должен пройти, потому что элемент содержит строку, хранящуюся в ${date}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...