mirror of
https://github.com/mastodon/mastodon.git
synced 2024-11-25 15:09:29 +00:00
Additional logging for flaky end-to-end tests
This commit is contained in:
parent
8827cd597e
commit
b0abca0bdc
|
@ -14,6 +14,7 @@ Capybara.register_driver :headless_chrome do |app|
|
||||||
options = Selenium::WebDriver::Chrome::Options.new
|
options = Selenium::WebDriver::Chrome::Options.new
|
||||||
options.add_argument '--headless=new'
|
options.add_argument '--headless=new'
|
||||||
options.add_argument '--window-size=1680,1050'
|
options.add_argument '--window-size=1680,1050'
|
||||||
|
options.add_option('goog:loggingPrefs', { performance: 'ALL' })
|
||||||
|
|
||||||
Capybara::Selenium::Driver.new(
|
Capybara::Selenium::Driver.new(
|
||||||
app,
|
app,
|
||||||
|
|
|
@ -2,7 +2,18 @@
|
||||||
|
|
||||||
RSpec.configure do |config|
|
RSpec.configure do |config|
|
||||||
config.after(:each, :js, type: :system) do
|
config.after(:each, :js, type: :system) do
|
||||||
|
performance_logs = page.driver.browser.logs.get(:performance).map(&:message)
|
||||||
errors = page.driver.browser.logs.get(:browser)
|
errors = page.driver.browser.logs.get(:browser)
|
||||||
|
|
||||||
|
# Save performance logs to capybara directory for further inspection
|
||||||
|
if performance_logs.present? && errors.present? && errors.any? { |error| error.level == 'SEVERE' }
|
||||||
|
path = File.join(Capybara.save_path, "performance-log-#{SecureRandom.hex(10)}.json")
|
||||||
|
|
||||||
|
warn "WARN: saving performance logs to #{path}"
|
||||||
|
|
||||||
|
File.write(path, "[#{performance_logs.join(',')}]")
|
||||||
|
end
|
||||||
|
|
||||||
if errors.present?
|
if errors.present?
|
||||||
aggregate_failures 'javascript errrors' do
|
aggregate_failures 'javascript errrors' do
|
||||||
errors.each do |error|
|
errors.each do |error|
|
||||||
|
|
Loading…
Reference in a new issue