Cucumber Selenium Tutorial - Malaman Kung Paano Magsagawa ng Pagsubok sa Website



Ang artikulong ito sa Cucumber Selenium Tutorial ay makakatulong sa iyo na maunawaan ang pagtatrabaho ng tool na Cucumber. Dagdagan mo ring matutunan kung paano isama ang pipino sa Selenium at magpatakbo ng iba't ibang mga kaso ng pagsubok.

Walang alinlangan na ay isa sa mga kamangha-manghang mga tool sa larangan ng , ngunit maaaring tila medyo mahirap para sa isang hindi pang-teknikal na tao na maunawaan ang pagtatrabaho nito dahil sa pagiging kumplikado ng code. Upang mapadali ang gawaing ito, ang pipino ay naglalaro, na ginagawang simple at madaling maunawaan ang kumplikadong code. Ngunit, paano ito eksaktong ginagawa? Sasabihin ko sa iyo ang lahat tungkol dito sa pamamagitan ng artikulong ito sa Cucumber Selenium Tutorial.

Nasa ibaba ang mga paksa sa artikulong ito:





Panimula sa Pipino

Cucumber logo - Cucumber Selenium Tutorial - Edureka

ay isang diskarte sa pagsubok / tool na sumusuporta Pag-unlad na Pinatakbo ng Pag-uugali (BDD). Nagbibigay ito ng isang paraan upang magsulat ng mga pagsubok na mauunawaan ng sinuman, anuman ang kanilang lawak ng kaalamang panteknikal.



Ipinapaliwanag nito ang pag-uugali ng aplikasyon sa isang simpleng English text na ginagamit Gherkin wika Inaasahan kong nakakuha ka ng isang sulyap tungkol sa kung ano ang Pipino. Ngayon, lumipat tayo nang higit pa at maunawaan ang ilang mga katotohanan na naglalarawan ng pangangailangan para sa Cucumber sa isang balangkas sa pagsubok.

Bakit Pipino?

Sa gayon, ang pipino ay isa sa mga pinakatanyag na tool dahil sa mga kadahilanang nakalista sa ibaba:

kung paano i-convert ang isang doble sa isang int
  1. Pipino ay open source at samakatuwid, malaya itong gamitin.
  2. Sa paggamit ng pipino, maaari mong isulat ang iyong mga script ng pagsubok sa maraming wika tulad ng , Ruby , .NET, , atbp.
  3. Sumasama rin ito sa , Ruby sa Riles , Watir at iba pa pagsusuri sa web-based mga kasangkapan
  4. Ang pipino ay isa sa pinaka malawak na ginagamit BDD mga kasangkapan

Ito ang ilan sa mga natatanging tampok na ginagawang kapaki-pakinabang ang Pipino para sa pagsubok ng isang website. Ngayong alam mo na kung ano ang pipino at bakit kailangan mo ito, unawain natin ang isa sa mga natatanging tampok ng Cucumber na ginagawang madali para sa isang hindi techie na maunawaan ang mga kaso ng pagsubok.



Pag-unlad na Pinatakbo ng Pag-uugali (BDD)

Sa napaka-simpleng mga termino, BDD o Pag-unlad na Pinatulak ng Pag-uugali ay isang pamamaraan kung saan ang iyong mga pagtutukoy o mga pagsubok na kaso ay nakasulat sa payak na Ingles tulad ng mga pangungusap. Sa pamamaraang ito, nahanap ng mga miyembro ng koponan na hindi pang-teknikal na madaling maunawaan ang daloy at higit na makikipagtulungan sa proseso ng pag-unlad ng software.

Unawain natin ito sa tulong ng isang simpleng halimbawa. Isaalang-alang ang isang senaryo kung saan nais mong subukan ang website ng Twitter. Ang isa sa mga sitwasyon sa pagsubok ay upang mapatunayan ang mga kredensyal sa pag-login. Sa BDD, maaari mong isulat ang sitwasyong ito sa pagsubok sa format na ito:

Tampok: Subukan ang sitwasyon sa usok ng Twitter Scenario: Pagsubok sa pag-login na may wastong mga kredensyal na Nabigyan Buksan ang firefox at simulan ang application Kapag nagpasok ako ng wastong username at wastong password Kung magkagayon dapat ay matagumpay na makapag-login ang gumagamit

