が、私は現在の日付と時刻を持つすべてのステップでスクリーンショットを取得しようとしていますが、私はエラーを取得していますスクリーンショット名に日付と時刻が含まれているRubyを使用したselenium webdriverでのスクリーンショットの取得方法?
Error: test_login(Login_page): Argument Error: wrong number of arguments (1 for 0)
コードは、問題がTime.now
形式を返すことである
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
エラーは何行ですか。間違った数の引数を使ってどのような関数を呼び出していますか?あなたはその問題を解決しようとしましたか? – JeffC
defセットアップでscreenshot関数を呼び出すときにエラーが発生しました –
'.save_screenshot()'に渡すファイル名が間違っていると思います。 screenshot.png "'のような単純なパスを試しましたか?私はそれが問題を引き起こしているDateTime.nowのフォーマットだと思っています。 – JeffC