Изглежда, че двете големи са Watin & Selenium. Не съм работил със Selenium, така че нямам мнение.
Използвал съм Watin прилично количество и е доста добро, но има много проблеми. Може да е трудно да се справите с изключително вариращите времена за отговор от браузър... задаване на времетраене на изчакване и други подобни.
Последната версия на Watin поддържа IE & Firefox, което е доста готино.
Що се отнася до тестовата поддръжка, според моя опит най-важното нещо е напълно да се отдели кодът на "тестовия драйвер" от "кода за обвиване на страници". Под „тестов драйвер“ имам предвид действителната тестова логика (NUnit или подобна), която може да има код, който изглежда така:
...
var wrapper = new SearchPageWrapper(browser);
wrapper.ClickAdvancedSearch();
wrapper.EnterSearchPhrase("dog");
wrapper.SetSortBy(SortType.Date);
wrapper.ExecuteSearch();
... обвивката на страницата излага този логически интерфейс на самата страница, като същевременно скрива подробностите за изпълнение (които могат да бъдат сложни и да се променят често с оформлението на страницата):
public class SearchPageWrapper {
...
public void ClickAdvancedSearch() {
_browser.Buttons("advSearch").Click();
}
public void EnterSearchPhrase(string phrase) {
_browser.TextBox(Find.ByName("phrase")).TypeText(phrase);
}
... etc ...
}
По този начин изграждате библиотека от обвивки, която улеснява добавянето на нови тестови случаи и също така прави по-малко болезнено справянето с промени в оформлението, които засягат начина, по който Watin намира и взаимодейства с елементите на страниците.
person
user31934
schedule
11.04.2009