Столкнулся с рядом вопросов, ответы на которые найти не смог, может быть, вы сможете мне помочь или сталкивались с таким поведением
версия 2.31 (32-bit)
IE 9
1) Написал небольшое приложение, которое выполняет тест. На домашнем компе браузер запускается (единственное отличие от рабочей конфигурации 64-битный драйвер), все отлично.
На рабочем компе браузер запускается только из-под IDE (Eclipse, хотя не думаю, что это важно), при запуске из приложения (Tomcat7 - jsf2) браузера не вижу, однако все действия с приложением происходят. Браузер запускается где-то в бэкенде />/>
Приведу пример инициализации драйвера (java)
if (props.getProperty("browser").equalsIgnoreCase("IE")) {
DesiredCapabilities dc = new DesiredCapabilities();
dc.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
true);
driver = new InternetExplorerDriver(dc);
2) При переключении из окна в окно (любое модальное-немодальное) тест работает нестабильно, иногда элементы нового окна не находятся.
ExpectedCondition<Boolean> expectation = new
ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver driver) {
return ((JavascriptExecutor)driver).executeScript("return document.readyState").equals("complete");
}
};
int windows = driver.getWindowHandles().size();
// действия для открытия нового окна
while (driver.getWindowHandles().size() == windows) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace(); }
}
driver.switchTo().window(getLastElement(driver.getWindowHandles()));
try {
wait.until(expectation);
} catch(Throwable error) {//catch }
// элемент не всегда находится
WebElement element = (new WebDriverWait(driver, 60))
.until(new ExpectedCondition<WebElement>(){
@Override
public WebElement apply(WebDriver d) {
return d.findElement(By.id("subject"));
}});
Бытует мнение, что тестировщикам вредно уметь программировать. Якобы это умение мешает им потому, что из-за него они слишком много думают о реализации программы и слишком мало о том, как же её протестировать.
Определенный смысл в этом есть, возможно для кого-то умение программировать действительно служит отвлекающим фактором. Но если вы умеете бороться с искушениями, тогда этот навык может оказаться весьма полезным, потому что он даёт возможность переложить часть своей работы на компьютер.
Да, имеется в виду автоматизацию тестирования. Но под автоматизацией подразумевается не только написание скриптов, которые эмулируют взаимодействие пользователя с графическим интерфейсом программы. Помимо этих скриптов можно автоматизировать генерацию тестовых данных, проверку содержимого базы данных, развёртывание и настройку тестового окружения, проверку отсутствия сообщения об ошибках в лог-файлах, генерацию отчётов, и многое-многое другое.
Сложно ли научиться программировать? Вероятно, бывают люди, для которых алгоритмический стиль мышления абсолютно неприемлем. Но большинство айтишников по крайней мере на интуитивном уровне уже обладают алгоритмическим мышлением. Многие тест-дизайнеры пишут весьма подробные инструкции для ручного тестирования, это почти готовые программы, но предназначенные для "биороботов". Осталось сделать один небольшой шаг и научиться управлять настоящими роботами-компьютерами.
Разучитесь ли вы тестировать, научившись программировать? Вовсе нет, существующие навыки тестировщика от вас никуда не денутся. Но в дополнение к ним в ваших руках появится ещё один инструмент, и весьма мощный. Разумеется, владение навыками программирования не означает, что их нужно применять здесь и там без разбора, стремясь автоматизировать всё подряд. Силу нужно держать под контролем и применять её лишь там, где её применение обосновано. Для этого нужно хорошо овладеть силой, чтобы она подчинялась вам, чтобы это был привычный инструмент с понятными принципами работы, а не магический артефакт, управляемый загадочными заклинаниями.
Ну что ж, довольно слов, пора перейти к делу.
Как и всякий навык, умение программировать нужно тренировать и закреплять. Недостаточно просто прочитать книжку и выучить набор команд. Знать ещё не значит уметь. Поэтому тренинг "Программирование для тестировщиков" будет содержать как теоретические сессии, так и практические задания для самостоятельного выполнения.
<?php
class calculator
{
public function add($a, $b)
{
return $a + $b;
}
}
?>
Потом по инструкции - Средства-Создать Тесты PHUnit - все прошло нормально тесты создались но дальше никак.
При попытке запустить тесты отдает сообщение "Не было выполнено ни одного теста (0,0 сек) Возможно произошла ошибка, перейдите в диалоговое окно "Вывод".
В окне отображается только эта строка "PHPUnit 3.7.19 by Sebastian Bergmann."
Может кто-то сталкивался уже с такой проблемой?
Подскажите плиз как это можно исправить.