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

Публикации ekulgavaya

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



#82733 Один в поле воин!

Отправлено автор: ekulgavaya 04 января 2011 - 14:47 в Личный рост, карьера, развитие

у нас соотношение примерно 3:1, хотя в последнее время тестировщиков становится больше



#79564 Как прописать в локатор путь к элементу с переменным id ?

Отправлено автор: ekulgavaya 04 ноября 2010 - 17:06 в Selenium - Functional Testing

Отличие только в id в верхней строчке и в тексте во втором вложенном div?



#79566 Симуляция нажатия комбинации клавиш в Selenium RC.

Отправлено автор: ekulgavaya 04 ноября 2010 - 17:09 в Selenium - Functional Testing

Есть функции типа altKeyDown() и altKeyUp() - для имитации нажатия Alt



#92476 элементы с одинаковыми характеристиками

Отправлено автор: ekulgavaya 11 августа 2011 - 10:57 в Selenium - Functional Testing

Нашла у себя в заначке малюсенький туториал с подобным случаем ( когда-то писала для юных дарований), надеюсь, Женя, он будет вам полезен.Прикрепленный файл  XpathCreateExample.rar   440,81К   17 Количество загрузок:



#92441 элементы с одинаковыми характеристиками

Отправлено автор: ekulgavaya 11 августа 2011 - 06:25 в Selenium - Functional Testing

Если уж мы спустились до
//img[contains(@src,'addFile.png')]/../input
то я не понимаю, чем плох вариант
xpath=//input[@name='myfile'][i]
Ведь его имя как раз свидетельствует о том, что этот инпут работает с файлом.
К тому же, просмотрев еще раз код, поняла, что можно добавить

xpath=//input[@name='myfile' and contains(@id, 'myfile')] 



#92480 элементы с одинаковыми характеристиками

Отправлено автор: ekulgavaya 11 августа 2011 - 11:13 в Selenium - Functional Testing

Вот более общий кусок кода. такого хватит?


Это немножко не то) Но исходя из этого кода можно сделать следующее
1) нумерацию (То самое i) привязывать вот к этому элементу
<div class="x-grid3-row ux-maximgb-tg-level-1   " style="width: 658px; ">
То есть локатор будет содержать следующее
div[contains(@class, 'ux-maximgb-tg-level-1')]
вместо ux-maximgb-tg-level-1 можно вставить только ту часть, которой этот класс отличается от остальных
2) Нужно будет каким-то образом указать элемент (общий, про который говорилось выше), где лежат эти div-ы ( пусть это будет
<div name = "personal-info-table" > </div>
) Поищите сами на страничке. Таким образом у нас уже имеется
"//div[@name='personal-info-table'] // div[contains(@class, 'ux-maximgb-tg-level-1')][i]"
3)Теперь можно из каждого такого div-a выбрать нужный инпут:
"//div[@name='personal-info-table'] // div[contains(@class, 'ux-maximgb-tg-level-1')][i]//input[@name='myfile']"


Надеюсь, что помогла вам



#92492 элементы с одинаковыми характеристиками

Отправлено автор: ekulgavaya 11 августа 2011 - 13:48 в Selenium - Functional Testing

Хм, а Вы уверены, что элемент подгрузился, к тому моменту когда скрипт на него нажимает?

там на событие клика по скрепке не появляется никакой команды


где не появляется?



#92529 элементы с одинаковыми характеристиками

Отправлено автор: ekulgavaya 12 августа 2011 - 08:12 в Selenium - Functional Testing

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


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



#92513 элементы с одинаковыми характеристиками

Отправлено автор: ekulgavaya 12 августа 2011 - 06:16 в Selenium - Functional Testing

Ну теперь, если посмотреть на код, который вы присылали раньше, а именно вот сюда
<input type="file" name="myfile" id="myfile259_10" size="1" class="file-uploader" title="Редактировать" onchange="uploadFile('259_10', 7);">
Это код именно того элемента, по которому вы кликаете, обратите внимание на аттрибут id="myfile259_10"Теперь, если посмотреть на скрин, который вы прислали, вот здесьimg.png Видно, что Селениум даже и не пытается кликать по нему, и отлавливать форму загрузки файла ( она у вас очевидно стандартная), а сразу вводит в этот инпут путь к загружаемому файлу.


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



