WatiN тестирование всплывающих окон - PullRequest
1 голос
/ 15 декабря 2011

У меня есть приложение, которое вызывает всплывающее окно при нажатии на ссылку. У меня есть тест watin, который переходит на страницу и нажимает на ссылку, чтобы открыть всплывающее окно. Это мой текущий код:

 [Test]
 public void TestCommentBoxInput()
        {

                window.GoTo("mylocalurl");
                window.Link(Find.ById("popuplink.aspx")).Click();
                IE iepopup_1 = IE.AttachTo<IE>(Find.ByUrl("popuplinkurl.aspx"));
                iepopup_1.TextField(Find.ById("txtComments")).TypeText("Commenttest");
         }

Как видите, я попытался привязать всплывающее окно к созданному браузеру с именем window. Когда я запускаю тест, он просто останавливается во всплывающем окне и никогда не вводит текст в поле. Как заставить мою программу понять, что теперь она работает во всплывающем окне, а не в исходном окне?

РЕДАКТИРОВАТЬ: я имею дело с модального диалога.

Ответы [ 2 ]

0 голосов
/ 16 декабря 2011

Итак, я выяснил проблему, проблема была в том, что я использовал модальное диалоговое окно, и они обрабатываются по-разному.Мой новый код выглядит следующим образом на тот случай, если кто-нибудь застрянет в том же положении, в котором я находился.() и не просто нажмите, я не уверен, почему это имеет значение, но это делает!Если кто-то может объяснить, что это было бы здорово.

HtmlDialog dialog = window.HtmlDialog(Find.ByTitle("TestPopup"));

Поскольку я имею дело с модальным диалогом, вы должны объявить новый HtmlDialog.Также, чтобы использовать диалог Html, убедитесь, что вы включили Watin.Core.DialogHandlers.Я надеюсь, что это полезно для кого-то там!:)

0 голосов
/ 15 декабря 2011

Я думаю, Find.ByUrl пытается сделать точное совпадение, попробуйте с Find.ByUrl(u => u.Contains("popuplinkurl.aspx"))

...