Как сделать тест Selenium для страницы с текстовым полем, имя которого постоянно меняется? - PullRequest
1 голос
/ 07 октября 2010

Я пытаюсь создать тест, который может ввести имя пользователя и пароль в форму входа на странице.Однако имя текстового поля меняется при каждой загрузке страницы, и поэтому тест останавливается при каждом его запуске.

Как настроить Selenium IDE, чтобы он мог идентифицировать текстовое поле при обновлении?*

Ответы [ 4 ]

4 голосов
/ 07 октября 2010

Я предполагаю, что текстовое поле каждый раз меняет только часть идентификатора, а не весь идентификатор.

Чтобы поработать с этим, я бы порекомендовал использовать xpath, как люди описали выше, но сделать его более надежным, так как он находит только этот элемент каждый раз.

, например

//input[contains(@id,'thePartOfTheIdThatNeverChanges')]

или

//input[starts-with(@id,'thePartOfTheIdThatNeverChanges')]

или

//input[ends-with(@id,'thePartOfTheIdThatNeverChanges')]

2 голосов
/ 07 октября 2010

// form 1 (3) - Первый элемент формы в HTML

В качестве примера взят из здесь . Используется XPath.Теоретически вы можете использовать XPath , чтобы сосредоточиться на разборе структуры XHTML, однако это довольно хрупко, так что это не обязательно разумно, но нужно позаботиться о вашей проблеме.*

1 голос
/ 12 октября 2010

Я бы порекомендовал CSS, потому что - а.для читабельности б.для простоты доступа (и, в вашем случае, ремонтопригодности).

Я использую firebug для доступа / формулирования идентификатора CSS.

1 голос
/ 07 октября 2010

Меняется ли расположение текстового поля или только имя?

Вы можете использовать селектор css или xpath, чтобы получить текстовое поле, если оно находится в том же месте.

...