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

Публикации parsecnet

15 публикаций создано parsecnet (учитываются публикации только с 29 марта 2023)


#118311 Выбрать элемент в списке элемента shuttle

Отправлено автор: parsecnet 29 мая 2013 - 13:08 в Selenium - Functional Testing

Ларчик просто открывался :acute:/>

select | id=TYPES_LEFT | label=Значение 1



#118307 Выбрать элемент в списке элемента shuttle

Отправлено автор: parsecnet 29 мая 2013 - 11:22 в Selenium - Functional Testing

Нет



#118299 Выбрать элемент в списке элемента shuttle

Отправлено автор: parsecnet 29 мая 2013 - 09:49 в Selenium - Functional Testing

Добрый день!
На странице есть элемент типа shuttle - два поля, в левом список значений, они выбираются и после нажатия на стрелку переносятся в правое поле (см. картинку)
<select id="TYPES_LEFT" style="width : 480px;" size="5" multiple="multiple">
 <option value="1" >Значение 1</option>
 <option value="2" >Значение 2</option>

Не могу кликнуть на значении из списка, так что бы оно выделилось. Пробовал click, mouseDown/mouseUp. Локатор находит эту строку, но выделить ее не получается. Помогите.

Прикрепленные изображения

  • Захват-1.jpg



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

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

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



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

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

Прошу помочь с новой проблемой из той же серии.
Код
<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"



#117831 Нажать на кнопку с выпадающим списком

Отправлено автор: parsecnet 15 мая 2013 - 12:39 в Selenium - Functional Testing

Ошибка: указанный элемент не является селектом



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

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

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


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



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

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

Добрый день!
И еще раз про поле с изменяющимся 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" с типом "Текст", но не умею. Помогите пожалуйста.



#117750 Нажать на кнопку с выпадающим списком

Отправлено автор: parsecnet 14 мая 2013 - 06:01 в Selenium - Functional Testing

какая ошибка происходит? Куда проходит клик?

В том то и дело, кнопка нажимается, подсвечивается, что нажата, только список этот выпадающий не выпадает. Если я руками на стрелку эту нажимаю, выпадает список и дальше селениум уже сам пашет, выбирает справочники и все что угодно.



#117730 Нажать на кнопку с выпадающим списком

Отправлено автор: parsecnet 13 мая 2013 - 12:47 в Selenium - Functional Testing

Добрый день!
Не могу нажать на кнопку. На сайте выглядит см.
Код
<div id="main-menu-btn-select-func" class="x-btn x-box-item x-toolbar-item x-btn-default-toolbar-medium x-icon-text-left x-btn-icon-text-left x-btn-default-toolbar-medium-icon-text-left" style="border-width: 1px; left: 141px; top: 0px; margin: 0px;">
<em id="main-menu-btn-select-func-btnWrap" class="x-btn-split x-btn-split-right">
<button id="main-menu-btn-select-func-btnEl" class="x-btn-center" autocomplete="off" role="button" hidefocus="true" type="button" style="height: 24px;">
<span id="main-menu-btn-select-func-btnInnerEl" class="x-btn-inner" style="">Администрирование</span>
<span id="main-menu-btn-select-func-btnIconEl" class="x-btn-icon " style="background-image: url("images/led-icons/hammer_screwdriver.png");"></span>
</button>
</em>
</div>
Собственно, если просто нажимать на кнопку ничего не происходит. Необходимо попасть по стрелочке справа, тогда должен появиться выпадающий список "Структура", "Справочники" итд. Собственно строка со стрелочкой
<em id="main-menu-btn-select-func-btnWrap" class="x-btn-split x-btn-split-right">.
Не могу нажать на эту стрелку, чтобы появился список. Нажимаю так:
click | id=main-menu-btn-select-func-btnWrap
Помогите пожалуйста.

Прикрепленные изображения

  • Захват-1.jpg



#114900 verifyValue vs try catch

Отправлено автор: parsecnet 21 февраля 2013 - 11:12 в Selenium - Functional Testing

Нет, на практике убедился, пишет что именно не проходит. Буквально так:

org.junit.ComparisonFailure: expected:<Ленина п[р-кт]> but was:<Ленина п[л]>

Т.е. проверка ожидала найти проспект Ленина, а вместо этого нашла площадь :biggrin:



#114862 verifyValue vs try catch

Отправлено автор: parsecnet 20 февраля 2013 - 14:39 в Selenium - Functional Testing

fail(verificationErrorString); - сгенерирует Exception, в котором и будут перечислены все ошибки verify.

Вот собственно это я и пытаюсь выяснить с самого начала - где увидеть эти ошибки?
Но кажется я решил эту проблему, добавил после
if (!"".equals(verificationErrorString)) {
System.out.println(verificationErrorString);

После чего в консоли можно увидеть, что собственно отваливается.



#114768 verifyValue vs try catch

Отправлено автор: parsecnet 19 февраля 2013 - 10:18 в Selenium - Functional Testing

Т.е, если я правильно понял, наличие ошибки в строке fail(verificationErrorString) - это на самом деле не ошибка, а некритичная погрешность. Я на примере поясню, в том тесте, который я делал, в поле должна отображаться определенная сумма. И на странице с формой она отображается. Однако, на самом деле в этом поле перед собственно числом стояли невидимые глазом пробелы. На такой проверке возникала ошибка:
try {
assertEquals("10000", driver.findElement(By.id("PAYMENT")).getAttribute("value"));
} catch (Error e) {
verificationErrors.append(e.toString());
}

А так тест проходил полностью успешно:
try {
assertEquals(" 10000", driver.findElement(By.id("PAYMENT")).getAttribute("value"));
} catch (Error e) {
verificationErrors.append(e.toString());
}
После того, как добавил в строку getAttribute("value").trim() все стало хорошо.



#114756 verifyValue vs try catch

Отправлено автор: parsecnet 19 февраля 2013 - 06:13 в Selenium - Functional Testing

Это не у меня много ошибок, это Selenium Ide так экспортировал :biggrin: . DOC_DATE - да это переменная, поле с датой.
Методом последовательного включения проверок я выяснил в каком месте ошибка. Но это не снимает вопроса. По Вашему совету, я удалил из tearDown() все кроме driver.quit(); тест проходит, но если я делаю намеренную ошибку в строке проверки, то тест тоже проходит. Это как то неправильно.



#114730 verifyValue vs try catch

Отправлено автор: parsecnet 18 февраля 2013 - 10:04 в Selenium - Functional Testing

Добрый день!
Помогите пожалуйста начинающему. Логика теста такова. Пользователь на форме заполняет поля, некоторые поля должны заполниться автоматически, нажимает "Сохранить", запись падает в БД. Открываем журнал заявок, загружаем поступившую заявку, проверяем корректность заполнения полей (во первых, то что заполнены, во вторых, то что подгрузились данные в поля, заполняемые автоматически). Поскольку в Java кодинге полный ноль, экспортировал из Selenium Ide в Java. Соответственно, получил конструкции типа:

try {
assertEquals(DOC_DATE, driver.findElement(By.id("DOC_DATE")).getAttribute("value"));
} catch (Error e) {
verificationErrors.append(e.toString());
}
итд.
Тест отваливается, дебаггер указывает на это:
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
конкретно на выделенную строку. Понятно, что какая то проверка не прошла. Теперь вопрос, как собственно узнать, какая?