Типично тестване на софтуерна автоматизация изисква инструменти за автоматизация като Selenium и QTP. Кодираният потребителски интерфейс е подобен на тези инструменти и може да бъде особено полезен за функционални тестове.
Тестът с кодиран потребителски интерфейс (CUIT) използва Visual Studio IDE за писане на скриптове, тъй като записът може да се извърши с помощта на Visual Studio.
В този урок ще научите -
- Какво е кодиран UI тест (CUIT)?
- Функции за тестване на кодиран потребителски интерфейс
- Кодиран UI тест (CUIT) Поддържани технологии
- Защо да използвате кодиран потребителски интерфейс за автоматизация на тестовете
- Как да създам кодирани UI тестове (CUIT)
- Съдържание на кодиран UI тест
- Как да извършите кодиран UI тест
- Най-добри практики за тестване на кодиран потребителски интерфейс (CUIT)
- Сравнение на кодиран UI тест Vs. Селен срещу QTP
Какво е кодиран UI тест (CUIT)?
CUIT са автоматизирани тестове, които управляват вашето приложение чрез неговия потребителски интерфейс (UI). Следователно, наименованието кодира UI тестове (CUITs). Тези тестове включват функционално тестване на контролите на потребителския интерфейс. Той проверява функционалността на цялото приложение, включително потребителския интерфейс.
Функции за тестване на кодиран потребителски интерфейс
Кодираните функции на потребителския интерфейс включват
- Функционално тестване
- Генериране на код в VB / C #
- Интегриран с ALM история
- Изграждане, внедряване и тестване в лабораторията или като част от компилация
- Локални, дистанционни стартирания, събиране на данни
- Богата разширяемост
- Интензивен запис и еластично възпроизвеждане
Кодиран UI тест (CUIT) Поддържани технологии
С кодиран потребителски интерфейс, приложение, което има потребителски интерфейс (потребителски интерфейс), може лесно да бъде тествано. Приложението може да бъде базирано на прозорец или уеб.
Кодираният потребителски интерфейс поддържа технологии като
- Десктоп приложения, базирани на прозорец
- Уеб услуги (SOAP, ASPX и др.)
- Приложения за прозорци за телефон
- WPF (Windows Presentation Foundation)
- Уеб приложения (HTML, Silverlight, HTML5)
Защо да използвате кодиран потребителски интерфейс за автоматизация на тестовете
Причината, поради която кодираният потребителски интерфейс за автоматизация на теста е предпочитана
- Разработчиците и тестерите на софтуер могат да си сътрудничат ефективно, използвайки същите инструменти / език.
- Той поддържа както мрежи, така и Windows проекти.
- Механизмът за идентификация на елементите е чудесна функция в кодирания потребителски интерфейс. Също така поддържа синхронизация
- Двигателят за възпроизвеждане поддържа функции като „WaitForControlExist“, „WaitForReadyLevel“ и др.
- С помощта на „Тестови агенти“ тестовете за автоматизация могат да се изпълняват на отдалечени машини
- Екипите за автоматизация могат да разработят сложни тестове, като използват кодиран потребителски интерфейс с многослойна рамка
- Софтуерните тестери могат да улавят изключения и да записват резултата, ефективно използвайки log4net.dll
- Инструментът с кодиран потребителски интерфейс поддържа описателно програмиране. Той позволява на софтуерните тестери да автоматизират сценарии въз основа на свойствата на обекта
- Той поддържа AJAX контроли.
Как да създам кодирани UI тестове (CUIT)
За да създадете кодирани UI тестове, можете да го направите по следните начини.
- Генериране от съществуващ запис на действие (конвертиране от ръчен тестов запис)
- Създаване на нов кодиран UI тест от нулата
- Писане на код от нулата
Съдържание на кодиран UI тест
Когато създавате кодиран UI тест, създателят на тестван UI тест създава Map. Това включва тествания потребителски интерфейс, тестови методи, параметри, твърдения и др. За всеки тест той също създава файл с клас.
Файл | Съдържание | Може да се редактира |
---|---|---|
UIMap.Designer.cs | Раздел за декларация Свойства на методите на класа на UIMap | Не |
UIMap.cs | UIMap клас (частичен) | Да |
CodedUITest1.cs | CodeUITest1 клас Методи Свойства | Да |
UIMap.uitest | XML картата на потребителския интерфейс за теста. Редактира се само чрез редактора на UI Map | Не |
- UIMap.Designer.cs : Дизайнерът съдържа кодовия изглед на UIMap. Той се генерира, когато тестер записва някакво взаимодействие с потребителския интерфейс или когато някои обекти се добавят ръчно към UIMap.
- UIMap.cs : Всяка модификация или персонализация, направена на UIMap, се съхранява в този файл. Първоначално този файл ще бъде празен и може да бъде попълнен по-късно. Ако модификациите са директно свързани с файла UIMap.designer.cs, уверете се, че той не е записан, в противен случай всички промени ще бъдат загубени.
- CodedUITest1.cs : Този файл съдържа тестван клас на кодиран потребителски интерфейс, тестови методи, извикване на твърдение и извикване на метод. Всички твърдения и методи по подразбиране се извикват от този файл.
- UIMap.uitest : Това е XML представяне на класа UIMap. Включва прозорци, контроли, свойства, методи, действия и твърдения. Редактира се само чрез редактора на UI Map
Как да извършите кодиран UI тест
Кодираният потребителски интерфейс има два различни начина за провеждане на тест за вашето приложение.
- Кодиран UI запис и възпроизвеждане или
- Кодиран потребителски интерфейс Ръчно кодиране
Трябва да изпълните следната стъпка, за да извършите кодиран UI тест,
- Създайте тестван проект за кодиран потребителски интерфейс
- Добавете кодиран тестов файл на потребителския интерфейс
- Запишете последователност от действия
- Проверете стойностите в полетата на потребителския интерфейс, като текстови полета
- Вижте генерирания тестов код
- Добавете още действия и твърдения
- Редактирайте подробностите за тестовите дейности и твърденията
- Пуснете теста
Най-добри практики за тестване на кодиран потребителски интерфейс (CUIT)
Ето някои най-добри практики за кодиран UI тест,
- Използвайте Coded UI Test Builder, когато е възможно
- Опитайте се да не модифицирате директно файла UIMap.designer.cs. В противен случай промените, които сте направили във файла, ще бъдат заменени
- Създайте своя тест като последователност от записани методи
- Всеки записан метод трябва да действа на една страница, формуляр или диалогов прозорец. Също така създайте нов метод за тестване за всяка нова форма, страница или диалогов прозорец
- Когато създавате метод, вместо името по подразбиране използвайте смислено име на метод. Значително име помага да се определи целта на метода
- Ако е възможно, ограничете всеки записан метод до по-малко от 10 действия. Този подход улеснява подмяната на метод, ако потребителският интерфейс се промени.
- За да създадете твърдение, използвайте кодиран UI конструктор на тестове. Той автоматично добавя метод за твърдение към файла UIMap.Designer.cs.
- Запишете отново тестовите методи / методи за твърдение, ако потребителският интерфейс промени или презапише засегнатите раздели на съществуващ тестов метод.
- Ако директно кодирате с API, използвайте методите и свойствата в класовете, създадени във файла UIMap.Designer.cs. Тези класове ще направят работата ви по-надеждна и по-лесна и ще ви помогнат да бъдете по-продуктивни.
Сравнение на кодиран UI тест Vs. Селен срещу QTP
По-долу е таблицата за сравнение на кодирания UI тест с други инструменти за автоматизация.
- Селенът не поддържа никакви WPF, както и приложения на Windows
- Кодираният потребителски интерфейс на Visual Studio поддържа тестване на приложения за магазини на Windows, както и тестване на приложения за Window Phone. Никой друг инструмент не поддържа това.
- Завършването на теста поддържа приложение за Windows, но изисква да бъде инсталиран плъгин.
Резюме:
- Автоматизираните тестове, които управляват вашето приложение чрез неговия потребителски интерфейс (UI), са известни като кодирани UI тестове (CUIT).
- Кодираният потребителски интерфейс поддържа технологии като уеб услуги, приложения за телефон с прозорец, уеб приложения и др.
- Кодираният потребителски интерфейс позволява на разработчиците и тестерите на софтуер да си сътрудничат ефективно, използвайки същите инструменти / език
- Включва съдържанието или файл, създаден при използване на кодиран потребителски интерфейс
- UIMap.Designer.cs
- UIMap.cs
- CodedUITest1.cs
- UIMap.uitest