How to use save_page method of Capybara Package

Best Capybara code snippet using Capybara.save_page

save_page_spec.rb

Source:save_page_spec.rb Github

copy

Full Screen

1# frozen_string_literal: true2Capybara::SpecHelper.spec '#save_page' do3 let(:alternative_path) { File.join(Dir.pwd, "save_and_open_page_tmp") }4 before do5 @session.visit("/foo")6 end7 after do8 Capybara.save_and_open_page_path = nil9 Capybara.save_path = nil10 Dir.glob("capybara-*.html").each do |file|11 FileUtils.rm(file)12 end13 FileUtils.rm_rf alternative_path14 end15 it "saves the page in the root directory" do16 @session.save_page17 path = Dir.glob("capybara-*.html").first18 expect(File.read(path)).to include("Another World")19 end20 it "generates a sensible filename" do21 @session.save_page22 filename = Dir.glob("capybara-*.html").first23 expect(filename).to match(/^capybara-\d+\.html$/)24 end25 it "can store files in a specified directory" do26 Capybara.save_path = alternative_path27 @session.save_page28 path = Dir.glob(alternative_path + "/capybara-*.html").first29 expect(File.read(path)).to include("Another World")30 end31 it "uses the given filename" do32 @session.save_page("capybara-001122.html")33 expect(File.read("capybara-001122.html")).to include("Another World")34 end35 it "can store files in a specified directory with a given filename" do36 Capybara.save_path = alternative_path37 @session.save_page("capybara-001133.html")38 path = alternative_path + "/capybara-001133.html"39 expect(File.read(path)).to include("Another World")40 end41 it "can store files in a specified directory with a given relative filename" do42 Capybara.save_path = alternative_path43 @session.save_page("tmp/capybara-001144.html")44 path = alternative_path + "/tmp/capybara-001144.html"45 expect(File.read(path)).to include("Another World")46 end47 it "returns an absolute path in pwd" do48 result = @session.save_page49 path = File.expand_path(Dir.glob("capybara-*.html").first, Dir.pwd)50 expect(result).to eq(path)51 end52 it "returns an absolute path in given directory" do53 Capybara.save_path = alternative_path54 result = @session.save_page55 path = File.expand_path(Dir.glob(alternative_path + "/capybara-*.html").first, alternative_path)56 expect(result).to eq(path)57 end58 context "asset_host contains a string" do59 before { Capybara.asset_host = "http://example.com" }60 after { Capybara.asset_host = nil }61 it "prepends base tag with value from asset_host to the head" do62 @session.visit("/with_js")63 path = @session.save_page64 result = File.read(path)65 expect(result).to include("<head><base href='http://example.com' />")66 end67 it "doesn't prepend base tag to pages when asset_host is nil" do68 Capybara.asset_host = nil69 @session.visit("/with_js")70 path = @session.save_page71 result = File.read(path)72 expect(result).to include('<html')73 expect(result).not_to include("http://example.com")74 end75 it "doesn't prepend base tag to pages which already have it" do76 @session.visit("/with_base_tag")77 path = @session.save_page78 result = File.read(path)79 expect(result).to include('<html')80 expect(result).not_to include("http://example.com")81 end82 it "executes successfully even if the page is missing a <head>" do83 @session.visit("/with_simple_html")84 path = @session.save_page85 result = File.read(path)86 expect(result).to include("Bar")87 end88 end89 context "with deprecated save_and_open_page_path" do90 it "can store files in a specified directory" do91 Capybara.save_and_open_page_path = alternative_path92 @session.save_page93 path = Dir.glob(alternative_path + "/capybara-*.html").first94 expect(File.read(path)).to include("Another World")95 end96 it "returns an absolute path in given directory" do97 Capybara.save_and_open_page_path = alternative_path98 result = @session.save_page99 path = File.expand_path(Dir.glob(alternative_path + "/capybara-*.html").first, alternative_path)100 expect(result).to eq(path)101 end102 end103end...

Full Screen

Full Screen

save_page

Using AI Code Generation

copy

Full Screen

1visit('/')2save_page('google.html')3visit('/')4save_screenshot('google.png')5visit('/')6visit('/')

Full Screen

Full Screen

save_page

Using AI Code Generation

copy

Full Screen

1visit('/')2save_page('google.html')3visit('/')4save_screenshot('google.png')5visit('/')6visit('/')7visit('/')8page.save_page('google.html')

Full Screen

Full Screen

save_page

Using AI Code Generation

copy

Full Screen

1my_capybara.save_page('google.html')2my_capybara.save_page('google.html')3my_capybara.save_page('google.html')4my_capybara.save_page('google.html')

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Capybara automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used method in

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful