Как протестировать веб-сервис с помощью Watin - PullRequest
0 голосов
/ 22 марта 2011

Я пытаюсь написать тест, который вызывает веб-сервис и проверяет его результаты.

[Test]
        public void should_display_correct_customer_when_DoCustomerSearch_is_invoked()
        {
            using (var browser = new IE("http://localhost:61245/WebServices/CustomerSearch.asmx?op=DoCustomerSearch"))
            {       
                browser.WaitForComplete();

                browser.TextField(Find.ByName("txtSearch")).TypeText("microsoft");
                browser.Button(Find.ByValue("Invoke")).Click();
                browser.Close();

                IE poppedUpBrowser = IE.AttachTo<IE>(Find.ByUrl("http://localhost:61245/WebServices/CustomerSearch.asmx/DoCustomerSearch"));

                poppedUpBrowser.WaitForComplete();
                Assert.IsTrue(poppedUpBrowser.ContainsText("Microsoft Corporation"));                
            } 
        }

Когда я вызываю службу через браузер, отображаются результаты, но когда watin проходит тот же тест, на странице результатов появляется ошибка сервера 500.

Любая помощь приветствуется, пожалуйста.

Ответы [ 2 ]

0 голосов
/ 06 апреля 2011

Я согласен с Jakub, использование WatiN для тестирования веб-сервисов не кажется хорошей идеей.Вы должны использовать веб-сервис, используя Visual Studio, который создаст для вас класс.Вы можете позвонить в веб-сервис через сгенерированный класс и проверить результат.

0 голосов
/ 22 марта 2011

Вы пытаетесь протестировать веб-сервис через WatiN?

Существуют лучшие способы сделать это: вам лучше проверить свою логику в модульных / интеграционных тестах. Эти тесты будут выполняться намного быстрее, чем WatiN.

HTTP 500 возвращается вашим веб-сервисом - вероятно, из вашего кода выдается исключение - проверьте ваши журналы или присоедините отладчик.

...