Урок за автоматизирана рамка за тестване на кодиран потребителски интерфейс

Типична софтуерна автоматизация Тестване изисква инструменти за автоматизация като Selenium и QTP. Кодираният потребителски интерфейс е подобен на тези инструменти и може да бъде особено полезен за функционални тестове.

Кодиран UI тест (CUIT) използва Visual Studio IDE за писане на скриптове, тъй като записът може да се извърши с Visual Studio.

Какво е кодиран UI тест?

Кодиран UI тест (CUIT) е автоматизиран тест, който задвижва приложения чрез своя потребителски интерфейс (UI). Оттук и името Coded UI Test (CUIT). Този тест включва функционално тестване на контролите на потребителския интерфейс. Той проверява функционалността на цялото приложение, включително потребителския интерфейс. Използва се и за автоматизиране на съществуващ ръчен тест.

Кодиран UI тест

UI тест Archiтекстура

Кодирани тестови функции на потребителския интерфейс

Функциите на кодирания потребителски интерфейс включват

  • Функционално тестване
  • Генериране на код във VB/C#
  • Интегриран с историята на ALM
  • Изградете, разположете и тествайте в лабораторията или като част от компилация
  • Локални, отдалечени работи, събиране на данни
  • Богата разширяемост
  • Запис с съзнание за намерение и устойчиво възпроизвеждане

Поддържани технологии за кодиран UI тест (CUIT).

С кодиран UI приложение, което има UI (потребителски интерфейс), може лесно да бъде тествано. Приложението може да бъде базирано на прозорец или уеб базирано.

Кодираният потребителски интерфейс поддържа технологии като

  • Настолни приложения, базирани на прозорци
  • Уеб услуги (SOAP, ASPX и др.)
  • Приложения за телефон с прозорец
  • WPF (Windows Презентация Foundation)
  • Уеб приложения (HTML, Silverlight, HTML5)

Защо да използвате кодиран потребителски интерфейс за автоматизация на тестовете

Причината, поради която кодираният потребителски интерфейс за автоматизация на тестове е предпочитан

  • Разработчиците и софтуерните тестери могат да си сътрудничат ефективно, като използват едни и същи инструменти/език.
  • Поддържа както уеб, така и Windows проекти.
  • Механизмът за идентификация на елемент е страхотна функция в Coded UI. Освен това поддържа синхронизация
  • Механизмът за възпроизвеждане поддържа функции като "WaitForControlExist", "WaitForReadyLevel" и др.
  • С помощта на „Тестови агенти“ тестовете за автоматизация могат да се изпълняват на отдалечени машини
  • Екипите за автоматизация могат да разработят сложни тестове, като използват кодиран потребителски интерфейс с многослойна рамка
  • Софтуерните тестери могат да улавят изключения и да записват резултата, използвайки ефективно log4net.dll
  • Кодиран UI инструмент поддържа описателно програмиране. Той позволява на софтуерните тестери да автоматизират сценарии въз основа на свойствата на обекта
  • Поддържа AJAX контроли.

Как да създадете кодирани UI тестове (CUIT)

За да създадете кодирани UI тестове, можете да го направите по следните начини.

  • Генериране от съществуващ запис на действие (конвертиране от ръчен тестов запис)
  • Създаване на нов кодиран UI тест от нулата
  • Писане на код от нулата

Съдържание на кодиран UI тест

Когато създавате кодиран тест на потребителския интерфейс, създателят на кодиран тест на потребителския интерфейс създава карта. Това включва потребителски интерфейс в процес на тестване, тестови методи, параметри, твърдения и т.н. За всеки тест се създава и клас файл.

досие съдържание Може да се редактира
UIMap.Designer.cs Секция за декларация UIMap Class Methods Properties Не
UIMap.cs UIMap клас (частично) Да
CodedUITest1.cs CodeUITest1 клас Методи Свойства Да
UIMap.uitest XML картата на потребителския интерфейс за теста. Редактира се само чрез редактор на UI Map Не
  1. UIMap.Designer.cs : Дизайнерът съдържа изгледа на кода на UIMap. Генерира се, когато тестер записва някакво взаимодействие с потребителския интерфейс или когато някои обекти се добавят ръчно към UIMap.
  2. UIMap.cs: Всички модификации или персонализации, извършени на UIMap, се съхраняват в този файл. Първоначално този файл ще бъде празен и може да бъде попълнен по-късно. Ако промените са направени директно във файла UIMap.designer.cs, уверете се, че не е записан, в противен случай всички промени ще бъдат загубени.
  • CodedUITest1.cs: Този файл съдържа кодиран UI тестов клас, тестови методи, извикване на твърдения и извикване на метод. Всички твърдения и методи се извикват по подразбиране от този файл.
  • UIMap.uitest: Това е XML представяне на класа UIMap. Той включва прозорци, контроли, свойства, методи, действия и твърдения. Редактира се само чрез редактор на UI Map

