如何检查浏览器控制台中的错误?
例如,我使用Selenium打开了Chrome或Firefox浏览器,并使用Selenium WebDriver执行了一些操作。之后,我想知道Web控制台中是否有任何错误。
如何检查浏览器控制台中的错误?
例如,我使用Selenium打开了Chrome或Firefox浏览器,并使用Selenium WebDriver执行了一些操作。之后,我想知道Web控制台中是否有任何错误。
log = Logger.new(STDOUT)
console_log = $driver.manage.logs.get(:browser)
if console_log != []
begin
log.info console_log
raise Exception.new('Console Errors Found!')
end
else
puts "No Console errors found!"
end
我试图获取控制台错误信息,类似于:
def check_console_log
console_log = @browser.driver.manage.get_log(:browser)
if console_log != nil
raise(console_log)
end
end
def write_log(file_path)
work_log = @browser.driver.manage.get_log(:browser)
messages = ""
work_log.each { | item | messages += item.message + "\n"}
File.write( "#{file_path}.log", messages ) unless messages == ""
end
begin
puts "Your code here"
rescue => e
debugger
end
请确保将ruby-debug添加到您的Gemfile中或使用以下命令进行安装:
$ sudo gem install ruby-debug
现在,当您有任何错误时,您的代码将停止,并且您可以在控制台中查看/逐步执行异常。
我强烈推荐Better Errors Gem. 请查看RailsCasts上关于它的这一集。这个 gem 允许您在 Web 浏览器中查看和交互异常。它是一个救命稻草。
我发现的另一个很酷的项目是rack-webconsole。这个 gem 允许您随时在 Web 浏览器中打开命令行并与您的 Rails 应用程序进行交互。不确定这个 gem 是否仍然受到支持。
最后,请确保为 Chrome 安装RailsPanel。这个插件提供了一些关于您的 Rails 应用程序的 awesome 信息,可以作为开发者工具插件使用。
selenium ruby gem的2.38版本提供了日志记录API。
http://selenium.googlecode.com/git/rb/CHANGES
这可以让您访问Chrome控制台日志。
https://code.google.com/p/selenium/wiki/Logging
这里有一个Java的例子,但你应该能够很容易地将其翻译成Ruby;
begin..rescue..end
有什么问题? - Arup Rakshit