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

Публикации contestar

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



#83428 никак не могу кликнуть на td

Отправлено автор: contestar 24 января 2011 - 09:11 в Selenium - Functional Testing

Не совсем уверен, что мой комментарий относится к вашей ситуации, но - у меня была проблема с нажатием на кнопку, которая находилась в таблице. Selenium RC никак не мог её найти - были испробованы всевозможные локаторы и методы. Из англоязычных форумов вычитал о том, что selenium действительно может иметь проблемы с таблицами. Удалось решить проблему только через java.Robot (попробуйте). И второе решение проблемы - использование selenium webdriver.
Успехов.



#76294 Требуется QA инженер

Отправлено автор: contestar 12 июня 2010 - 15:11 в Работа/Санкт-Петербург

вы как-нибудь связаны с Developonbox (Zodiac Inc.)?



#78085 Тестирование drop-down lists при помощи Selenium

Отправлено автор: contestar 20 сентября 2010 - 07:14 в Selenium - Functional Testing

Предполагаю, что вам подойдет это:
selenium.click(dropdown); //раскрываем dropdown(локатор укажите свой)
int countItems = (selenium.getXpathCount("//select[@name='ddObjectType']/option")).intValue(); //таким образом выясним количество элементов
for (int i=1; i <= countItems; i++) { //пройдемся по каждому, начиная с первого и исключая 0
selenium.click("//select[@name='ddObjectType']/option[" + i + "]");
selenium.click(dropdown); //повторное раскрытие dropdown списка после каждого клика
Вроде так. Попробуйте, возможно потребуется немного изменить локаторы



#78081 Тестирование drop-down lists при помощи Selenium

Отправлено автор: contestar 18 сентября 2010 - 21:47 в Selenium - Functional Testing

Допустим, все записи в дропдаун листе имеет такой вид:
//div/span[@label='item1']
//div/span[@label='item2']
Отличаются только лейблами.

можно выбрать элемент так:
selenium.click("//div/span[1]");  //Будет выбран 1-й элемент в списке
selenium.click("//div/span[2]");  //Будет выбран 2-й элемент в списке



#77491 Работа с диалоговыми окнами в Selenium

Отправлено автор: contestar 13 августа 2010 - 17:09 в Selenium - Functional Testing

Судя по использованию RenderedWebElement, товарищ, который задавал вопрос, работает с Selenium 2.0 (а может быть даже с чистым WebDriver), поэтому ему Ваш способ скорее всего не подойдёт, увы.


возможно вы правы, я еще ни разу не использовал selenium 2.0



#77472 Работа с диалоговыми окнами в Selenium

Отправлено автор: contestar 11 августа 2010 - 18:47 в Selenium - Functional Testing

selenium.chooseOkOnNextConfirmation()
selenium.click("yourButton")

попробуйте это, если я правильно вас понял.



#85693 Проблема: Selenium не видит элементов после работы с апплетом

Отправлено автор: contestar 16 марта 2011 - 08:24 в Selenium - Functional Testing

Вызывал через selenium.click("link = Min konto")
selenium.click("X-path элемента")
Получилось вызвать через selenium.click("//div[@id='navigation']/ul/li[1]/a/span"). Не знаю почему через X-path не прошло, по сути должно было сработать. В процессе поиска решения возник вопрос: возможно ли кликнуть в данном случае именно по имени, так как нужно проверять в то же время и название этого меню?

Неверно был задан локатор - вот в чём была ваша проблема. В ответ на ваш вопрос могу предложить следующее:
selenium.click(//div[@id='navigation']/ul/li[1]/a/span[text()='Min konto']) или же вообще сократить до selenium.click("//span[text()='Min konto']"), если подобного элемента больше нет на странице.



#85653 Проблема: Selenium не видит элементов после работы с апплетом

Отправлено автор: contestar 15 марта 2011 - 08:31 в Selenium - Functional Testing

Приведите пример какого-либо элемента из этого окна. Во-первых, сам код элемента, а во-вторых - как вы к нему обращаетесь.
И как вы определили, что окно именно то?



#85619 Проблема: Selenium не видит элементов после работы с апплетом

Отправлено автор: contestar 14 марта 2011 - 14:02 в Selenium - Functional Testing

selenium.selectWindow("windowID) - должно помочь.



#87416 Примеры регламент работы группы тестирования

Отправлено автор: contestar 21 апреля 2011 - 20:15 в Управление тестированием

Для начала набросайте простую диаграмму (пример в аттаче).

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

  • process.png



#84378 Организация процесса тестирования "с нуля"

Отправлено автор: contestar 15 февраля 2011 - 07:52 в Управление тестированием

Oregu, вам надо взять всё в свои руки и наладить тесный контакт с разработчиками. От них вы узнаете о продукте больше, чем от кого-либо.



#82462 Нужна помощь в нажатие на кнопку

Отправлено автор: contestar 23 декабря 2010 - 13:57 в Selenium - Functional Testing

$this->selenium->click("link=Создать");
sleep(5);
$this->chooseOkOnNextConfirmation();
ну и далие тест.
Попробуй так....отпишеш..

chooseOkOnNextConfirmation() должен быть перед кликом. А после него - getConfirmation().
chooseOkOnNextConfirmation();
click("link=Создать");
getConfirmation();



#78170 На что можно раccчитывать

Отправлено автор: contestar 22 сентября 2010 - 07:02 в Ищу работу!

Здесь опубликована статья о вилке зарплат. Достаточно точно. Посмотрите.



#78194 На что можно раccчитывать

Отправлено автор: contestar 22 сентября 2010 - 19:01 в Ищу работу!

А я сильно сомневаюсь, что точно

Ок, давайте обсудим. Я могу делать выводы только по Петербургу. Согласен со всеми цифрами, за исключением максимального оклада. Он зависит от объёма выполняемых задач + опыт + навыки и толстого кошелька работодателя. Может быть равен и 100.000 руб.



#80910 Итерационное тестирование

Отправлено автор: contestar 30 ноября 2010 - 08:44 в Тест-дизайн и ручное тестирование

Как мне кажется, в данной ситуации необходимо всё взять в свои руки. Я имею ввиду собраться на стендап и обговорить проблемы, расставить приоритеты в связке PM-dev-test. Разделить функционал на несколько частей и начать заниматься одной из них. Доработать одну часть - протестировать, взяться за вторую и т.д. А bug-fixing всего и сразу не даст результата. Здесь важно расставить приоритеты. Соглашусь с предыдущим комментарием. От вас в первую очередь требуется smoke testing - набор кейсов, при падении хотя бы одного из них продукт не может быть отдан в тестирование. Эти кейсы желательно автоматизировать и дать возможность прогонять их на новом билде самими девелоперами до передачи билда. Этот момент нужно обговорить как с dev командой, так и со своим менеджером, чтобы каждый знал свою роль и ответственность в проекте. Успехов.



#79074 Запуск тестов Selenium 2.0 на другом хосте

Отправлено автор: contestar 21 октября 2010 - 14:21 в Selenium - Functional Testing

Привет,
Сейчас пробую selenium 2.0 (Webdriver) для тестирования web-приложений. До этого использовал seleniumRC + java +junit. Тесты запускал на виртульной машине путём указания её ip в setUp(). Каким образом запустить тесты не на localhost, а допустим на виртуалке с ip 192.168.1.51?



#77968 Вывод в файл AssertionError

Отправлено автор: contestar 14 сентября 2010 - 11:22 в Selenium - Functional Testing

Получилось ли сделать это? Как добились? Спасибо заранее

Последовал примеру Boltick. Вывожу в лог теперь то, что нужно. Спасибо.



#76794 Вывод в файл AssertionError

Отправлено автор: contestar 07 июля 2010 - 07:14 в Selenium - Functional Testing

А в чем проблема?
так и пишите log.error(yourMessage)
или так log.error(yourMessage, ex)


Дело в том, что в одном тесте идёт проверка большого числа элементов. Например, все лейблы на странице (~50 штук), другой тест - проверка такого же количества полей. Поэтому было бы проще выводить log.error только для тех элементов, которые действительно failed.

Как уже привёл в первом посте идёт проверка наличия кнопок их может быть огромное количество:

1. verifyTrue(selenium.isElementPresent(button1))
2. verifyTrue(selenium.isElementPresent(button2))
.
.
50. verifyTrue(selenium.isElementPresent(button50))

Допустим, verify - failed для 10 кнопок, тогда лог получим довольно внушительным. Мне хотелось бы вывести в лог только строки для этих 10-ти кнопок.

tests.tests.CreateTaskScreen.UI.Buttons.testButtons(Buttons.java:41)
tests.tests.CreateTaskScreen.UI.Buttons.testButtons(Buttons.java:52)
tests.tests.CreateTaskScreen.UI.Buttons.testButtons(Buttons.java:59)
...

Или так:
Save button doesn't exist
Edit button doesn't exist
Exit button doesn't exist
...

Не буду же я делать checkForVerificationErrors() после каждого verify-метода )



#76806 Вывод в файл AssertionError

Отправлено автор: contestar 07 июля 2010 - 08:23 в Selenium - Functional Testing

		log.info("Проверяем лейбл 'Сумма:'");
		NoncriticalAssert(selenium.getText("xpath=//tr[7]/td[@class='label' and position()=1]/span[@class='lblrequired']/label").equals("Сумма:"),
		"Отсутствует лейбл 'Сумма:'. Получен текст: " + selenium.getText("xpath=//tr[7]/td[@class='label' and position()=1]/span[@class='lblrequired']/label"));


По-моему, такой подход утяжеляет код.



#76782 Вывод в файл AssertionError

Отправлено автор: contestar 06 июля 2010 - 13:36 в Selenium - Functional Testing

Всем привет.
Использую seleniumRC(1.0.3) + Java + JUnit + IDEA.
Прикрутил для логирования log4j. Возник вопрос, при использовании verifyTrue/False в лог вывожу printStackTrace. Но в нём содержится достаточно много бесполезной информации. Есть возможность каким-либо распарсить это сообщение и выводить в лог только нужную строку. Приведу пример.

Example.class
public class Example extends TestsBase {
static Logger log = Logger.getLogger(Example.class);
public void testExample() throws Exception {
log.info("Test is running…");
try {
		verifyTrue(selenium.isElementPresent(buttonSaveTask));
		verifyTrue(selenium.isElementPresent(buttonReset));
		checkForVerificationErrors();
	 }
		catch (Throwable ex) {
				log.error(ex);
				ex.printStackTrace();
				throw new Exception(ex);		   
}

В случае отсутствия buttonSaveTask или buttonReset в логе имеем следующее:
INFO : Test is running…
ERROR: java.lang.AssertionError: java.lang.AssertionError: null
	at com.thoughtworks.selenium.SeleneseTestBase.fail(SeleneseTestBase.java:356)
	at com.thoughtworks.selenium.SeleneseTestBase.assertTrue(SeleneseTestBase.java:361)
	at com.thoughtworks.selenium.SeleneseTestBase.assertTrue(SeleneseTestBase.java:365)
	at com.thoughtworks.selenium.SeleneseTestBase.verifyTrue(SeleneseTestBase.java:125)
	at com.thoughtworks.selenium.SeleneseTestCase.verifyTrue(SeleneseTestCase.java:119)
	at tests.tests.CreateTaskScreen.UI.Buttons.testExample(Example.java:34)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at junit.framework.TestCase.runTest(TestCase.java:168)
	at junit.framework.TestCase.runBare(TestCase.java:134)
	at com.thoughtworks.selenium.SeleneseTestCase.runBare(SeleneseTestCase.java:212)
	at junit.framework.TestResult$1.protect(TestResult.java:110)
	at junit.framework.TestResult.runProtected(TestResult.java:128)
	at junit.framework.TestResult.run(TestResult.java:113)
	at junit.framework.TestCase.run(TestCase.java:124)
	at junit.framework.TestSuite.runTest(TestSuite.java:232)
	at junit.framework.TestSuite.run(TestSuite.java:227)
	at com.intellij.junit3.TestRunnerUtil$SuiteMethodWrapper.run(TestRunnerUtil.java:259)
	at junit.textui.TestRunner.doRun(TestRunner.java:116)
	at com.intellij.junit3.JUnit3IdeaTestRunner.doRun(JUnit3IdeaTestRunner.java:108)
	at junit.textui.TestRunner.doRun(TestRunner.java:109)
	at com.intellij.junit3.JUnit3IdeaTestRunner.startRunnerWithArgs(JUnit3IdeaTestRunner.java:42)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:192)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:64)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:110)

Я хочу получить в логе только это:
INFO : Test is running…
ERROR:at tests.tests.CreateTaskScreen.UI.Buttons.testExample(Example.java:34)

Это возможно?

Может вообще применить иной подход к логированию? Например, чтобы лог был таким:
INFO : Test is running…
ERROR: Button Save Task doesn't exist

В таком случае как добиться такого вывода.

Спасибо.



#76833 Автоматизация тестирования с помощью Fitnesse

Отправлено автор: contestar 07 июля 2010 - 21:10 в Автоматизированное тестирование

По какой причине вывод пал на этот инструмент? Я бы посоветовал Selenium RC.



#85486 WAPT - Нагрузочное тестирование сайтов и веб-приложений

Отправлено автор: contestar 10 марта 2011 - 12:56 в Портал Software-Testing.Ru

Понравился WAPT, но цена около $700. Для тех, у кого приоритет на performance testing - полезный инструмент.



#77904 Selenium: работа с message box

Отправлено автор: contestar 10 сентября 2010 - 07:31 в Selenium - Functional Testing

Но на кнопку не нажимает. ну или нажимает но ничего не происходит
Самое интересное то что пути прописываются верно по крайне мере getText() возвращает то что написано на кнопке.

Встречался однажды с такой проблемой при тестировании приложений на Tibco GI. Объект видит, но не кликает на него. Пришлось выкручиваться - роботом по координатам. Конечно же так нельзя делать..но это был единственный вариант. Потом попробовал selenium 2 - он отлично справился с этим объектом.



#77830 Selenium: работа с message box

Отправлено автор: contestar 07 сентября 2010 - 10:39 в Selenium - Functional Testing

У вас на скриншоте id кнопки = button2_2, вы кликаете на id=button1_2. ID точно не динамический?



#77854 Selenium: работа с message box

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

Как показывает практика, CSS быстрее только для простых случаев, а вот когда идут уже переходы по иерархии, то разница в скорости уже не заметна: тормозит одинаково

Меня спасает
selenium.useXpathLibrary("javascript-xpath");
Заметно быстрее работает.