I am logging certain statements into the chrome browser console using console.log() . I am trying to retrieve all these by using capybara loggingPerf. however, i am not able to do so. Please note that i am able to retrieve all the warnings given by google chrome (for example, elements with duplicate id ) here is my spec_helper file..
Capybara.register_driver :selenium do |app|
profile = Selenium::WebDriver::Chrome::Profile.new
profile['extensions.password_manager_enabled'] = false
# nowam 24-Nov-2015: Added 'prefs' hash to next line to turn off automatic request for location
# caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => [ "--start-maximized", "--test-type", "--disable-popup-blocking" ], "prefs" => { "profile.managed_default_content_settings.geolocation" => 1 }})
# nowam 11-Apr-2017: Added arg to hide infobar and 2 prefs to suppress request to save password
caps = Selenium::WebDriver::Remote::Capabilities.chrome(
"chromeOptions" =>
{
"args" => [ "--start-maximized", "--test-type", "--disable-popup-blocking", "--disable-infobars" ],
"prefs" => { "profile.managed_default_content_settings.geolocation" => 1, "profile.password_manager_enabled" => false, "credentials_enable_service" => false }
},
loggingPrefs: {
browser: 'DEBUG'
}
)
port =scan_port
p "generated port:"+port.to_s
@driver = Capybara::Selenium::Driver.new(app, {:browser => :chrome, :desired_capabilities => caps, :http_client => client, :port => port})
end
here is my test
it "Verify helper icon with visibility condition and
radiobuttonrequired asterisk icon"
do expect(page).to have_xpath('//label[@data-test
id="20191203062406053642842-Label"][contains(@class , "icon-required")]')
page.execute_script("console.clear();")
@driver.manage.logs().get("browser")
page.execute_script("pega.ui.statetracking.debug = true;")
# The two statements below should log into the console
DocStateTracker.clear_n_fill_plus(:xpath, "//input[@data-test-id='20191203061946053761398']", "naveen", page.driver.browser)
page.driver.browser.action.send_keys(:tab).perform
page.execute_script("pega.ui.statetracking.debug = false;")
page.execute_script("console.log()")
logs = @driver.manage.logs().get(:browser)
puts "logs : " +logs.to_s
page.execute_script("console.clear();")
expect(page).to have_xpath('//i[@title="helpericon"][contains(@class , "helper-icon")]')
end