#92424 элементы с одинаковыми характеристиками

Отправлено автор: ekulgavaya 10 августа 2011 - 17:12 в Selenium - Functional Testing


alena b ,

Не могли бы вы привести пример, как от привязки к тексту в данном конкретном случае перейти непосредственно к скрепке?
Ведь, очевидно же, что текст, которому соответствует скрепка лежит в другом <td>, который не является ни parent ни сhild для скрепки. Соответственно, после того, как будет найден тег с текстом, нужно будет возвращаться на один элемент вверх по иерархии, а потом переходить к тегу со скрепкой.


По поводу картинок. здесь ситуация та же самая. Тег с картинкой является вложенным для искомого. Остается надежда на то, что карандашик - Input другого типа, либо вообще не Input.


Спасибо



#92470 элементы с одинаковыми характеристиками

Отправлено автор: ekulgavaya 11 августа 2011 - 10:14 в Selenium - Functional Testing

"//table[@id='sometable']/tr[" + i + "]//input[@name='myfile']"


Именно для этого я и попросила общий кусочек кода.

(желательно-обязательно уникальным) как здесь АФайл


А откуда вы знаете какое имя будет у этого элемента? Или тесты нужно затачивать под какие-то конкретные значения?

Уважаемая Алена, если Вы прочитали так много туториалов по Xpath, то и привели бы решение, а не занимались абстракцией. Думаю, раз человек обратился на форум за помощью, он ждет решения, а не философских мыслей.

Только не надо злиться и обижаться=)




#92422 элементы с одинаковыми характеристиками

Отправлено автор: ekulgavaya 10 августа 2011 - 16:22 в Selenium - Functional Testing

Если уж на то пошло, Алена Б, то специфика extjs такова, что привязаться к конкретному тегу по классу очень сложно, про айдишники я вообще молчу. И все же, это реально, и отличное решение, но для этого, как говорилось раньше, нужно знать общий код какой-то, а так же отличие кода со скрепкой от кода с карандашиком. А по поводу имен, подозреваю, что далеко не для каждого теста вообще будут скрепки, а если и будут, то не с именами АФайл. Да и в будущем крайне не рекомендую вам привязываться к тексту.

С уважением.



#92417 элементы с одинаковыми характеристиками

Отправлено автор: ekulgavaya 10 августа 2011 - 13:58 в Selenium - Functional Testing

Здравствуйте Jenka156,

Попробуйте
xpath=//input[@name='myfile'][i] 
i - номер скрепки


Вообще перед этим целесообразно посчитать сколько скрепок, чтоб не тыкать в никуда)
должен быть метод
getXpathCount ("xpath=//input[@name='myfile']")
. Однако это недоступно посредством Selenium IDE.


Если этот способ не сработает, пришлите пожалуйста хотя бы пару тегов общих для этих скрепок ( они же лежат в одной таблице, лежащей в теге div ).




#82730 Selenium 2.0 + IFrames

Отправлено автор: ekulgavaya 04 января 2011 - 13:53 в Selenium - Functional Testing

А если попробовать
WebElement link = driver.findElement(By.partialLinkText("Profile"));

или
WebElement link = driver.findElement(By.xpath("//li[@id='editProfile']/a" ));



#82722 Selenium 2.0 + IFrames

Отправлено автор: ekulgavaya 04 января 2011 - 11:18 в Selenium - Functional Testing

Может быть дело в том, что id("editProfile") имеет не ссылка а элемент списка, попробуйте добраться к этому элементу используя, например, css
"css=li#editProfile > a"
или xpath
"//li[@id='editProfile']/a"

Я имею ввиду, что скорее всего нужно нажимать именно на ссылку
<a href="blah-blah-blah"> Link </a>



#94131 не выбирается элемент списка

Отправлено автор: ekulgavaya 14 сентября 2011 - 07:26 в Selenium - Functional Testing

А если вместо списка селекта используются дивы, то такая конструкция не работает:
selenium.select("//div[@id='ext-gen374']", "label=Item 4");

Подскажите пожалуйста как побороться с ней:
<div id="ext-gen372" class="класс_нэйм1" style="...">
<div id="ext-gen374" class="класс_нэйм2" style="...">
<div class="класс_нэйм3">Item 1</div>
<div class="класс_нэйм3">Item 2</div>
<div class="класс_нэйм3">Item 3</div>
<div class="класс_нэйм3">Item 4</div>
<div class="класс_нэйм3">Item 5</div>...
</div>
</div>

