Водич за испитивање угломера: Оквир алата за аутоматизацију

Преглед садржаја:

Anonim

Шта је испитивање угломером?

ПРОТРАЦТОР је алат за аутоматизацију и тестирање засновано на понашању, који игра важну улогу у тестирању апликација АнгуларЈС и ради као интегратор решења комбинујући моћне технологије попут селена, јасмина, веб драјвера итд. Сврха тестирања кутомјера није само за тестирање апликација АнгуларЈС, већ и за писање аутоматизованих регресионих тестова за нормалне веб апликације.

У овом почетном упутству научићете-

  • Зашто нам је потребан оквир угломера?
  • Инсталација угломера
  • Узорак тестирања апликације АнгуларЈС помоћу кутомјера
  • Извршење законика
  • Генеришите извештаје помоћу јасмин репортера

Зашто нам је потребан оквир угломера?

ЈаваСцрипт се користи у готово свим веб апликацијама. Како апликације расту, ЈаваСцрипт такође повећава величину и сложеност. У том случају тестерима постаје тежак задатак да тестирају веб апликацију за различите сценарије.

Понекад је тешко ухватити веб елементе у апликацијама АнгуларЈС помоћу ЈУнит или Селениум ВебДривер.

Протрацтор је НодеЈС програм који је написан на ЈаваСцрипт-у и ради са Ноде-ом за идентификацију веб елемената у апликацијама АнгуларЈС, а такође користи ВебДривер за контролу прегледача помоћу корисничких радњи.

Ок, у реду, хајде да разговарамо шта је тачно апликација АнгуларЈС?

Апликације АнгуларЈС су веб апликације које користе проширену ХТМЛ синтаксу за изражавање компоненти веб апликација. Углавном се користи за динамичке веб апликације. Ове апликације користе мање флексибилног кода у поређењу са уобичајеним веб апликацијама.

Зашто не можемо да пронађемо угаоне ЈС веб елементе помоћу управљачког програма Нормал Селениум Веб?

Угаоне ЈС апликације имају неке додатне ХТМЛ атрибуте попут нг-репетитора, нг-контролера, нг-модела ... итд., Који нису укључени у Селениум локаторе. Селениум није у стању да идентификује те веб елементе помоћу селениум кода. Дакле, кутомер на врху Селениум може да обрађује и контролише те атрибуте у веб апликацијама.

Кутомер је оквир за тестирање од краја до краја за апликације засноване на Ангулар ЈС. Док се већина оквира фокусира на спровођење јединичних тестова за Ангулар ЈС апликације, Протрацтор се фокусира на тестирање стварне функционалности апликације.

Пре него што покренемо кутомер, морамо да инсталирамо следеће:

  1. Селен

    Кораке инсталације Селениум можете пронаћи на следећим везама (хттпс://ввв.гуру99.цом/инсталлинг-селениум-вебдривер.хтмл)

  2. НПМ (Ноде.јс)

    Инсталација НодеЈС-а, морамо инсталирати НодеЈС да бисмо инсталирали Протрацтор. Ове кораке за инсталацију можете пронаћи на следећем линку. (хттпс://ввв.гуру99.цом/довнлоад-инсталл-ноде-јс.хтмл)

Инсталација угломера

Корак 1) Отворите командну линију и откуцајте "нпм инсталл -г кутомер" и притисните Ентер .

Горња команда ће преузети потребне датотеке и инсталирати Протрацтор на клијентском систему.

Корак 2) Проверите инсталацију и верзију помоћу Кутомер - верзија . Ако успе, приказаће се верзија као на доњем снимку екрана. Ако није, поновите корак 1 поново.

(Кораци 3 и 4 су опционални, али се препоручују за бољу праксу)

Корак 3) Ажурирајте управљач веб управљачким програмима. Менаџер веб управљачког програма користи се за покретање тестова против угаоне веб апликације у одређеном прегледачу. Након што се инсталира Протрацтор, управитељ веб управљачког програма треба да се ажурира на најновију верзију. То се може постићи покретањем следеће наредбе у командној линији.

webdriver-manager update

Корак 4) Покрените управљач веб управљачким програмима. Овај корак ће покренути управитеља веб управљачког програма у позадини и преслушати све тестове који се покрећу преко угломера.

Једном када се Протрацтор користи за покретање било ког теста, веб управљачки програм ће се аутоматски учитати и покренути тест у одговарајућем прегледачу. Да бисте покренули управитеља веб управљачког програма, из командне линије треба извршити следећу наредбу.

