Вы можете использовать явное ожидание для ожидания добавления элемента в DOM
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.presenceOfElementLocated(By.id("newElementId")));
Так что - да - очень даже.
Когда тестировщик находит ошибку, я обычно пишу для нее модульный тест. Когда тест пройден успешно, я знаю, что ошибка исправлена, и она всегда будет устранена в будущем.
Ответ короче говоря - да. Базовая структура выполнения, которое должно записать тестовый сценарий, который моделировал бы ошибку и привел бы тестовый сценарий к сбою. Затем исправьте ошибку, которая передала бы тестовый сценарий.
Когда у Вас есть ошибка в Вашей системе, это - хорошая практика в TDD для записи теста, который определяет ошибку (т.е. красный тест, который доказывает ошибку). Когда необходимо исправить ошибку, тест должен в конечном счете стать зеленым. Это может быть хорошая идея выведать любые другие ошибки, если они достаточно близки.
Относительно отладки TDD должен использоваться для усиления сеансов отладки далеко от программиста. Можно все еще отладить, если Вы понятия не имеете, где некоторая ошибка, но легче точно определить ошибку, если у Вас есть комплект регрессионного теста с достаточной гранулярностью.
Необходимо помнить хотя, что TDD больше о поблочном тестировании а не об интеграционном тестировании. Нет ничего неправильно с записью интеграционных тестов, так как они - проверка работоспособности для проверки приложения или системы при тестовых работах.
Одна книга, которая является о тестировании с xUnit платформами, является xUnit книгой Шаблонов, которая является достаточно общей для работы с любой платформой поблочного тестирования (даже для PerlUnit, который я предположил бы), поваренная книга интересных приемов, которые можно сделать с xUnit платформами.
ОБНОВЛЕНИЕ: существует глава о поблочном тестировании в жемчуге в Экстремальном Perl.
Я всегда писал тесты перед реальным кодом при исправлении ошибки.
Таким образом, у меня был пример того, что ожидать от рабочего кода - и я мог бы просто сосредоточиться на том, чтобы этот тест (и все остальные, для регрессии) прошел.
Я думаю, что вы сначала исправите ошибку, а затем регрессионные тесты будут состоять из TDD.
Да, но остерегаются, Если Вы запишете столько же ошибок, сколько я делаю у Вас скоро будет огромный набор тестов для покрытия всех ошибок, которые Вы записали и затем зафиксировали.
Это будет означать, что тестовые прогоны будут медленнее, и намерение поведения станет загрязненным Вашими тестами ошибки.
Вы могли сохранить эти тесты, логически разделяют или пересматривают Ваш исходный набор указанных (тестов чтения) проверок поведения, чтобы видеть, покрыли ли Вы действительно все свое ожидаемое поведение.
Я думаю, что его важное дифференцируется между двумя.
Да. Конечно, все тесты, которые Вы выполнили во время TDD Вашего выпуска, будут добавлены к комплекту регрессионного теста. Но в случае ошибки тот комплект регрессии, очевидно, не был детализирован достаточно.
Первый шаг в исправлении ошибки копирует его, и это - TDD. После того как Вы находите тестовый сценарий, который копирует ошибку, можно подробно остановиться на ней, если Вы желаете (для ловли других очевидных проблем того же класса), но я не склонен делать большое расширение, так как у нас есть определенные оборотные времена для того, чтобы исправить единственную ошибку.
После того как у Вас есть фиксация для той ошибки, добавьте тестовый сценарий к комплекту регрессии. Идея состоит в том, чтобы продолжать добавлять тестовые сценарии к комплекту регрессии и для выпусков и для исправлений ошибок, чтобы дать ему очень хорошее покрытие.