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

Публикации ekulgavaya

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



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

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

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


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



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

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

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

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


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



#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']"


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



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

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

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

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


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


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




#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 такова, что привязаться к конкретному тегу по классу очень сложно, про айдишники я вообще молчу. И все же, это реально, и отличное решение, но для этого, как говорилось раньше, нужно знать общий код какой-то, а так же отличие кода со скрепкой от кода с карандашиком. А по поводу имен, подозреваю, что далеко не для каждого теста вообще будут скрепки, а если и будут, то не с именами АФайл. Да и в будущем крайне не рекомендую вам привязываться к тексту.

С уважением.



#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')] 



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

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


alena b ,

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


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


Спасибо



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

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

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



#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, а потом проверьте, что появилось имя файла.



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

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

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


yaw)



#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()

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



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

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

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








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

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

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



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

Отправлено автор: ekulgavaya 22 августа 2011 - 12:34 в 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



#93325 подтвердить что элемента нет на странице

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

перегружается, не подойдет думаете?



Конечно подойдет) Просто способ другой) Тут уже подсказали.
1) WaitForPageToLoad(timeout)
2) assertFalse(selenium.isElementPresent(locator))



#93263 подтвердить что элемента нет на странице

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

если страница не перегружается (ajax-ом удаляется), воспользуйтесь методом waitForElementNotPresent()



#92551 Тест проходит успешно, но описанные действия для страницы не выполняют

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

Подозреваю, что все кнопки Next имеют одинаковы айди, а поскольку страница не перезагружается, то элементы просто перекрываются друг другом визуально. Селениум естественно такое не видит, поэтому жмет на первую кнопку. То есть кнопка Next продолжает нажиматься на первом табе. Попробуйте в локаторе указать таб, на котором лежит кнопка. Примерно вот так:
"//div[@id='tabStep2']//a[@id='btnNext']"
или
"//div[@id='tabStep2']//input[@id='btnNext']"
Хотя подозреваю, что кнопка все-таки это тег <a>



#92602 Тест проходит успешно, но описанные действия для страницы не выполняют

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

Может конечно глупый вопрос, но вы точно дожидаетесь появления этих кнопок?
Ведь они априори есть на странице, и isElementPresent всегда вернет true. Но судя по всему после нажатия кнопки Next у вас идет обработка ajax запроса.
Попробуйте сначала поставить банальную паузу, и если это сработает продумать, как именно дождаться кнопки. (Возможно, как говорил Vitalik_V , дождаться например свойства Visible=true.)



#92632 Тест проходит успешно, но описанные действия для страницы не выполняют

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

на Java это выглядит примерно так

public void waitForElement(java.lang.String elementName) throws InterruptedException {
        for (int second = 0; ; second++) {
            if (second >= 30) fail(" Element \"" + elementName + "\" isn't present");
            try {
                if (selenium.isElementPresent(elementName)) break;
            } catch (Exception e) {
            }
            Thread.sleep(1000);
        }
    }

Я бы рекомендовала несколько переопределить этот метод, поскольку ожидание указанных здесь 30-ти секунд может по факту занять несколько минут ( к примеру в ИЕ, с локаторами на Xpath.) Например вот так

	public void waitForElementPresent(String locator, int time) throws InterruptedException{
		long start = System.currentTimeMillis();
		while (System.currentTimeMillis() < start + time) {
			if ((selenium.isElementPresent(locator)))
				return;
			Thread.sleep(1000);
		}
		throw new AssertionError("The element " + locator + " still isn't present");
	}
Такой метод позволит вам контролировать время выполнения теста, поскольку ждать элемента вы будете ровно столько, сколько укажете в параметре time.



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

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

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



#82724 Помогите обработать несколько однотипных элементов:)

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

Сдается мне, что здесь проблема именно в том, что у нас уже задан атрибут div-a, то есть вот такое должно работать
selenium.doubleClick("//some_parent_element["+k+"]/div[@class='datacenter-ico']");

То есть нужно посмотреть может у всех этих иконок есть одинаковые родители. Чтоб было понятнее вот пример такого кода:
<table>
   	<tr>
       	<td>
              <div class = "datacenter-ico"> 
          	</div>
       	</td>
   	</tr>
   	<tr>
       	<td>
              <div class = "datacenter-ico"> 
          	</div>
       	</td>
   	</tr>
   	<tr>
       	<td>
              <div class = "datacenter-ico"> 
          	</div>
       	</td>
   	</tr>
</table>

Для него должен отрабатывать такой вот xpath
"//tr["+k+"]//div[@class='datacenter-ico']"



#82732 Помогите обработать несколько однотипных элементов:)

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

Это был просто пример, но да, Дмитрий, вы абсолютно правы, нужно добавить вот так
 "//Some_static_element//tr["+k+"]//div[@class='datacenter-ico']"



#93020 Очень хитрая форма регистрации на майл.ру

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

Надоело баниться на местном форуме, хочу забаниться на mail.ru :)

ИзображениеИзображение