След това в този урок за кодиран потребителски интерфейс ще научим как да извършим автоматизиран тест за кодиран потребителски интерфейс.

Как да извършите кодиран UI тест

Кодираният потребителски интерфейс има два различни начина за провеждане на тест за вашето приложение.

  1. Кодиран UI запис и възпроизвеждане или
  2. Кодиран потребителски интерфейс Ръчно кодиране

Трябва да следвате следната стъпка, за да извършите тестване на кодиран потребителски интерфейс,

  1. Създайте тестов проект CodedUI
  2. Добавете кодиран тестов файл на потребителския интерфейс
  3. Запишете последователност от действия
  4. Проверете стойностите в полетата на потребителския интерфейс, като текстови полета
  5. Вижте генерирания тестов код
  6. Добавете още действия и твърдения
  7. Редактирайте подробностите за тестовите дейности и твърденията
  8. Изпълнете теста

Най-добри практики за кодиран UI тест (CUIT)

Ето някои най-добри практики за автоматизирана рамка за тестване на кодиран потребителски интерфейс:

  • Използвайте конструктора на тестове за автоматизация на кодиран потребителски интерфейс, когато е възможно
  • Опитайте се да не променяте директно файла UIMap.designer.cs. В противен случай промените, които сте направили във файла, ще бъдат презаписани
  • Създайте своя тест като последователност от записани методи
  • Всеки записан метод трябва да действа върху отделна страница, формуляр или диалогов прозорец. Освен това създайте нов тестов метод за всеки нов формуляр, страница или диалогов прозорец
  • Когато създавате метод, вместо името по подразбиране използвайте смислено име на метод. Смисленото име помага да се идентифицира целта на метода
  • Ако е възможно, ограничете всеки записан метод до по-малко от 10 действия. Този подход улеснява замяната на метод, ако потребителският интерфейс се промени.
  • За да създадете твърдение, използвайте инструмента за създаване на тестове CodedUI. Той автоматично добавя метод за утвърждаване към файла UIMap.Designer.cs.
  • Запишете отново методите за изпитване/методите за твърдения, ако потребителските интерфейси променят или записват отново засегнатите секции на съществуващ метод за изпитване.
  • Ако кодирате директно с API, използвайте методите и свойствата в класовете, създадени във файла UIMap.Designer.cs. Тези класове ще направят работата ви по-надеждна и лесна и ще ви помогнат да бъдете по-продуктивни.

Сравнение на кодиран UI тест срещу Selenium Срещу QTP

По-долу е таблицата за сравнение на кодиран потребителски интерфейс срещу Selenium Срещу QTP:

  • Selenium не поддържа никакъв WPF, както и Windows приложения
  • Visual Studio CodedUI поддържа тестване на приложението Window store, както и тестване на приложението Window Phone. Никой друг инструмент не поддържа това.
  • Завършеният тест поддържа Window Application, но изисква инсталиране на приставка.

Кодиран UI тест срещу Selenium Срещу QTP

Сравнение на кодиран UI тест срещу Selenium Срещу QTP

Резюме:

  • Автоматизираните тестове, които управляват вашето приложение през неговия потребителски интерфейс (UI), са известни като CodedUI тестове (CUIT).
  • Кодираната рамка за автоматизиране на тестване на потребителския интерфейс поддържа технологии като уеб услуги, приложения за телефон на Windows, уеб приложения и др.
  • Кодираното тестване на потребителския интерфейс позволява на разработчиците и Софтуерни тестери да си сътрудничат ефективно, като използват едни и същи инструменти/език
  • Включва съдържание или файл, създаден при използване на CodedUI
  • UIMap.Designer.cs
  • UIMap.cs
  • CodedUITest1.cs
  • UIMap.uitest