webdriver-manager start

Сада, ако одете на следећу УРЛ адресу ( хттп: // лоцалхост: 4444 / вд / хуб / статиц / ресоурце / хуб.хтмл ) у свом прегледачу, у ствари ћете видети управљач веб управљачким програмима покренут у позадини.

Узорак тестирања апликације АнгуларЈС помоћу кутомјера

За покретање кутомјера потребне су двије датотеке, датотека са спецификацијама и датотека са конфигурацијом .

  1. Конфигурациона датотека : Ова датотека помаже кутомеру до места на које су смештене тест датотеке (спецс.јс) и разговора са Селениум сервером (Селениум Аддресс). Цхроме је подразумевани прегледач за Протрацтор.
  1. Датотека спецификација: Ова датотека садржи логику и локаторе за интеракцију са апликацијом .

Корак 1) Морамо се пријавити хттпс://ангуларјс.орг и у поље за унос текста „Унесите име овде“ унети текст као „ГУРУ99“.

Корак 2) У овом кораку,

  1. Унео име "Гуру99"
  2. У излазном тексту се види „Хелло Гуру99“.

Корак 3) Сада морамо да ухватимо текст са веб странице након уноса имена и треба да верификујемо са очекиваним текстом .

Шифра:

Морамо припремити конфигурациону датотеку (цонф.јс) и спец датотеку (спец.јс) као што је горе поменуто.

Логика спец.јс:

describe('Enter GURU99 Name', function() {it('should add a Name as GURU99', function() {browser.get('https://angularjs.org');element(by.model('yourName')).sendKeys('GURU99');var guru= element(by.xpath('html/body/div[2]/div[1]/div[2]/div[2]/div/h1'));expect(guru.getText()).toEqual('Hello GURU99!');});});

Објашњење кода спец.јс:

  1. описати ('Унесите ГУРУ99 име', функција ()

    Синтакса је описана из оквира Јасмине. Овде "десцри" ('Ентер ГУРУ99 Наме') обично дефинише компоненте апликације, које могу бити класа или функција итд. У скупу кодова који се назива "Ентер ГУРУ99", то је само низ, а не код.

  2. ит ('треба додати име као ГУРУ99', функција ()
  3. бровсер.гет ('хттпс://ангуларјс.орг')

    Као и у програму Селениум Вебдривер бровсер.гет отвориће нову инстанцу прегледача са поменутим УРЛ-ом.

  4. елемент (би.модел ('вашеИме')). сендКеис ('ГУРУ99')

    Овде проналазимо веб елемент користећи име модела као „иоурНаме“, што је вредност „нг-модел“ на веб страници. Погледајте снимак екрана испод -

  1. вар гуру = елемент (би.кпатх ('хтмл / боди / див [2] / див [1] / див [2] / див [2] / див / х1'))

    Овде проналазимо веб елемент користећи КСПатх и чувамо његову вредност у променљивој „гуру“ .

  2. очекивати (гуру.гетТект ()). тоЕкуал ('Здраво ГУРУ99!')

    На крају верификујемо текст који смо добили са веб странице (користећи геттект ()) са очекиваним текстом.

Логика цонф.јс:

exports.config = {seleniumAddress: 'http://localhost:4444/wd/hub',specs: ['spec.js']};

Објашњење кода цонф.јс

  1. селениумАддресс: 'хттп: // лоцалхост: 4444 / вд / хуб'

    Датотека за конфигурацију каже Кутомеру локацију Селениум адресе да разговара са Селениум ВебДривер-ом.

  2. спецификације: ['спец.јс']

    Овај ред каже Протрактору локацију тест датотека спец.јс

Извршење законика

Овде ћемо прво променити путању до директоријума или доћи до фасцикле у којој су смештени цонфи.јс и спец.јс у нашем систему .

Следите следећи корак.

Корак 1) Отворите командну линију.

Корак 2) Уверите се да је управљач управљачким програмом за селенски веб покренут. За то дајте команду као "вебдривер-манагер старт" и притисните Ентер .

(Ако селенски веб управљачки програм није покренут, не можемо наставити са тестом јер Протрацтор не може пронаћи веб управљачки програм за руковање веб апликацијом)

Корак 3) Отворите нову командну линију и дајте команду као "протрацтор цонф.јс" да бисте покренули конфигурациону датотеку.

