Appium Testlerinde Ruby'nin binding.pry ?zelli?ini Kullanarak Zaman Kayb?n? ?nleyin

Appium Testlerinde Ruby'nin binding.pry ?zelli?ini Kullanarak Zaman Kayb?n? ?nleyin

Web uygulama testlerinin karma??kl??? artt?k?a, yaz?l?m geli?tiricileri ve test mühendisleri test senaryolar?n? daha etkili bir ?ekilde yazmak ve hata ay?klamak zorundad?r. Selenium, web uygulamalar?n? test etmek i?in gü?lü bir ara?t?r ve Ruby, bu süre?te kullan??l? bir dil se?ene?idir. Ancak, karma??k test senaryolar? yazarken ve yürütürken kar??la??lan hatalar? ??zmek bazen zor olabilir.

Bu noktada, Ruby’nin gü?lü hata ay?klama arac? olan pry devreye girer. binding.pry, kodun belirli bir noktas?na duraksama noktas? (breakpoint) eklemenizi sa?lar ve bu noktada kodunuzu etkile?imli bir ?ekilde incelemenize olanak tan?r. Bu sayede, testlerinizin neden ba?ar?s?z oldu?unu anlamak i?in kodunuzu ad?m ad?m takip edebilir, de?i?kenlerin de?erlerini g?zlemleyebilir ve uygulaman?z?n ?al??ma ?eklini daha iyi kavrayabilirsiniz.

Bu makalede, Selenium ile yaz?lm?? Ruby testlerinde binding.pry kullan?m?n? ele alaca??z. binding.pry'nin nas?l ?al??t???n?, testlerinizde nas?l etkili bir ?ekilde kullanabilece?inizi ve bu ara? ile testlerinizi nas?l daha verimli bir ?ekilde debug edebilece?inizi ke?fedece?iz. Hem yeni ba?layanlar hem de deneyimli geli?tiriciler i?in faydal? olacak bu rehber, hata ay?klama süre?lerinizi geli?tirecek ve daha güvenilir test senaryolar? yazman?za yard?mc? olacakt?r.

Burada appium i?in gerekli gemleri iceren gem'leri sizinle payla?mak istiyorum. Projemizde "Gemfile" olusturduktan sonra ?u gem'leri ekleyelim.

source 'https://rubygems.org'

gem 'rspec'
gem 'appium_lib'
gem 'selenium-webdriver'
gem 'ruby-lsp'
gem 'rubocop'
gem 'pry'
gem 'pry-byebug', require: false, group: :development
gem 'solargraph', require: false, group: :development
gem 'byebug'        

Daha sonra ilgili gem'lerin kurulumu i?in;

bundle.install

Kurulum tamamland???nda art?k haz?r?z. Hata ay?klamak istedi?imiz kod sat?r?na binding.pry kodunu yerlestirelim.

it 'plays a game of TicTacToe' do
    menu_page = Menu_page.new(driver)
    sleep 0.1
    menu_page.ucluktahtayatikla
    sleep 0.1
    menu_page.single_player_tikla
   
    x = 370
    y = 1400
    menu_page.carpiyatiklat(x, y)
    binding.pry//hata ay?klama noktam?z


   
  end        

Testimi ko?turup binding.pry noktas?na gelince terminalde ?u ?ekilde g?rünüyor.

binding.pry

Sanal cihaz?mdaki durum ise ??yle

sanal cihaz

Art?k appium inspectore ba?lan?p dom'u inceliyebilirim. Attach session ile ba?lan?yorum.

Dom'da gerekli incelemeyi yapt?m ve bir locate se?erek start game'e t?klataca??m.


?lgili kodu binding.pry alt?na ekliyorum.

driver.find_element(:accessibility_id, 'Start game').click        

  it 'plays a game of TicTacToe' do
    menu_page = Menu_page.new(driver)
    sleep 0.1
    menu_page.ucluktahtayatikla
    sleep 0.1
    menu_page.single_player_tikla
    contexts = driver.available_contexts
    puts contexts

    x = 370
    y = 1400
    menu_page.carpiyatiklat(x, y)
    binding.pry

    driver.find_element(:accessibility_id, 'Start game').click
   
  end        

Kodu fare ile se?ip sa? click "Run Selected Text In Active Terminal" ile ?al??t?r?yorum

Sanal cihaz?mda kodumun cal??t???n? g?zlemliyorum.

?sterseniz mevcut oturumda deneme yan?lmalar yaparak ?al??maya devam edebilirsiniz. Appium inspector her seferinde yeniden ba?latmak zorunda kalmadan, testleri tekrar tekrar ba?a almadan müthi? bir verimlilik kazanarak, dikkatiniz da??lmadan testlerinize odaklanabilirsiniz.


Umar?m yard?mc? olmu?tur.

要查看或添加评论,请登录

mustafa livdemirci的更多文章

其他会员也浏览了