21 век — век информации. Она окружает нас везде: дома, на работе, в машине, в метро. Информация хранится в базах данных в удобном для компьютера виде. Какие бы приложения вы не тестировали: десктопные, веб или мобильные, большие или маленькие, банковские системы или игры, вам нужно будет получать информацию из базы данных. Для этого используют специальный язык структуририованных запросов — SQL (Structure Query Language). Базовые знания SQL сейчас требуют даже на вакансию джуниор-тестировщика.
На тренинге вы увидите, как применяется SQL в различных аспектах тестирования — непосредственно при выполнении тест-кейсов, при подготовке тестовых данных, в автотестах, при тестировании безопасности, научитесь писать запросы любой сложности, а также создавать собственные схемы и таблицы.
Фреймворки семейства xUnit -- это основа основ автоматизированного тестирования. Они используются для организации и запуска тестов и сбора информации о результатах тестирования, то есть решают одну из ключевых задач автоматизации тестирования.
Однако наши многочисленные тренинги по автоматизации уделяют недостаточно внимания этому важнейшему аспекту разработки автотестов, поэтому мы решили добавить в линейку тренинг, специально посвященный эффективному использованию тестовых фреймворков.
В этом тренинге рассматриваются два наиболее популярных тестовых фреймворка для языка программирования Java -- JUnit и TestNG.
Начать работать с этими фреймворками несложно. Однако опыт показывает, что большинство автоматизаторов использует лишь незначительную часть возможностей, которые предоставляют тестовые фреймворки.
Но может быть эти “продвинутые” возможности просто не нужны, поэтому и не используются?
Увы, часто тестировщики-автоматизаторы строят сложные конструкции из “костылей” и изобретают самодельные велосипеды, не подозревая о том, что нужная функциональность может быть реализована гораздо более простым способом.
Из тренинга вы узнаете, как организовывать тесты в группы, как их запускать в нужном порядке, как правильно описывать зависимости между тестами, как реализовать “мягкие” и “жесткие” проверки, как сделать тесты параметризованными, как реализовать загрузку данных из разных источников и применять подход DDT (data-driven testing), как автоматически перезапустить упавшие тесты и ещё многое другое.
Материал разбит на два уровня сложности: использование встроенных возможностей тестового фреймворка и расширение функциональности фреймворка через специально предусмотренные интерфейсы расширения.
Добрый день, у меня вопрос по поводу написания тест-кейсов тестирования поля ввода доменного имени второго уровня.
Как известно, доменное имя второго уровня может содержать буквы, цифры и один символ из специальных символов "-", например, "do-main1"
Нужно ли для negative testing данного поля проверять отсутствие всех других специальных символов? Или же можно ограничиться одним тест-кейсом, например, "do!main", ведь все остальные спец символы попадают а один класс эквивалентности.
Есть функция сравнения скриншотов. В основном время выполнения одной такой операции - доли секунды. Но иногда выполнение может достигать 3-4 минут.
То есть шкала под Picture.Find заполняется несколько минут.
function checkpointImg(property)
{
var tempPicture = findPreview(); //объект текущего окна
var newPicture = tempPicture.Picture(0, 0, 400, 400); //обрезаю текущее окно
var oldPicture = Utils.Picture;
oldPicture.LoadFromFile("Stores/CheckpointImages/" + property + ".png"); //обращаюсь к эталону, скриншот "правильного" состояния окна"
if (oldPicture.Find(newPicture)) {
Log.Message("проверка скриншота " + property + " - успешно.");
} else {
Log.Message(tempPicture.fullName);
Log.Picture(oldPicture, "Старый скриншот");
Log.Picture(tempPicture, "Новый скриншот");
Log.Picture(oldPicture.Difference(newPicture), "Разница");
Log.Error("проверка скриншота " + property + " - не удалось.");
}
}
Использую RemoteWebDriver. Возникла необходимость использовать несколькими окнами firefox одного профиля. При этом профиль должен не удаляться при закрытии браузера, как происходит с теми, которые создаются по умолчанию.
Профиль могу как хранить на удаленной машине (но он не будет зарегистрирован в FF), так и создавать с нуля. Этот вопрос не принципиален.
FirefoxProfile fp = new FirefoxProfile();
desiredCapabilities.setCapability(FirefoxDriver.PROFILE, fp);
Если использовать эти DesiredCapabilities для запуска двух экземпляров FF, то передаются только настройки профиля. Сами профили будут физически разные, но с одинаковыми настройками.
Как возможный вариант вижу запуск FF с параметром -profile PATH_TO_PROFILE, но не могу найти как это сделать.
Каким все же образом запустить несколько instance FF с одним физическим профилем? Заранее спасибо за помощь!
Хочу предложить разработчикам сервис browserling.com для кроссбраузерного тестирования сайтов онлайн. Для вас включу бесплатный аккаунт на один месяц просто зарегистрируйтесь и отпишите мне вашу почту.
На даном этапе мы запускаем API и мобилки, пока только android. Думаю ближе к весне будет osx. К конце месяца допилим ci.testling.com для скриншотов.
Тут смогу отвечать на технические вопросы и помогать вам с интеграцией сервиса.