Используйте
TimeoutAttribute (NUnit 2.5)
The TimeoutAttribute is used to specify a timeout value in milliseconds for a test case. If the test case runs longer than the time specified it is immediately cancelled and reported as a failure, with a message indicating that the timeout was exceeded.
The attribute may also be specified on a fixture or assembly, in which case it indicates the default timeout for any subordinate test cases.
Example
[Test, Timeout(2000)]
public void PotentiallyLongRunningTest()
{
...
}
Notes
Beginning with NUnit 2.5.5, timeouts are suppressed when running under a debugger.
.
НО! все таки для скорости загрузки страницы, я бы посоветовал использовать другие инструменты. Так задача, которую вы описывается относиться к тестированию производительности, а вебдрайвер инструмент для функционального тестирования.
Обратите внимание на Jmeter
Спасибо за ответ, но все-таки немного не то.
Вебдрайвер вроде как не позволяет запускать тест в уже существующей сессии браузера (Firefox) а значит время теста еще и берется на запуск браузера, именно это время надо как то откидывать, то есть учитывать не вермя выполнения теста, а по сути время отклика страницы и только (оно по тому же FireBug или в среднем по LoadUI держится в пределах 1300 - 1900 мс)
Отдельный инструмент не подходит, нужен именно тест для замера, максимально быстрый и наглядный, чтобы во время сборки или отладки разработчик мог прогонять кипу тестов на страницы и видел какая из них тяжелее стала и уже в этой связи ее оптимизировал.
Рассматривал даже варианты с Selenium IDE
Там конструкция
[info] Executing: |timerStart | TimeTaken | |
[info] Executing: |open | http://localhost/ | |
[info] Executing: |timerStop | TimeTaken | |
Дает свой результат - в логах я вижу время отклика, но тут затуп в условии, как его задать чтобы тест валился если время отклика больше 1500 мс?
Еще есть идеи?
P>S>
Вот что еще получилось
[info] Executing: |timerStart | TimeTaken | |
[info] Executing: |open | http://localhost/ | |
[info] Executing: |timerStop | TimeTaken | |
[info] Time Passed for TimeTaken : 2792
[info] Executing: |storeEval | if (${TimeTaken} < 3000) {nextStep='testOK'} | test |
[info] script is: if (2792 < 3000) {nextStep='testOK'}
[info] Executing: |gotolabel | ${test} | |
[info] Executing: |echo | GOOD SPEED! | |
[info] echo: GOOD SPEED!
Даже работает)
Может можно как то это дело улучшить или упростить - в плане если условие false выводить сообщение или адекватный эксепшен, так как у меня в случае false выводится
[error] Unexpected Exception: fileName -> chrome://flowcontrol/content/extensions/goto-sel-ide.js?1338514256440, lineNumber -> 120
Ну а так если IDE разрабам не понравится будем дальше думать...
Проблема хоть и решена, но просьба ее пока не закрывать