Змест[Схаваць][Паказаць]
Кожная каманда вэб-распрацоўшчыкаў праводзіць набор тэстаў на сваіх прадуктах, аднак вэб-рашэнне, якое даецца пазней, мае недахопы.
Нават пры найлепшым ручным тэсціраванні дэфекты непазбежна закрадаюцца і з'яўляюцца зноў, нягледзячы на намаганні каманды кантролю якасці выявіць іх да першага выпуску.
Калі справа даходзіць да павышэння эфектыўнасці і аб'ёму тэсціравання вашага праграмнага забеспячэння, аўтаматызаванае вэб-тэсціраванне - ваш лепшы выбар.
Для анлайн-тэсціравання Python мова праграмавання прапануе структуру робата, якая можа выкарыстоўваць знешнія бібліятэкі, такія як селен.
У гэтай публікацыі мы разгледзім тэставыя прыклады і іншыя тэрміны, звязаныя са структурай робата Python.
Што такое каркас робата?
Рамка для робатаў гэта гнуткая агульная сістэма аўтаматызацыі з адкрытым зыходным кодам, напісаная на Python, якая выкарыстоўваецца для аўтаматызаванага тэсціравання праграмнага забеспячэння, аўтаматызацыі рабатызаваных працэсаў, прыёмачнага тэсціравання і распрацоўкі, арыентаванай на прыёмачныя тэсты.
Простымі словамі, гэта сістэма аўтаматызацыі тэсціравання на аснове ключавых слоў на аснове Python.
Гэта дазваляе тэстарам аўтаматызаваць і эфектыўна падтрымліваць складаныя сцэнарыі працэсаў. Фреймворк можна выкарыстоўваць для тэставання карыстальніцкіх інтэрфейсаў і інтэрфейсаў праграмавання прыкладанняў.
Гэта дазваляе інжынерам-выпрабавальнікам выкарыстоўваць Selenium у дадатак да мноства іншых інтэграцый. Selenium - гэта галіновы стандартны інструмент для аўтаматызацыі паводзін карыстальнікаў і напісання сцэнарыяў узаемадзеяння вэб-браўзера для любога вэб-сайта.
Што такое прыёмачныя выпрабаванні?
Гэта спосаб вызначэння ёмістасці сістэмы. Мэтай прыёмачнага тэсціравання з'яўляецца ацэнка магчымасцяў сістэмы ў сувязі з патрэбамі бізнесу.
Што такое рабатызаваных аўтаматызацыя працэсаў?
RPA, або рабатызаваная аўтаматызацыя працэсаў, - гэта метад мінімізацыі чалавечай працы з дапамогай праграмнага забеспячэння, якое ўключае навучанне з дапамогай машыны і магчымасці штучнага інтэлекту. RPA выкарыстоўваецца для аўтаматызацыі паўтаральных працэсаў высокага ўзроўню.
Што такое распрацоўка, арыентаваная на прыёмачныя выпрабаванні?
Распрацоўка на аснове прыёмачнага тэставання, часта вядомая як ATDD, - гэта методыка распрацоўкі, якая абапіраецца на зносіны паміж бізнес-кліентамі, распрацоўшчыкамі і тэсціроўшчыкамі. Яны супрацоўнічаюць і праводзяць прыёмачныя выпрабаванні перад разгортваннем функцыі.
Фреймворк робата – архітэктура высокага ўзроўню
Robot Framework - гэта структура, якая не залежыць ад прыкладанняў і тэхналогій. Яго архітэктура вельмі модульная, як відаць на малюнку ніжэй.
Тэставыя дадзеныя прадстаўлены ў простым таблічным фармаце, які можна рэдагаваць. Robot Framework аналізуе даныя, праводзіць тэсты і стварае журналы і справаздачы пры запуску.
Асноўны фрэймворк не мае ведаў аб тэсціруемай мэты, і бібліятэкі кіруюць усімі ўзаемадзеяннямі з ёй. Бібліятэкі могуць выкарыстоўваць інструменты тэсціравання ніжэйшага ўзроўню ў якасці драйвераў або непасрэдна выкарыстоўваць інтэрфейсы прыкладанняў.
Асаблівасці
- Гэта палягчае тэсціраванне на аснове дадзеных, дазваляючы аўтаматызаваць тэставанне для розных тыпы дадзеных.
- Ён пазбягае выкарыстання значнай колькасці кода і замест гэтага выкарыстоўвае стратэгію тэставання, арыентаваную на паводзіны.
- Ён можа працаваць з бібліятэкамі і функцыямі ад іншых асоб.
- Ключавыя словы (загадзя вызначаныя або вызначаныя карыстальнікам) выкарыстоўваюцца ў таблічным стылі для напісання тэстаў.
- Карыстальнікі могуць ствараць ключавыя словы.
- Дапускаецца выкарыстанне зменных.
- Фрэймворк выкарыстоўвае метад, які кіруецца ключавымі словамі, у якім скрыпты пішуцца з дапамогай малюсенькіх, лёгка зразумелых тэрмінаў (папярэдне вызначаных або вызначаных карыстальнікам).
- Пасля кожнай зборкі справаздачы,
- і ствараюцца часопісы.
- Ён стварае падрабязныя справаздачы і журналы пра стан выканання сцэнарыя, што асабліва карысна ў выпадку збою сцэнарыя.
Падручнік па робатам
Давайце паглыбімся ст.
1. Устаноўка рамкі робата
Пакет pip прапануецца для ўстаноўкі фреймворка робата ў Python. Каб усталяваць фрэймворк, выканайце наступную каманду.
Вы павінны мець магчымасць праглядаць версіі інтэрпрэтатара і робата пасля паспяховай устаноўкі з дапамогай опцыі -version.
2. Бібліятэкі
- Убудаваная - гэта стандартная бібліятэка, якая змяшчае набор часта выкарыстоўваюцца ключавых слоў, якія аўтаматычна імпартуюцца і даступныя ў любы час.
- Калекцыя – забяспечвае набор ключавых слоў для працы са спісамі і слоўнікамі Python. Ключавыя словы бібліятэкі можна выкарыстоўваць для змены і стварэння значэнняў са спісаў і слоўнікаў.
- Дыялогі - стандартная бібліятэка для прыпынку выканання і атрымання водгукаў карыстальнікаў. У залежнасці ад таго, ці выконваюцца тэсты, дыялогавыя вокны трохі непаслядоўныя.
- DateTime дазваляе ствараць і змяняць інфармацыю пра дату і час.
- Аперацыйная сістэма – гэта дазваляе рамцы робата выконваць розныя задачы, звязаныя з аперацыйнай сістэмай, падчас яе працы. Ён можа, сярод іншага, выконваць інструкцыі і ствараць і змяняць дадзеныя непасрэдна.
- Працэс - гэтая бібліятэка выкарыстоўваецца для запуску працэсаў з выкарыстаннем падмодуляў Python і адкрытага класа. Ключавое слова run process выкарыстоўваецца для чакання запушчанага працэсу ў сістэме і яго кампіляцыі.
- XML таксама з'яўляецца тэкставай бібліятэкай, якая выкарыстоўваецца робатам для праверкі і змены дакументаў XML.
- Радок - гэта пакет для маніпулявання і праверкі радкоў.
- Прыкладанне Telnet дазваляе ўзаемадзейнічаць праз Telnet. Бібліятэка Telnet дазваляе падключацца да сервера Telnet праз звычайнае злучэнне TCP/IP і выконваць каманды.
3. Убудаваныя інструменты
У рамках робата выкарыстоўваюцца ў асноўным чатыры ўбудаваныя інструменты:
- Rebot – Інструменты для стварэння часопісаў і справаздач з вываду XML і аб'яднання шматлікіх вывадаў адначасова.
- Testdoc — На аснове тэставых выпадкаў Robot Framework стварае дакументацыю высокага ўзроўню HTML.
- Libdoc – Генератар дакументацыі па ключавых словах для бібліятэк і файлаў рэсурсаў.
- Tidy – Robot Framework Tools для ачысткі і пераўтварэння файлаў дадзеных у іншы фармат.
4. Тэставыя выпадкі
Замест аўтаматызаваных тэстаў тэсты ў рамках робата могуць быць напісаны на базавай англійскай мове. Для класіфікацыі тэставых сцэнарыяў можна выкарыстоўваць наступныя тэсты.
- Тэсты працоўнага працэсу
- Тэсты вышэйшага ўзроўню
- Тэсты, якія кіруюцца дадзенымі
Тэсты працоўнага працэсу
Тэставыя прыклады робата часта пішуцца ў таблічным сінтаксісе. Першы слупок табліцы тэстаў утрымлівае назвы тэстаў, і тэст пачынаецца з любога ў слупку і заканчваецца назвай наступнага тэсту або канцом табліцы.
Давайце паглядзім на рэальны прыклад, каб зразумець, як гэта працуе.
- Карыстальнік можа стварыць уліковы запіс і ўвайсці ў сістэму.
- Карыстальнік не зможа ўвайсці ў сістэму, калі пароль няправільны.
Тэсты высокага ўзроўню
Другі слупок звычайна змяшчае назву ключавога слова, за выключэннем зменных з усталяванымі ключавымі словамі.
Тэставыя прыклады робата-фреймворка могуць быць створаны з выкарыстаннем толькі ключавых слоў высокага ўзроўню без пазіцыйных параметраў. Для далейшага разумення тэсціравання высокага ўзроўню разгледзім наступны прыклад.
Тэсты, якія кіруюцца дадзенымі
Тэставанне, якое кіруецца дадзенымі, ізалюе тэставыя дадзеныя, а не мадэлюе працэдуры. У рамках робата налада [template] вызначае тэставы прыклад для тэсту, які кіруецца дадзенымі.
5. Ключавыя словы
Каб пабудаваць тэставыя прыклады ў рамках робата, выкарыстоўваюцца ключавыя словы з двух крыніц.
- Ключавыя словы для бібліятэкі
- Ключавыя словы для карыстальніка
Ключавыя словы для бібліятэкі
Стандартныя бібліятэкі вызначаюць усю тэрміналогію самага нізкага ўзроўню, якая можа быць рэалізавана з дапамогай кампутарных моў, такіх як Python і Java.
Стандартныя, знешнія і карыстальніцкія бібліятэкі ўваходзяць у лік тэставых бібліятэк, даступных з платформай робата. Асноўная структура ўключае ў сябе ўбудаваныя бібліятэкі, бібліятэкі скрыншотаў, АС і іншыя стандартныя бібліятэкі.
Ключавыя словы для карыстальніка
Здольнасць ствараць унікальныя ключавыя словы высокага ўзроўню з існуючых фраз - адна з найважнейшых асаблівасцей канструкцыі робата. Каб больш зразумець, як гэта працуе, давайце паглядзім на прыклад.
6. зменныя
Зменныя з'яўляюцца важнай часткай кожнага тэсту ў рамках робата. Пераменная - выдатны падыход да ўказання любых даных у тэставым выпадку, якія могуць быць зменены або зменлівыя.
Давайце паглядзім, як вызначыць зменныя ў тэставым выпадку.
Заданне зменных
Акрамя вызначаных карыстальнікам зменных, структура робата мае ўбудаваныя зменныя, такія як $TEMPDIR і $/, якія мы выкарыстоўвалі ў папярэднім прыкладзе.
Выкарыстанне зменных
Зменныя можна выкарыстоўваць дзе заўгодна ў тэставым выпадку.
Аднак часцей за ўсё яны выкарыстоўваюцца ў якасці ключавых аргументаў. Разгледзім наступны прыклад, каб праілюстраваць, што я маю на ўвазе.
7. Арганізацыя тэставых выпадкаў
Файлы тэстаў выкарыстоўваюцца для стварэння тэстаў робатаў, але яны таксама могуць быць згрупаваны ў каталогі для стварэння іерархіі набораў тэстаў. Набор тэстаў - гэта група тэстаў. Набор тэстаў складаецца з усіх файлаў, якія змяшчаюць тэсты.
Выкарыстоўваючы каталогі, тэсты могуць быць структураваныя ў іерархіі; усе гэтыя каталогі забяспечваюць наборы тэсціравання высокага ўзроўню з імёнамі, атрыманымі з імёнаў каталогаў.
Выкарыстанне налад і дэмантажу
Параметры табліцы налад «Настройка тэсту» і «Разборка тэсту» можна выкарыстоўваць для выканання пэўнага ключавога слова ў тэсце да або пасля яго завяршэння. Вы таксама можаце выкарыстоўваць «Suite Setup» і «Suite Teardown» для выканання ключавых слоў да або пасля тэставага пакета.
Вы можаце стварыць уласныя [Setup] і [Teardown] у тэставым выпадку, падобным да [Template]. Разгледзім наступны сцэнар, каб лепш зразумець гэта.
Выкарыстанне тэгаў
Фреймворк робата дазваляе выкарыстоўваць тэгі для прадастаўлення бясплатных метададзеных для тэставых выпадкаў. «Прымусовыя тэгі» і «Тэгі па змаўчанні» можна выкарыстоўваць для ўстаноўкі тэгаў у файле. [Тэгі], як і [Шаблон], можна выкарыстоўваць для прызначэння тэгаў асобнаму тэсту. Давайце паглядзім на прыклад, каб убачыць, як мы выкарыстоўваем тэгі.
Справаздача будзе ўключаць тэгі са звязанымі з імі тэставымі прыкладамі, а таксама статыстыку на аснове тэгаў пасля выканання.
Прафесіяналы
- Наладзіць Robot Framework лёгка.
- Ён заснаваны на выкарыстанні ключавых слоў.
- Гэта дазваляе выкарыстоўваць карнішон.
- Гэта працуе з абодвума мабільныя і вэб-праграмы.
- Асновы Robot Framework лёгка зразумець.
- Ён выкарыстоўвае падыход з нізкім кодам.
- Windows, Mac OS X, Unix і Linux падтрымліваюцца.
- Python, IronPython і PyPy падтрымліваюцца мовамі праграмавання.
- Ён працуе з усімі асноўнымі вэб-браўзерамі.
- Robot Framework - гэта бясплатны інструмент аўтаматызацыі з адкрытым зыходным кодам.
мінусы
- Паралельнае выкананне тэстаў не падтрымліваецца Robot Framework.
- За Robot Framework цяжка паспяваць.
- Справаздачы HTML у Robot Framework цяжка змяніць.
- Адладка некаторых праблем Robot Framework можа быць складанай.
- Водступы строга выконваюцца ў Robot Framework.
заключэнне
Платформа робатаў - гэта бясплатная платформа для прыёмачнага тэсціравання з адкрытым зыходным кодам і праграма распрацоўкі, арыентаваная на прыёмачныя тэсты.
Тэставыя прыклады робата-фреймворка пабудаваны на ключавых словах, выражаных у таблічным стылі, што робіць іх лёгкімі для разумення і дае дакладную інфармацыю аб значэнні тэставага выпадку.
Гэта вельмі зручна і проста ў выкарыстанні.
Некаторыя з вас выкарыстоўвалі яго раней, так што, калі ў вас наладжаны тэсты і ваша праграма для Android / iOS гатовая да працы, паспрабуйце.
Вы будзеце здзіўлены тым, наколькі добра ўсё працуе і як хутка можна будзе завяршыць прыёмачныя выпрабаванні.
Пакінуць каментар