Sa halimbawa sa itaas, nagsulat lamang ako ng ilang mga pahayag sa simpleng Ingles para sa pagtukoy sa mga sitwasyon. Magbibigay ako ng higit pang mga pananaw sa senaryong ito at ang pagpapatupad nito sa susunod na bahagi ng artikulong ito. Sa ngayon, lumipat tayo nang malayo sa artikulong Tutorial ng Cucumber Selenium at alamin ang mga batayan ng Selenium.

Panimula sa Selenium

ay ang ginustong tool pagdating sa pag-automate ng mga pagsubok na isinasagawa sa mga web browser. Ito ay kapaki-pakinabang lamang para sa pagsubok ng mga web application. Anumang aplikasyon ng desktop (software) o mobile application ay hindi masubukan gamit ang Selenium. Napaka kapaki-pakinabang sa pagsusulat ng mga kaso ng pagsubok na gumagana. Nagbibigay din ito ng maaasahang pagganap sa ‘ n ’ bilang ng mga kaso ng pagsubok at malinaw naman na ito ang pinakamahusay na angkop na tool sa pag-aautomat para sa mga web application.

Ngayong alam mo na kung ano ang Selenium, lumipat pa tayo sa artikulong ito sa Cucumber Selenium Tutorial at maunawaan kung bakit gumagamit ng Cucumber sa Selenium?

Bakit ginagamit ang pipino sa Selenium?

Maraming samahan ang gumagamit para sa pagpapaandar at pagsusuri sa pag-urong .Ang Selenium at Cucumber ay isang mahusay na kumbinasyon pagdating sa pag-automate ng web application, dahil pinapayagan ka ng Cucumber na isulat nang mabilis ang iyong mga pagsubok sa wikang tulad ng Ingles at pinapayagan ka ng Selenium na tumakbo sa iba't ibang mga kumbinasyon ng mga browser.

Ang tool ng pipino ay batay saBatas sa Pag-unlad na Pinatakbo ng Pag-uugali na kumikilos bilang tulay sa pagitan ngSoftware Engineer at Business Analyst at nasa pagitan dinManu-manong Tester at Developers.

Kapag gumagamit ng Selenium kasama ng Cucumber para sa pagsubok na awtomatiko, ang mga pagsubok ay nakasulat sa mga tampok na file na maaaring maunawaan ng iba't ibang mga stakeholder sa isang maliksi na kapaligiran tulad ng Mga Business Analyst. Ang cucumber ay mayroon ding kakayahang suportahan ang maraming mga script at mga wika sa pagprograma at ginagamit ang JUnit upang maisagawa ang mga script na ito at makabuo ng output.

Naunawaan ito, tingnan natin ngayon ang iba't ibang mga hakbang upang lumikha ng application ng Cucumber at patakbuhin ang mga kaso ng pagsubok.

Mga hakbang upang lumikha ng Application ng Cucumber

Ang iba't ibang mga hakbang na kasangkot sa paglikha ng isang application ng Cucumber ay ang mga sumusunod:

  1. I-download ang mga Jar file ng Cucumber at Selenium at i-configure ang build path.
  2. Magdagdag ng Cucumber Plugin mula sa Eclipse Marketplace.
  3. Lumikha ng isang file ng tampok at magdagdag ng mga sitwasyon.
  4. Ipatupad ang mga hakbang para sa mga sitwasyon.
  5. Isulat ang runner class at ipatupad ang code.

Ngayon, unawain natin nang detalyado ang bawat hakbang na ito.

Hakbang1: Mag-download ng mga file ng Cucumber at Selenium Jar

Pipino hindi talaga nakikipag-ugnay sa browser at gumaganap mga aksyon sa website sa ilalim ng pagsubok. Nakikipag-ugnay sa website ay ang aksyon na ay ginanap ni . Dahil sa kadahilanang ito, kakailanganin mong magdownload Pipino pati na rin ang Selenium Webdriver mga file ng garapon . Kung nais mong malaman kung paano i-install ang Selenium sa iyong system, maaari mong suriin ang artikulong ito sa Nasa ibaba ang listahan ng mga file ng garapon para sa Cucumber.

  • Cucumber-core
  • Pipino-html
  • saklaw ng saklaw ng code
  • Pipino-java
  • Pipino-junit
  • Pipino-jvm-deps
  • Pag-uulat ng pipino
  • Hamcrest-core
  • Gherkin
  • Junit

