- Форум тестировщиков
- → Публикации contestar
Публикации contestar
31 публикаций создано contestar (учитываются публикации только с 17 мая 2023)
По типу контента
По пользователю
#76833 Автоматизация тестирования с помощью Fitnesse
Отправлено автор: contestar 07 июля 2010 - 21:10 в Автоматизированное тестирование
По какой причине вывод пал на этот инструмент? Я бы посоветовал Selenium RC.
#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"));
По-моему, такой подход утяжеляет код.
#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-метода )
#76782 Вывод в файл AssertionError
Отправлено автор: contestar 06 июля 2010 - 13:36 в Selenium - Functional Testing
Всем привет.
Использую seleniumRC(1.0.3) + Java + JUnit + IDEA.
Прикрутил для логирования log4j. Возник вопрос, при использовании verifyTrue/False в лог вывожу printStackTrace. Но в нём содержится достаточно много бесполезной информации. Есть возможность каким-либо распарсить это сообщение и выводить в лог только нужную строку. Приведу пример.
Example.class
В случае отсутствия buttonSaveTask или buttonReset в логе имеем следующее:
Я хочу получить в логе только это:
Это возможно?
Может вообще применить иной подход к логированию? Например, чтобы лог был таким:
В таком случае как добиться такого вывода.
Спасибо.
Использую 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
В таком случае как добиться такого вывода.
Спасибо.
#76294 Требуется QA инженер
Отправлено автор: contestar 12 июня 2010 - 15:11 в Работа/Санкт-Петербург
вы как-нибудь связаны с Developonbox (Zodiac Inc.)?
#75366 Selenium RC не видит окно
Отправлено автор: contestar 22 апреля 2010 - 14:14 в Selenium - Functional Testing
Привет, попробуй так:
Надо указать селениуму в каком окне производить действия. Для этого используется selectWindow(windowID). Падение по timeout скорее всего происходит из-за того, что сервер ждёт появления чего-то, а это чего-то не появляется (могу ошибаться).
selenium.click("symbolLookupLink"); //вызываем твоё окно selenium.selectWindow("mywindow"); //переключаем фокус на открытое окно selenium.type(LookupPopupFieldName, "DIA"); //заполняем форму selenium.close(); //закрываем окно selenium.selectWindow(null); //возвращаем фокус на главное окно
Надо указать селениуму в каком окне производить действия. Для этого используется selectWindow(windowID). Падение по timeout скорее всего происходит из-за того, что сервер ждёт появления чего-то, а это чего-то не появляется (могу ошибаться).
- Форум тестировщиков
- → Публикации contestar
- Политика Конфиденциальности
- Правила форума ·