Talaan ng nilalaman[Tago][Ipakita]
Ang bawat web development team ay nagsasagawa ng isang hanay ng mga pagsubok sa mga produkto nito, ngunit ang solusyon sa web na ibinigay sa ibang pagkakataon ay may mga depekto.
Kahit na may pinakamahusay na manu-manong pagsubok, ang mga depekto ay hindi maiiwasang gumapang at muling lumitaw, sa kabila ng mga pagsisikap ng QA team na mahuli ang mga ito bago ang unang paglabas.
Pagdating sa pagtaas ng kahusayan at saklaw ng iyong pagsubok sa software, ang automated na pagsubok sa web ang iyong pinakamahusay na pagpipilian.
Para sa online na pagsubok, ang Python programming language nag-aalok ng robot framework na maaaring magamit ang mga panlabas na aklatan tulad ng selenium.
Sa post na ito, dadaan tayo sa mga test case at iba pang terminong konektado sa Python robot framework.
Ano ang isang robot framework?
Robot Framework ay isang flexible na open-source na generic automation framework na nakasulat sa Python na ginagamit para sa automated na software testing, robotic process automation, acceptance testing, at acceptance test-driven development.
Sa simpleng salita, ito ay isang Python-based na keyword-driven na test automation framework.
Nagbibigay-daan ito sa mga tester na i-automate at mapanatili ang mga kumplikadong script ng proseso nang mahusay. Maaaring gamitin ang balangkas upang subukan ang mga interface ng gumagamit at mga interface ng programming ng application.
Pinapayagan nito ang mga inhinyero ng pagsubok na gamitin ang Selenium bilang karagdagan sa maraming iba pang mga pagsasama. Ang Selenium ay isang tool na pamantayan sa industriya para sa pag-automate ng gawi ng user at pag-script ng mga pakikipag-ugnayan sa web browser na nakabatay sa gumagamit para sa anumang website.
Ano ang pagsubok sa pagtanggap?
Ito ay isang paraan ng pagtukoy sa kapasidad ng isang sistema. Ang layunin ng pagsubok sa pagtanggap ay upang masuri ang mga kakayahan ng isang sistema na may kaugnayan sa mga pangangailangan ng negosyo.
Ano ang robotic process automation?
Ang RPA, o robotic process automation, ay isang paraan ng pagliit ng paggawa ng tao sa pamamagitan ng paggamit ng software na nagsasama machine learning at mga kakayahan ng AI. Ginagamit ang RPA upang i-automate ang mataas na antas, paulit-ulit na mga proseso.
Ano ang acceptance test-driven development?
Ang acceptance test-driven na development, kadalasang kilala bilang ATDD, ay isang diskarte sa pag-develop na umaasa sa komunikasyon sa pagitan ng mga customer ng negosyo, developer, at tester. Nagtutulungan sila at nagsasagawa ng pagsubok sa pagtanggap bago i-deploy ang feature.
Robot framework – Mataas na antas ng arkitektura
Ang Robot Framework ay isang framework na agnostic ng aplikasyon at teknolohiya. Ang arkitektura nito ay napaka modular, tulad ng nakikita sa larawan sa ibaba.
Ang data ng pagsubok ay ipinakita sa isang simple, nae-edit na format ng tabular. Sinusuri ng Robot Framework ang data, nagsasagawa ng mga pagsubok na kaso, at gumagawa ng mga log at ulat kapag nagsimula na ito.
Ang pangunahing balangkas ay walang kaalaman sa target na nasa ilalim ng pagsubok, at pinamamahalaan ng mga aklatan ang lahat ng pakikipag-ugnayan dito. Maaaring gamitin ng mga aklatan ang mas mababang antas ng mga tool sa pagsubok bilang mga driver o direktang gumamit ng mga interface ng application.
Mga tampok
- Pinapadali nito ang data-driven na pagsubok sa pamamagitan ng pagpapahintulot para sa Test Automation para sa iba't-ibang uri ng data.
- Iniiwasan nito ang paggamit ng malalaking halaga ng code at sa halip ay gumagamit ng diskarte sa pagsubok na batay sa gawi.
- Maaari itong gumana sa mga library at function mula sa mga third party.
- Ang mga keyword (paunang natukoy o tinukoy ng gumagamit) ay ginagamit sa isang tabular na istilo upang magsulat ng mga kaso ng pagsubok.
- Ang mga gumagamit ay maaaring lumikha ng mga keyword.
- Ang mga variable ay pinapayagang gamitin.
- Gumagamit ang Framework ng paraan na hinihimok ng keyword, kung saan isinusulat ang mga script gamit ang maliliit, madaling maunawaang termino (alinman sa paunang natukoy o tinukoy ng gumagamit).
- Pagkatapos ng bawat pagbuo, mga ulat,
- at ang mga log ay nilikha.
- Bumubuo ito ng masusing ulat at mga tala ng katayuan ng pagpapatupad ng script, na partikular na kapaki-pakinabang kung sakaling mabigo ang script.
Tutorial sa robot framework
Let's dive in.
1. Pag-install ng robot framework
Ang pip package ay iminungkahi para sa pag-install ng robot framework sa Python. Upang i-install ang framework, patakbuhin ang sumusunod na command.
Dapat mong makita ang parehong mga bersyon ng interpreter at robot framework pagkatapos ng matagumpay na pag-install gamit ang opsyong -version.
2. Mga Aklatan
- Builtin - Ito ay isang karaniwang library na naglalaman ng isang hanay ng mga karaniwang ginagamit na keyword na awtomatikong ini-import at magagamit sa lahat ng oras.
- Koleksyon – Nagbibigay ito ng hanay ng mga keyword para sa pagtatrabaho sa mga listahan at diksyunaryo ng Python. Ang mga keyword ng library ay maaaring gamitin upang baguhin at lumikha ng mga halaga mula sa mga listahan at diksyunaryo.
- Mga Dialog – Isang karaniwang library para sa pagpapahinto sa pagpapatupad at pagkuha ng feedback ng user. Depende sa kung tumatakbo ang mga pagsubok, medyo hindi pare-pareho ang mga dialog.
- Binibigyang-daan ka ng DateTime na bumuo at magbago ng impormasyon sa petsa at oras.
- Operating System – Binibigyang-daan nito ang robot framework na gumawa ng iba't ibang mga gawaing nauugnay sa operating system sa system habang ito ay tumatakbo. Maaari itong, bukod sa iba pang mga bagay, magsagawa ng mga tagubilin at direktang gumawa at magbago ng data.
- Proseso – Ginagamit ang library na ito upang magpatakbo ng mga proseso gamit ang mga submodules ng Python at ang bukas na klase. Ang run process keyword ay ginagamit upang maghintay para sa isang tumatakbong proseso sa system at i-compile ito.
- Ang XML ay isa ring text library na ginagamit ng robot framework para i-verify at baguhin ang mga XML na dokumento.
- Ang string ay isang pakete para sa pagmamanipula at pagpapatunay ng mga string.
- Nalalapat ang Telnet na nagpapahintulot sa iyo na makipag-ugnayan sa pamamagitan ng telnet. Binibigyang-daan ka ng telnet library na kumonekta sa isang telnet server sa isang regular na koneksyon sa TCP/IP at magsagawa ng mga command.
3. Mga built-in na tool
Sa isang robot framework, pangunahing mayroong apat na built-in na tool na ginagamit:
- Rebot – Mga tool para sa paglikha ng mga log at ulat mula sa XML output at pagsasama-sama ng maraming output nang sabay-sabay.
- Testdoc — Batay sa mga pagsubok na kaso, ang Robot Framework ay lumilikha ng mataas na antas na dokumentasyon ng HTML.
- Libdoc – Tagabuo ng dokumentasyon ng keyword para sa mga aklatan at resource file.
- Tidy – Robot Framework Tools para sa paglilinis at pag-convert ng mga file ng data sa ibang format.
4. Mga kaso ng pagsubok
Sa halip na mga automated na test case, ang mga test case sa robot framework ay maaaring isulat sa basic na English. Ang mga sumusunod na pagsusulit ay maaaring gamitin upang pag-uri-uriin ang mga senaryo ng pagsubok.
- Mga Pagsubok sa Daloy ng Trabaho
- Mas mataas na antas ng Pagsusulit
- Mga Pagsusulit na batay sa data
Mga Pagsubok sa Daloy ng Trabaho
Ang mga kaso ng pagsubok ng robot framework ay madalas na nakasulat sa tabular syntax. Ang unang column ng test case table ay naglalaman ng mga pangalan ng pagsubok, at ang test case ay nagsisimula sa anumang nasa column at nagtatapos sa susunod na pangalan ng test case o sa dulo ng table.
Tingnan natin ang isang halimbawa sa totoong mundo upang maunawaan kung paano ito gumagana.
- Ang isang gumagamit ay maaaring lumikha ng isang account at mag-log in.
- Hindi makakapag-log in ang user kung mali ang password.
Mga High-level na Pagsusulit
Karaniwang may kasamang pangalan ng keyword ang pangalawang column, maliban sa pagtatakda ng mga variable na may mga value na nakasulat sa keyword.
Ang mga kaso ng pagsubok ng robot framework ay maaaring itayo gamit lamang ang mga keyword na may mataas na antas at walang mga positional na parameter. Upang higit na maunawaan ang mataas na antas ng pagsubok, isaalang-alang ang sumusunod na halimbawa.
Mga Pagsusulit na batay sa data
Inihihiwalay ng pagsubok na batay sa data ang data ng pagsubok sa halip na pagtulad sa mga pamamaraan. Sa robot framework, ang setting ng [template] ay tumutukoy sa kaso ng pagsubok para sa isang pagsubok na batay sa data.
5. Mga keyword
Upang bumuo ng mga kaso ng pagsubok sa framework ng robot, ginagamit ang mga keyword mula sa dalawang mapagkukunan.
- Mga Keyword para sa isang Library
- Mga keyword para sa Gumagamit
Mga Keyword para sa isang Library
Tinutukoy ng mga karaniwang aklatan ang lahat ng pinakamababang antas ng terminolohiya, na maaaring ipatupad gamit ang mga wika ng computer tulad ng Python at Java.
Ang mga standard, external, at custom na library ay kabilang sa mga test library na available sa robot framework. Kasama sa core framework ang built-in, screenshot, OS, at iba pang karaniwang library.
Mga keyword para sa Gumagamit
Ang kapasidad na bumuo ng mga natatanging keyword na may mataas na antas mula sa mga umiiral na parirala ay isa sa pinakamahalagang tampok ng disenyo ng robot. Upang higit pang maunawaan kung paano ito gumagana, tingnan natin ang isang halimbawa.
6. Mga variable
Ang mga variable ay isang mahalagang bahagi ng bawat test case sa isang robot framework. Ang variable ay isang mahusay na diskarte sa pagtukoy ng anumang data sa isang test case na napapailalim sa pagbabago o pagkakaiba-iba.
Tingnan natin kung paano tukuyin ang mga variable sa isang test case.
Pagtukoy sa mga Variable
Bukod sa mga variable na tinukoy ng gumagamit, ang framework ng robot ay may mga built-in na variable tulad ng $TEMPDIR at $/, na ginamit namin sa naunang halimbawa.
Paggamit ng mga Variable
Maaaring gamitin ang mga variable saanman sa test case.
Gayunpaman, ang mga ito ay pinakakaraniwang ginagamit bilang mga argumento ng keyword. Isaalang-alang ang sumusunod na halimbawa upang ilarawan kung ano ang ibig kong sabihin.
7. Pag-aayos ng mga kaso ng pagsubok
Ang mga test case file ay ginagamit upang bumuo ng mga robot test case, ngunit maaari din silang i-grupo sa mga direktoryo upang lumikha ng hierarchy ng test suite. Ang test suite ay isang pagpapangkat ng mga test case. Ang isang test suite ay binubuo ng lahat ng mga file na naglalaman ng mga kaso ng pagsubok.
Gamit ang mga direktoryo, ang mga kaso ng pagsubok ay maaaring isaayos sa isang hierarchy; lahat ng mga direktoryo na ito ay nagbibigay ng mga high-level na test suite na may mga pangalang hango sa mga pangalan ng direktoryo.
Paggamit ng Mga Setup at Teardown
Ang mga opsyon sa talahanayan ng mga setting na "Pagsusulit sa Pag-setup" at "Pagsubok ng Pagsubok" ay maaaring gamitin upang magsagawa ng isang partikular na keyword sa isang pagsubok bago o pagkatapos nito ay matapos. Maaari mo ring gamitin ang "Suite Setup" at "Suite Teardown" upang magsagawa ng mga keyword bago o pagkatapos ng isang test suite.
Maaari kang gumawa ng custom na [Setup] at [Teardown] sa isang test case, katulad ng [Template]. Isaalang-alang ang sumusunod na senaryo upang mas maunawaan ito.
Paggamit ng Mga Tag
Ang robot framework ay nagbibigay-daan sa mga tag na magamit upang magbigay ng libreng metadata sa mga kaso ng pagsubok. Maaaring gamitin ang “Force Tag” at “Default na Tag” para magtakda ng mga tag sa isang file. Ang [Mga Tag], tulad ng [Template], ay maaaring gamitin upang magtalaga ng mga tag sa isang pagsubok na case. Tingnan natin ang isang halimbawa upang makita kung paano namin ginagamit ang mga tag.
Isasama sa ulat ang mga tag na may mga test case na naka-link sa kanila, pati na rin ang mga istatistika batay sa mga tag, pagkatapos ng pagpapatupad.
Mga kalamangan
- Madaling i-set up ang Robot Framework.
- Ito ay batay sa paggamit ng mga keyword.
- Binibigyang-daan ka nitong gamitin ang Gherkin.
- Gumagana ito sa pareho mobile at web-based na apps.
- Ang mga pangunahing kaalaman ng Robot Framework ay madaling maunawaan.
- Gumagamit ito ng low-code approach.
- Ang Windows, Mac OS X, Unix, at Linux ay suportado lahat.
- Ang Python, IronPython, at PyPy ay sinusuportahan lahat ng mga programming language.
- Gumagana ito sa lahat ng mga pangunahing web browser.
- Ang Robot Framework ay isang libreng-gamitin, open-source na tool sa automation.
Kahinaan
- Ang parallel test execution ay hindi sinusuportahan ng Robot Framework.
- Ang Robot Framework ay mahirap na makasabay.
- Ang mga ulat sa HTML sa Robot Framework ay mahirap baguhin.
- Maaaring nakakalito ang pag-debug ng ilang isyu sa Robot Framework.
- Ang indentation ay mahigpit na ipinapatupad sa Robot Framework.
Konklusyon
Ang Robot Platform ay isang libre at open-source na pagsubok sa pagtanggap at balangkas ng pag-unlad na batay sa pagsubok sa pagtanggap.
Ang mga test case ng robot framework ay binuo sa mga keyword na ipinahayag sa isang tabular na istilo, na ginagawang madaling maunawaan ang mga ito at nagbibigay ng tumpak na impormasyon tungkol sa kahulugan ng test case.
Ito ay talagang maginhawa at simpleng gamitin.
Nagamit na ito ng ilan sa inyo, kaya kung na-set up mo na ang iyong mga pagsubok at handa nang gamitin ang iyong Android / iOS app, subukan ito.
Magugulat ka sa kung gaano kahusay tumakbo ang mga bagay at kung gaano kabilis makumpleto ang pagsubok sa pagtanggap.
Mag-iwan ng Sagot