Не могу запустить ни один тест!
2013-01-30 23:32
Использую Selenium IDE для создания тестов. Потом экспортирую как класс C#. Создаю библиотеку классов, чтобы потом использовать её в NUnit. Всё делаю по инструкции с других сайтов. Но тесты не проходят. NUnit пишет, что ссылка на объект не указывает на экземпляр объекта. Попробовал даже использовать не свои тесты, а тест из этой (http://www.software-testing.ru/forum/index.php?/topic/22968/) темы из 2-го поста, там тест просто открывает страницу, у меня всё равно не запускается и пишет то же самое. Я даже создал этот тест в виде консольного приложения и пошагово его проверил. На момента создания объекта
IWebDriver driver = new FirefoxDriver();
у меня вылетает ошибка, что нет какого то FirefoxDriver.cs. Бред какой то. Что делать? Ни один тест не хочет запускаться вообще!
прочитала много интересных материалов по Thucydides и начала его изучение.
Правда почти сразу столкнулась с проблемой ожидания выполнения всех Ajax в ходе теста.
В частности проблема возникла с подтверждением алерта.
Тест пытается его подтвердить, не дождавшись его появления (если не указать в шаге подтверждение алерта - тест подвисает и ждет нажатия кнопки Ок). Код в Thucydides выглядит следующим образом:
Цитата
public void clickSend() {
SendButton.click();
}
public void acceptAlert(){
Alert alert = getDriver().switchTo().alert();//все "рюшечки" добавлены так как просто на alert.accept() тест выдавал и выдает ошибку
String alertText = alert.getText();
alert.accept();
}
на это я получаю неизменно:
net.thucydides.core.webdriver.WebdriverAssertionError: No alert is present (WARNING: The server did not provide any stacktrace information)
Ранее, когда этот же тест я делала только в Eclipse + JUnit, то ожидания Ajax прописывала следующим образом.
for (int second = 0;; second++) {
int timeout = 30;
if (second >= timeout)
fail("timeout");
try {
if (getDriver() instanceof JavascriptExecutor) {
ajaxIsComplete = (Boolean) ((JavascriptExecutor) getDriver())
.executeScript("return jQuery.active == 0;");
} else {
fail("JavascriptExecutor");
}
if (ajaxIsComplete)
break;
} catch (Exception e) {
}
Thread.sleep(1000);}
Но вот данный конкретный метод в thucydides мне перенести не удалось (или не хватает знаний на это).
Наверняка есть красивый и элегантный способ прописать в thucydides ожидания Ajax (для меня это очень актуально, потому что на тестируемой странице их очень много), который я просто не могу найти или не знаю...
ЗЫ. метод "checkThatmainMenuIsVisible" (или любой другой элемент страницы виден) опробован и в данном случае не годится :(
Вакансия: iOS developer
2013-01-31 13:55
Symphony Teleca приглашает опытных разработчиков на платформе iOS для участия в крупном проекте для одного из наших заказчиков. Проект заключается в реализации клиентской части бизнес-решения заказчика на платформах iOS, Android и т.д.
Мы ищем разработчика с глубоким практическим знанием (опыт не менее 2-х лет) полного цикла разработки приложений для iPhone/iPad. Соответственно, отличное знания С/С++, Objective-C - обязательно. Хороший разговорный и письменный английский будет большим плюсом, так как заказчик англоговорящий.
Со своей стороны мы готовы предложить трудоустройство в соответствии с ТК РФ, полный соцпакет, ДМС, уроки английского языка, возможность зарубежных командировок и др.
Полное описание вакансии можно найти здесь: http://nn.hh.ru/vacancy/6762666
Резюме и вопросы адресуйте на yana.sinitsyna@symphonyteleca.com.
Мой логин Skype - yanuseka.
P.S. Также не менее рада буду пообщаться с разработчиками Android />
Нагрузка на WebServer использующий WebSockets
2013-01-31 14:14
Было у нас Web-приложение с Ajax запросами, которое мы благополучно нагружали с помощью jmeter(требования к нагрузке приложение не выполняло).
Разработчики подумали, подумали и стали использовать Websockets. А у нас заминка...
Подскажите пожалуйста, может кто-то уже делал нагрузочные тесты с Websockets. Чем можно нагрузить такое приложение?
тесты оформил через Test Items проекта.
каждый тест считается упавшим если появилось сообщение типа Error; для этого в GeneralEvents_OnUnexpectedWindow, GeneralEvents_OnLogError, GeneralEvents_OnTimeout прописал Runner.Stop(true)
но появилась след проблемы:
В тестируемом приложении достаточно много различных модальных окон и тест может неудачно завершится именно на одном из них, причем при попытке закрыть его может появится еще несколько других.
Соответственно след тест должен както обработать его перед тем как запустить себя. И вроде написал подобный обработчик и засунул в GeneralEvents_OnStopTest, но теперь так как тестов уже достаточно много -
очень много времени тратится именно на эту фукнцию, да и то не всегда отрабатывает.
Начинать тест с перезапуска приложения тоже не подходит , т.к. на это тратится минуты 2-3, хотя уже тесты будут выполнятся на чистую..
Essential Requirements:
∙ Ability to work on own initiative within a traditional QA team structure or a Scrum-oriented team
∙ Excellent working knowledge of Unix/Oracle
∙ Excellent scripting skills (Python, Perl, bash)
∙ Genuine, demonstrable interest in software quality
∙ Proven ability to deliver on multiple projects
∙ Working knowledge of mobile telecom protocols (e.g. GTP, TCP/IP, HTTP, WAP).
Desirable:
∙ Telecommunication domain expirience
∙ Packet inspection using tools like wireshark and tcpdump
∙ Web testing tools such as Selenium
Пишите на dmitrysbor@mail.ru
Upload файла на сервер
2013-01-31 17:24
Пытаюсь реализовать аплоад файла на сервер:
С помощью autoIt написал скрипт который выполняет ввод пути к файлу в окне выбора файла и сабмитит выбор. Скрипт сконвертил в *.exe.
Но к сожалению все тесты гоняются удаленно и при запуске *.exe по ssh или другими удаленными средствами скрипт не выполняется. Точнее он запускается, но бесконечно весит в ожидании появления диалогового окна.
Кто знает, как решить проблему?
Тестируем блокнот с помощью перехода состояний
2013-01-31 19:14
Есть задание протестировать функиональность раздела File в Notepad (обычном блокноте). Я уже накидала кучу тест-кейсов на разные случаи, ипользовала экв класс, границы, error guessing и т.п
но вот как проблема: хорошо бы еще использовать технику "перехода состояний" (state transition) и "таблицы принятия решений" (decision table). Вот не могу придумать, в каком подразделе File можно использовать эти техники?
Буду благодарна за любую помощь!
Подскажите как правильно организовать проект
2013-01-31 23:32
Привет Всем!
Начальство дало задание автоматизировать тестирование одного приложение. Опыта с вебдрайвером не было, только минимальный опыт программирования.
Важным приоритетом было логирование. На быструю руку не вник глубоко в теорию... и поэтому сделал весь тест сют в одном классе.
Хотел с вами посоветоваться, нормально ли будет разбить весь тест план на 15 клаcсов и запускать их всех с помощь Junit?
Обычно сколько тест кейсов в одном классе?
Нормально ли использовать такие условия
if driver... {
logpass();}
else
logfail();
(logfail и logpass функции для логирования...)
возможно ли как-то перехватить Nosuchelementexception? что-бы тест не падал? а продолжался