Архив рубрики: CodedUI

Инструменты для тестирования веб-сервисов

Современные веб-приложения могут предоставлять обработку различных операций-методов, используя протокол SOAP для доступа к объектам-операциям, описанным в WSDL файле. По сути, это API — программный интерфейс приложения (тогда как GUI — интерфейс пользователя) и его также можно и нужно тестировать. Особенно это важно при тестировании защищённости приложений: разработчики могут забыть убрать лишние функции из публичного доступа или недостаточно защитить существующие.

Как найти список доступных методов сайта? Поищите в поисковике URL, оканчивающиеся конструкцией ?wsdl — это то, что мы ищем (например, http://www.webservicex.com/CurrencyConvertor.asmx?wsdl). При тестировании приложения, имея доступ к wsdl файлу, мы можем понять, какие методы удалённого сервиса мы можем вызывать и какие данные (названия переменных и их типы) они ждут. Далее мы можем перехватывать HTTP запросы браузера для того, чтобы манипулировать параметрами и данными передаваемыми в SOAP запросах, например вместо одного метода вызывать другой, добавить дополнительные поля и т.д.

Часто тестировать вручную долго и рутинно, особенно когда нужно, к примеру, вызвать метод 100 раз с разными параметрами. Тогда на помощь приходят инструменты автоматизации. Ниже представлен список бесплатных инструментов тестирования веб-сервисов (API), которые хорошо себя зарекомендовали:

CodedUI test: Как я боролась с Windows Authentication и вроде победила

Я пишу тесты, используя Selenuim WebDriver + C# для веб-приложения.

Приложение находится в интранет зоне и требует авторизации. Ужасно достало окно авторизации, Windows Security упорно просил пароль, несмотря на флаг remember my credential.

Вот список мероприятий, которые я использовала, чтобы IE больше не запрашивал пароль (возможно, некоторые из них излишни):

  1. Internet Options -> Local intranet -> Sites -> Advanced -> добавить домен.
  2. Там же я выбрала Include all network paths.
  3. Restricted sites -> Custom level -> User Aithentication -> выбрала Automatic logon only in Intranet zone

Еще, кроме того, тест не запускается, если настройка Enable protedted mode для разных областей разная. Просто приходится убирать все галки с Protected mode.

 

CodedUI test: How to get the cell by value from table/grid

I was stuck in grids in my CodedUI test. The grid could change depends on test data, so it is impossible to define solid SearchProperties for cell as them are changing.

public void SelectCell(string type)
{
WinTable table = this.UILocalaccountsWindow.UIGridLocalAccountsWindow.UIDataGridViewTable;
WinCell myCell = table.FindFirstCellWithValue(type);
Mouse.Click(myCell);
}

So I define a table in my method and then use method FindFirstCellWithValue with argument string.

It was so easy I even do not believe in that, but it is working.