【发布时间】:2016-09-26 10:05:52
【问题描述】:
我正在尝试在每个步骤中获取当前日期和时间的屏幕截图,但出现错误
Error: test_login(Login_page): Argument Error: wrong number of arguments (1 for 0)
代码是
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("suwarna.wade@rohagroup.com")
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
【问题讨论】:
-
错误在哪一行?你用错误数量的参数调用什么函数?您尝试过什么来解决这个问题?
-
在 def setup 中调用截图函数时出错
-
我猜您传递给
.save_screenshot()的文件名有问题。您是否尝试过像"screenshot.png"这样的简单路径?我猜是 DateTime.now 的格式导致了问题。 -
是的,没错@JeffC。但我必须截图,名字中提到时间和日期。那我该怎么做呢??
标签: ruby selenium-webdriver testunit