Објашњење:

  • Овде ће Протрацтор извршити конфигурациону датотеку са датом спецификационом датотеком у њој.
  • Можемо видети селенски сервер покренут на „ хттп: // лоцалхост: 4444 / вд / хуб “ који смо навели у датотеци цонф.јс.
  • Такође, овде можете видети резултат колико је прошло и неуспеха као на горњем снимку екрана .

У реду, верификовали смо резултат када је усвојен или како се очекивало. Погледајмо сада и неуспешни резултат.

Корак 1) Отворите и очекујте да ће промена резултирати у спец.јс у "'Хелло цханге ГУРУ99" као испод.

После промене у спец.јс :

describe('Enter GURU99 Name', function() {it('should add a Name as GURU99', function() {browser.get('https://angularjs.org');element(by.model('yourName')).sendKeys('GURU99');var guru= element(by.xpath('html/body/div[2]/div[1]/div[2]/div[2]/div/h1'));expect(guru.getText()).toEqual('Hello change GURU99!');});});

Корак 2) Спремите датотеку спец.јс и поновите горње кораке у одељку „Извршење кода“

Сада извршите горње кораке.

Резултат:

Резултат можемо видети као неуспешан и означен са „Ф“ на снимку екрана, а разлог је „Очекивано„ Здраво ГУРУ99! “ да се изједначи са „Здраво, промени ГУРУ99!“. Такође показује колико се грешака сусреће приликом извршавања кода.

Да ли можемо то исто постићи помоћу веб покретачког програма Селениум?

Понекад можемо идентификовати веб елементе апликација АнгуларЈС помоћу КСПатх или ЦСС селектора из Селениум веб управљачког програма. Али у апликацијама АнгуларЈС, елементи ће се генерисати и мењати динамички. Дакле, Протрацтор је боља пракса за рад са апликацијама АнгуларЈС.

Генеришите извештаје помоћу јасмин репортера

Кутомер подржава новинаре Јасмине да генеришу извештаје о испитивањима. У овом одељку ћемо користити ЈунитКСМЛРепортер за аутоматско генерисање извештаја о извршењу теста у КСМЛ формату.

Следите кораке у наставку да бисте генерисали извештаје у КСМЛ формату.

Инсталација Јасмине Репортер

Постоје два начина на која то можете учинити локално или глобално

  1. Отворите командну линију и извршите следећу наредбу за локалну инсталацију
npm install --save-dev jasmine-reporters@^2.0.0 

Изнад наредба ће инсталирати јасмин извештаје ноде-модуле локално, значи из директоријума у ​​којем извршавамо наредбу у командној линији.

  1. Отворите командну линију и извршите следећу наредбу за глобалну инсталацију
npm install -g jasmine-reporters@^2.0.0

У овом упутству ћемо локално инсталирати извештаче о јасмину .

Корак 1) Извршите наредбу.

npm install --save-dev jasmine-reporters@^2.0.0

из командне линије као доле.

Корак 2) Проверите инсталационе фасцикле у директоријуму . „Ноде_модулес“ би требали бити доступни ако је успешно инсталиран као на доњем снимку.

Корак 3) Додајте следећи обојени код постојећој датотеци цонф.јс

exports.config = {seleniumAddress: 'http://localhost:4444/wd/hub',capabilities: {'browserName': 'firefox'},specs: ['spec.js'],framework: 'jasmine2' ,onPrepare: function() {var jasmineReporters = require('C:/Users/RE041943/Desktop/guru/node_modules/jasmine-reporters');jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter(null, true, true));}};

Објашњење кода:

У коду генеришемо извештај „ ЈУнитКсмлРепортер “ и дајемо путању где треба да се складишти извештај.

Корак 4) Отворите командну линију и извршите кутомер за померање цонф.јс.

Корак 5) Када извршите горњи код, јунитресултс.кмл ће се генерисати у поменутој путањи.

Корак 6) Отворите КСМЛ и проверите резултат. Порука о неуспеху приказана је у датотеци резултата јер наш тестни случај није успео. Тест случај није успео јер се Очекивани резултат из „спец.јс“ не подудара са стварним резултатом са веб странице

Корак 7) Користите датотеку јунитресулт.кмл за доказе или датотеке резултата.

Резиме:

Иако селениј може да уради неке ствари које ради кутомер, кутомер је индустријски стандард и најбоља пракса за тестирање апликација АнгуларЈС. Кутомер такође може да управља вишеструким могућностима у њему и да управља динамичким променама веб елемената помоћу нг-модела, нг-клика ... итд. (Што селен не може).

Овај чланак је дао Рањитх Кумар Енисхетти