Je suis en train de faire une capture d'écran à chaque étape avec la date et l'heure, mais je reçois l'erreurComment faire une capture d'écran dans webdriver selenium avec ruby avec date et heure inclus dans le nom de capture d'écran?
Error: test_login(Login_page): Argument Error: wrong number of arguments (1 for 0)
Le code est
def setup
@driver = Selenium::WebDriver.for :chrome
@driver.manage.window.maximize
@driver.navigate.to "https://www.findmedecor.com"
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
screenshot()
end
def test_login
@driver.find_element(:class,'open-overlay').click
screenshot(DateTime.now)
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
login_email = wait.until {
element = @driver.find_element(:name, "login_email")
element if element.displayed?
}
login_email.send_keys("[email protected]")
puts "Test Passed: login pop up found" if login_email.displayed?
screenshot(DateTime.now)
@driver.find_element(:id,'pass').send_keys('123456')
@driver.find_element(:id,'btn_login').click
puts "Logged in successfully"
puts "Time of test = ", DateTime.now
screenshot(DateTime.now)
end
$i = DateTime.now
def screenshot
@driver.save_screenshot("screenshot #{'$i'}.png")
$i= +1
end
end
Sur quelle ligne est l'erreur? Quelle fonction appelez-vous avec le mauvais nombre d'arguments? Qu'avez-vous essayé de résoudre le problème? – JeffC
erreur est lors de l'appel de la fonction de capture d'écran dans la configuration def –
Je suppose que quelque chose ne va pas avec le nom de fichier que vous passez à '.save_screenshot()'. Avez-vous essayé un chemin simple comme '" screenshot.png "'? Je suppose que c'est le format de DateTime.now qui cause des problèmes. – JeffC