Kapag na-download mo ang mga file ng garapon mula sa Maven Repository , maaari mong i-configure ang build path ng iyong proyekto at idagdag ang lahat ng .jar mga file at aklatan tulad ng ipinakita sa snapshot sa ibaba.

Hakbang 2: Ang susunod na hakbang ay ang pag-install ng Pipino sa iyong Eclipse. Para doon, kailangan mong puntahan Tulong -> Eclipse Marketplace -> Search Cucumber at i-install Pipino at Naturals sa iyong eklipse. Sa ibaba ang snapshot ay naglalarawan ng pareho.

Hakbang 3: Kapag na-configure mo ang Cucumber, ang susunod na hakbang ay upang lumikha ng isang tampok na file. Una, kailangan mong lumikha ng isang bagong mapagkukunang folder at pagkatapos ay magdagdag ng isang tampok na file tulad ng ipinakita sa ibaba.

Susunod, kailangan mong tukuyin ang pangalan ng tampok na file tulad ng ipinakita sa ibaba.

Kapag nilikha mo ang tampok na file, maaari mong isulat ang mga sitwasyon tulad ng ipinakita sa ibaba code.

Scenario ng Pagsubok I:

Tampok: I-reset ang pag-andar sa pahina ng pag-login ng Application Scenario: Nabigay ang pagpapatunay ng pindutang I-reset ang Buksan ang Firefox at ilunsad ang application Kapag Ipasok ang Username at Password Pagkatapos I-reset ang kredensyal

Hakbang 4: Pagkatapos nito, kailangan mong ipatupad ang mga sitwasyon sa tulong ng mga kahulugan ng hakbang. Sa code sa ibaba, ipinatupad ko ang mga pamamaraan para sa senaryo na isinulat ko sa tampok na file.

pakete stepDefinitions import cucumber.api.java.en. Nabigyan ng import cucumber.api.java.en. Pagkatapos ay i-import ang cucumber.api.java.en. Kailan Mga Hakbang sa Public Class {@Given ('^ Buksan ang Firefox at ilunsad ang application na $' ) public void open_the_Firefox_and_launch_the_application () nagtatapon ng Throwable {System.out.println ('Ang Hakbang na Ito buksan ang Firefox at ilunsad ang application.')} @When ('^ Enter the Username and Password $') public void enter_the_Username_and_Password () throws Throwable { System.out.println ('Ang hakbang na ito ipasok ang Username at Password sa pahina ng pag-login.')} @Then ('I-reset ang kredensyal na $') publiko na walang bisa na Reset_the_credential () ay nagtatapon ng Throwable {System.out.println ('Ang hakbang na ito mag-click sa pindutang I-reset. ')}}

Hakbang 5: Ngayon, ang huling hakbang ay upang likhain ang ‘ runner class ’ at isagawa ang programa. Talaga, ang istraktura ng iyong proyekto ay dapat magmukhang nakalarawan sa snapshot sa ibaba.

Sa snapshot sa itaas, ‘ Runner.java ’ ay isang maipapatupad na file. I-code natin ngayon ang file na ito at unawain kung paano ito gumagana.

package Runner import org.junit.runner.RunWith import cucumber.api.CucumberOptions import cucumber.api.junit.Cucumber @RunWith (Cucumber.class) @CucumberOptions (tampok = 'mga tampok', pandikit = {'stepD'}) pampublikong klase Runner {}

Sa code sa itaas, mayroon akong ‘@CucumberOptions ’at tukuyin ang pangalan ng package ng parehong tampok na file at Runner file. Upang ipatupad nito ang mga pamamaraan at patakbuhin ang code. Kapag pinatakbo mo ang programa, ipapakita nito ang mga pamamaraan mula sa kahulugan ng hakbang. Iyong output ay dapat magmukhang tulad ng ipinakita sa ibaba:

