2014-07-21 4 views
0

확인하는 데 사용되는 간단한 셀레늄 스크립트가속도 최대 셀레늄 webdriver

require "selenium-webdriver" 
driver = Selenium::WebDriver.for :firefox 
username = 'test' 
driver.navigate.to url 
fn = driver.find_element(:id, "first-name") 
fn.send_keys "bla" 
ln = driver.find_element(:id, "last-name") 
ln.send_keys "bla" 
un = driver.find_element(:id, "user-name") 
un.send_keys username 
p = driver.find_element(:id, "password") 
p.click 
sleep 3 
if driver.find_element(:id=>"user-name-validation-message").text.include? "This username is not available." 
    puts "#{username} is good" 
end 

잘 작동하지만, 실행하는 데 시간이 많이 필요, 그것의 대부분을 파이어 폭스를 시작할 때마다 백그라운드에서 실행하는 방법이 있는지 또는이 처리 속도를 높이기위한 트릭이 있는지 궁금합니다. 100 명의 사용자 이름을 확인해야한다고 가정 할 때 시간이 오래 걸립니다. 는

+0

브라우저를 표시하지 않으려면 Firefox 대신 HTMLdriver를 사용할 수 있습니다. 이것은 브라우저없이 백그라운드에서 실행됩니다. – Sriram

+0

'sleep'을 사용하면 스크립트 속도가 느려집니다. 아마 당신은 명백한 대기를 대신 사용하기를 원할 것입니다. 이렇게하면 항상 3 초가 아닌 필요한 시간을 기다릴 수 있습니다. –

답변

0

Implicity 대기하고 인스턴스화 webdriver와 PageToLoad, ScriptToLoad 또는 유창함 대기 사용을 고려 HtmlUnit과 드라이버 또는 PhantomJS는 헤드리스 실행하는 데 사용할 감사드립니다.