Я столкнулся с проблемой при тестировании простой страницы опроса html, созданной для самообучения на основе https://www.freecodecamp.org/learn/responsive-web-design/responsive-web-design-projects/build-a-survey-form. Когда я пытаюсь проверить, заполнено ли поле ввода с помощью ключевого слова Element text should be
, он постоянно выдает ошибку The text of element 'id=name' should have been 'Test Name' but it was ''
, но скриншот селена, сделанный во время теста, показывает, что текст был введен правильно.
Для устранения проблемы я прокомментировал большую часть кода и попробовал протестировать только одно поле ввода.
опрос. html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Survey Form</title>
</head>
<body>
<h1 id="title">Survey Form</h1>
<p id="description">Thank you for taking the time</p>
<div class="container">
<form id="survey-form">
<div>
<label for="name" id="name-label">Name:</label>
<input type="text" name="name" id="name" placeholder="Enter your name"/>
</div>
</form>
</div>
</body>
</html>
Тесты написаны с использованием BDD соглашения.
Survey_tests.robot
** Settings **
Library Selenium2Library
Test Teardown Close Browser
** Variables **
${SURVEY PAGE} an/absolute/path/to/survey.html
${BROWSER} Chrome
** Test Cases **
Check name input
When Survey Page is opened
Given User fill the name field with 'Test Name'
Then Element name contains 'Test Name'
** Keywords **
Survey Page is opened
Open Browser ${SURVEY PAGE} ${BROWSER}
User fill the name field with '${name}'
Input Text id=name ${name}
Element name contains '${name}'
Element Text Should Be id=name ${name}
Я использую: Python 3.7.5
robotframework-selenium2library 3.0.0
и я тестировал код с Chrome в версиях 79, 81, 83.