Спасибо



Во-первых, циферка в айдишке после каждого открытия страницы будет новая, поэтому к ней привязываться не нужно. Я бы попробовала искать элементы по классу
Сначала подождать пока что-то появится
waitForElementPresent("//div[@class='класс_нэйм1']/div[@class='класс_нэйм2']/div[@class='класс_нэйм3']")
А потом уже кликать
selenium.click("//div[@class='класс_нэйм1']/div[@class='класс_нэйм2']/div[@class='класс_нэйм3']")
или
selenium.click("css=div.класс_нэйм1>div.класс_нэйм2>div.класс_нэйм3")
или
selenium.click("//div[@class='класс_нэйм1']/div[@class='класс_нэйм2']/div[@class='класс_нэйм3'[i]]")
где i= от 0 до getXpathCount("//div[@class='класс_нэйм1']/div[@class='класс_нэйм2']/div[@class='класс_нэйм3']")



#82520 Confirmation Messages

Отправлено автор: ekulgavaya 24 декабря 2010 - 15:52 в Selenium - Functional Testing

$this->assertTrue((bool)preg_match("/^Данные были изменены. В случае ухода со страницы ваши изменения будут потеряны. [\s\S]$/"));

результат возвращает false, я так понимаю потому что не видит появившегося окна конфирмейшена? при этом когда я задаю
$this->assertFalse((bool)preg_match("/^Данные были изменены. В случае ухода со страницы ваши изменения будут потеряны. [\s\S]$/"));


Условие в скобочках в обоих случаях возвращает false, просто во втором случае вы этого и ожидаете ( то есть это не подтверждение того. что на странице что-то появилось)

причём когда я руками прохожу по приложению в этом месте конфирмейшн не возникает


Как это не возникает? совсем-совсем что ли?



#83243 Confirmation Messages

Отправлено автор: ekulgavaya 18 января 2011 - 13:35 в Selenium - Functional Testing

ну я наоборот видела ( имею ввиду, что алерты при выполнении автотестов е видны), а вот так вот... Прям мистика



#83297 Confirmation Messages

Отправлено автор: ekulgavaya 19 января 2011 - 15:09 в Selenium - Functional Testing

посмАтрела я ваше видео. Диагноз не поставила. Соковня



#93239 увеличить время ожидания ответа

Отправлено автор: ekulgavaya 26 августа 2011 - 11:49 в Selenium - Functional Testing

Возможно проблема в чем-то другом. А какой порт вы используете? Проходили ли тесты раньше?








#93249 увеличить время ожидания ответа

Отправлено автор: ekulgavaya 26 августа 2011 - 13:44 в Selenium - Functional Testing

Похоже, это не проблема Seleniuma
http://netbeans.org/...g.cgi?id=190086
http://saucelabs.com...topic.php?id=65



#93054 увеличить время ожидания ответа

Отправлено автор: ekulgavaya 23 августа 2011 - 13:48 в Selenium - Functional Testing

Почитала в интернетах. Есть у пхп такой метод
void setTimeout(int $timeout) - Set the timeout for the connection to the Selenium RC server.

http://www.phpunit.d...n/selenium.html
Вот здесь его видела

сколько бы времени я ни указывала в параметре waitForPageToLoad()

Потому что в этом методе как раз используется таймаут селениума, а не кастомный.



#92978 увеличить время ожидания ответа

Отправлено автор: ekulgavaya 22 августа 2011 - 12:18 в Selenium - Functional Testing

есть метод setTimeout( milliseconds )



#92980 увеличить время ожидания ответа

Отправлено автор: ekulgavaya 22 августа 2011 - 12:34 в Selenium - Functional Testing

Нет, этот метод устанавливает именно тот таймаут, который вам нужен. Просто установить его нужно в самом начале теста, или хотя бы перед первой загрузкой "проблемной" страницы



#93060 увеличить время ожидания ответа

Отправлено автор: ekulgavaya 23 августа 2011 - 15:01 в Selenium - Functional Testing

ооо.... спасибо большое! видимо я как то невнимательно искала в инете. да и нетбинс мне этого метода не показывает...


yaw)