Ang Hakbang na ito ay buksan ang Firefox at ilunsad ang application. Ang hakbang na ito ipasok ang Username at Password sa pahina ng pag-login. Ang hakbang na ito ay mag-click sa pindutang I-reset. 1 Mga Pangyayari (32m1 ang lumipas) 3 Hakbang (32m3 naipasa) 0m0.185s

Kaya, ito ay kung paano mo kailangang isulat ang lahat ng mga file at ipatupad ang programa.

Sitwasyon ng Pagsusulit II:

Ngayon, unawain natin ang isa pang senaryo kung saan isinama ko ang Selenium sa Cucumber.Isaalang-alang ang isang senaryo kung saan nais mong subukan ang website ng Twitter. Ang isa sa mga sitwasyon sa pagsubok ay papatunayan ang mga kredensyal sa pag-login. Sa BDD, maaari mong isulat ang sitwasyong ito sa pagsubok sa format na ito:

Tampok: Subukan ang sitwasyon sa usok ng Twitter Scenario: Pagsubok sa pag-login na may wastong mga kredensyal na Nabigyan Buksan ang firefox at simulan ang application Kapag nagpasok ako ng wastong username at wastong password Kung magkagayon dapat ay matagumpay na makapag-login ang gumagamit

Susunod, isulat natin ang klase ng kahulugan ng Hakbang upang maipatupad ang lahat ng mga sitwasyon.

package stepD import java.util.concurrent.TimeUnit import org.openqa.selenium. Sa pamamagitan ng pag-import ng org.openqa.selenium.WebDriver import org.openqa.selenium.fireoks.FireoxDriver import cucumber.api.java.en.Bigyan ng import cucumber.api .java.en. Pagkatapos ay mag-import ng cucumber.api.java.en. Kapag ang pampublikong klase SmokeTest {WebDriver driver @Given ('^ Buksan ang firefox at simulan ang application na $') publiko walang bisa open_the_fireoks_and_start_application () ay nagtatapon ng Throwable {System.setProperty ('webdriver .gecko.driver ',' C: geckodriver-v0.23.0-win64geckodriver.exe ') driver = bagong FirefoxDriver () driver.manage (). timeout (). implicitlyWait (10, TimeUnit.SECONDS) driver.get (' https : //twitter.com/login ')} @When (' ^ Naglalagay ako ng wastong username at wastong password na $ ') publiko na walang bisa I_enter_valid_username_and_valid_password () ay nagtatapon ng Throwable {driver.findElement (By.xpath (' // input [@ placeholder = 'Telepono, email o username'] ')). SendKeys (' your_username ') driver.findElement (By.xpath (' // div [@ class = 'clearfix field'] // input [@ placeholder = 'Password'] ')). sendKeys (' yo ur_password ')} @Then (' ^ dapat na magawang mag-login ng matagumpay na $ ') ang user na walang bisa na user_should_be_able_to_login_successfully () ay nagtatapon ng Throwable {driver.findElement (By.xpath (' // button [@ class = 'isumite ang Edge Button Edge Button - pangunahing Edgebuttom - medium ']')). Click ()}}

Sa nabanggit na programa, ginamit ko na upang ilunsad ang firefox browser at paggamitdriver.get ()magna-navigate ito sa pahina ng pag-log in sa Twitter. Dagdag dito, mahahanap nito ang username at password text box na ginagamit at ipasok ang wastong mga kredensyal. Sa wakas, matagumpay itong mag-log in at tatakbo ang mga kaso ng pagsubok. Kailangan mong isagawa ang runner bilang isang pagsubok sa JUnit upang malaman kung naipasa o nabigo ang mga pagsubok.

Sa ibaba snapshot ay ipinapakita ang output ng programa.

pag-uri-uriin ang algorithm c ++

Ito ay kung paano mo kailangang isulat ang lahat ng mga file at ipatupad ang programa. Kaya, iyon ay tungkol sa Cucumber Selenium Tutorial. Inaasahan kong naintindihan mo ang mga konsepto at nakatulong sa pagdaragdag ng halaga sa iyong kaalaman. Ngayon, kung nais mong makakuha ng higit pang mga pananaw sa Selenium, maaari mong suriin ang aming .

Kung nahanap mo ang “Cucumber Selenium Tutorial 'Nauugnay, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng artikulo sa Cucumber Selenium Tutorial at babalikan ka namin.