Перейти к содержимому

Автоматизатор мобильных приложений
онлайн, начало 11 августа
Тестирование безопасности
онлайн, начало 11 августа
Тестирование мобильных приложений
онлайн, начало 11 августа
Автоматизация тестирования REST API на Python
онлайн, начало 11 августа
Фотография

Попасть в поле с динамическим ID


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 parsecnet

parsecnet

    Новый участник

  • Members
  • Pip
  • 15 сообщений

Отправлено 15 мая 2013 - 08:44

Добрый день!
И еще раз про поле с изменяющимся ID. Есть форма, слева названия полей, справа собственно поля. Каждый раз при загрузке полей у них меняется ID, Name итд. Не меняется только названия полей. Требуется ввести текст в поле.
Код, описывающий поле с названием "Название" :)
<tbody id="card-MM-27-new-record-edit-MM-28" class="x-field x-form-item x-field-default x-form-form-item x-form-invalid" 
style="border-width: 0px; table-layout: fixed;">
	<tr id="card-MM-27-new-record-edit-MM-28-inputRow">
		<td id="card-MM-27-new-record-edit-MM-28-labelCell" class="x-field-label-cell" width="105" valign="top" halign="left" style="">
		<label id="card-MM-27-new-record-edit-MM-28-labelEl" class="x-form-item-label x-form-item-label-left" 
		style="width:100px;margin-right:5px;" for="card-MM-27-new-record-edit-MM-28-inputEl">Название:</label>
		</td>
		<td id="card-MM-27-new-record-edit-MM-28-bodyEl" class="x-form-item-body " role="presentation" colspan="2" style="width: 100%;">
		<input id="card-MM-27-new-record-edit-MM-28-inputEl" class="x-form-field x-form-required-field x-form-text x-form-invalid-field" 
		type="text" autocomplete="off" style="width: 100%; -moz-user-select: text;" 
		name="card-MM-27-new-record-edit-MM-28-inputEl" size="1" aria-invalid="true" data-errorqtip="<ul><li>This field is required</li></ul>">
		</td>
	</tr>
</tbody>
Понимаю, что надо как то связать лабел "Название:" с соседним полем input id="card-MM-27-new-record-edit-MM-28-inputEl" с типом "Текст", но не умею. Помогите пожалуйста.
  • 0

#2 Vitalik_V

Vitalik_V

    Активный участник

  • Members
  • PipPip
  • 149 сообщений
  • ФИО:Виталий
  • Город:Харьков

Отправлено 15 мая 2013 - 09:32

Добрый день!
И еще раз про поле с изменяющимся ID. Есть форма, слева названия полей, справа собственно поля. Каждый раз при загрузке полей у них меняется ID, Name итд. Не меняется только названия полей. Требуется ввести текст в поле.
Код, описывающий поле с названием "Название" :)

<tbody id="card-MM-27-new-record-edit-MM-28" class="x-field x-form-item x-field-default x-form-form-item x-form-invalid" 
style="border-width: 0px; table-layout: fixed;">
	<tr id="card-MM-27-new-record-edit-MM-28-inputRow">
		<td id="card-MM-27-new-record-edit-MM-28-labelCell" class="x-field-label-cell" width="105" valign="top" halign="left" style="">
		<label id="card-MM-27-new-record-edit-MM-28-labelEl" class="x-form-item-label x-form-item-label-left" 
		style="width:100px;margin-right:5px;" for="card-MM-27-new-record-edit-MM-28-inputEl">Название:</label>
		</td>
		<td id="card-MM-27-new-record-edit-MM-28-bodyEl" class="x-form-item-body " role="presentation" colspan="2" style="width: 100%;">
		<input id="card-MM-27-new-record-edit-MM-28-inputEl" class="x-form-field x-form-required-field x-form-text x-form-invalid-field" 
		type="text" autocomplete="off" style="width: 100%; -moz-user-select: text;" 
		name="card-MM-27-new-record-edit-MM-28-inputEl" size="1" aria-invalid="true" data-errorqtip="<ul><li>This field is required</li></ul>">
		</td>
	</tr>
</tbody>
Понимаю, что надо как то связать лабел "Название:" с соседним полем input id="card-MM-27-new-record-edit-MM-28-inputEl" с типом "Текст", но не умею. Помогите пожалуйста.


//label[text()='Название']/parent::td/following-sibling::td/input
  • 1

#3 Krain

Krain

    Новый участник

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Ермошкин Сергей

Отправлено 15 мая 2013 - 09:45

Попробуйте использовать xpath:position
Для web-driver должно быть что-то вроде:
driver.findElement(By.xpath("//tr/td[1]")).clear();
driver.findElement(By.xpath("//tr/td[1]")).sendKeys("123");
driver.findElement(By.xpath("//tr/td[2]")).clear();
driver.findElement(By.xpath("//tr/td[2]")).sendKeys("qwe");
Для selenium IDE в формате HTML во вкладке Table меняете Target на xpath:position и все)
  • 0

#4 grinder

grinder

    Новый участник

  • Members
  • Pip
  • 18 сообщений

Отправлено 15 мая 2013 - 10:47

//label[text()='Название']/parent::td/following-sibling::td/input


Ну или более читабельно:

//label[text()='Название:']/../../td/input

  • 0

#5 parsecnet

parsecnet

    Новый участник

  • Members
  • Pip
  • 15 сообщений

Отправлено 15 мая 2013 - 11:45

//label[text()='Название']/parent::td/following-sibling::td/input


Помогло, спасибо большое!
  • 0

#6 parsecnet

parsecnet

    Новый участник

  • Members
  • Pip
  • 15 сообщений

Отправлено 17 мая 2013 - 09:47

Прошу помочь с новой проблемой из той же серии.
Код
<tbody>    
	<tr>
		<td id="" class="x-table-layout-cell " rowspan="1" colspan="2">
			<label id="label-1038" class="x-component x-component-default" for="" 
			style="border-width: 0px; background-color: transparent;">Идентификатор</label>
		</td>
	</tr>
	<tr>
		<td id="" class="x-table-layout-cell " rowspan="1" colspan="1">
		<td id="" class="x-table-layout-cell " rowspan="1" colspan="1">
			<table id="filter-MM-30-edit" class="x-field x-form-item x-field-default x-table-form-item x-form-dirty" cellpadding="0" 
			style="border-width: 0px; table-layout: fixed;">
				<tbody>
					<tr id="filter-MM-30-edit-inputRow">
						<td id="filter-MM-30-edit-labelCell" class="x-field-label-cell" 
						width="105" valign="top" halign="left" style="display:none;">
						<td id="filter-MM-30-edit-bodyEl" class="x-form-item-body " 
						role="presentation" colspan="3" style="width: 150px;">
							<input id="filter-MM-30-edit-inputEl" 
							class="x-form-field x-form-text x-form-focus x-field-form-focus x-field-default-form-focus" 
							type="text" autocomplete="off" style="width: 100%; -moz-user-select: text;" 
							name="filter-MM-30-edit-inputEl" size="1" aria-invalid="false" data-errorqtip="">

Требуется связать лабел "Идентификатор" с полем с динамическиv ID <input id="filter-MM-30-edit-inputEl"
  • 0

#7 parsecnet

parsecnet

    Новый участник

  • Members
  • Pip
  • 15 сообщений

Отправлено 17 мая 2013 - 10:05

сам спросил, сам разобрался! Всем большое спасибо!
  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале