Headless chrome doesn't clear session between scenarios on Solano CI
Recently I decided to switch from capybara-webkit to headless chrome. When I try to run one cucumber feature on Solano CI the first scenario passes but the second one fails at the login because when user visits the login page they are already logged in
I use the following chromedriver and geckodriver versions on CI:
chromedriver -v
ChromeDriver 2.28.455506 (18f6627e265f442aeec9b6661a49fe819aeeea1f)
geckodriver -V
geckodriver 0.21.0
And the following gem versions: selenium-webdriver (3.141.0)
, capybara (3.11.1)
I have the following setup:
require 'selenium-webdriver'
Capybara.register_driver :chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new(
args: %w[headless disable-gpu no-sandbox]
)
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end
Capybara.javascript_driver = :chrome
Any ideas why capybara doesn't clean the user session between the scenarios with headless chrome?
selenium-webdriver ruby-on-rails-5 capybara google-chrome-headless
add a comment |
Recently I decided to switch from capybara-webkit to headless chrome. When I try to run one cucumber feature on Solano CI the first scenario passes but the second one fails at the login because when user visits the login page they are already logged in
I use the following chromedriver and geckodriver versions on CI:
chromedriver -v
ChromeDriver 2.28.455506 (18f6627e265f442aeec9b6661a49fe819aeeea1f)
geckodriver -V
geckodriver 0.21.0
And the following gem versions: selenium-webdriver (3.141.0)
, capybara (3.11.1)
I have the following setup:
require 'selenium-webdriver'
Capybara.register_driver :chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new(
args: %w[headless disable-gpu no-sandbox]
)
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end
Capybara.javascript_driver = :chrome
Any ideas why capybara doesn't clean the user session between the scenarios with headless chrome?
selenium-webdriver ruby-on-rails-5 capybara google-chrome-headless
add a comment |
Recently I decided to switch from capybara-webkit to headless chrome. When I try to run one cucumber feature on Solano CI the first scenario passes but the second one fails at the login because when user visits the login page they are already logged in
I use the following chromedriver and geckodriver versions on CI:
chromedriver -v
ChromeDriver 2.28.455506 (18f6627e265f442aeec9b6661a49fe819aeeea1f)
geckodriver -V
geckodriver 0.21.0
And the following gem versions: selenium-webdriver (3.141.0)
, capybara (3.11.1)
I have the following setup:
require 'selenium-webdriver'
Capybara.register_driver :chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new(
args: %w[headless disable-gpu no-sandbox]
)
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end
Capybara.javascript_driver = :chrome
Any ideas why capybara doesn't clean the user session between the scenarios with headless chrome?
selenium-webdriver ruby-on-rails-5 capybara google-chrome-headless
Recently I decided to switch from capybara-webkit to headless chrome. When I try to run one cucumber feature on Solano CI the first scenario passes but the second one fails at the login because when user visits the login page they are already logged in
I use the following chromedriver and geckodriver versions on CI:
chromedriver -v
ChromeDriver 2.28.455506 (18f6627e265f442aeec9b6661a49fe819aeeea1f)
geckodriver -V
geckodriver 0.21.0
And the following gem versions: selenium-webdriver (3.141.0)
, capybara (3.11.1)
I have the following setup:
require 'selenium-webdriver'
Capybara.register_driver :chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new(
args: %w[headless disable-gpu no-sandbox]
)
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end
Capybara.javascript_driver = :chrome
Any ideas why capybara doesn't clean the user session between the scenarios with headless chrome?
selenium-webdriver ruby-on-rails-5 capybara google-chrome-headless
selenium-webdriver ruby-on-rails-5 capybara google-chrome-headless
asked Nov 20 at 9:52
Hirurg103
954714
954714
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Both of your drivers are out of date with the current versions being geckodriver 0.23 and chromedriver 2.43 so you probably want to start by updating those. Beyond that are you storing session information in the browsers window.localStorage
and/or window.sessionStorage
? If so you can set those to be cleared via options passed to the driver
Capybara.register_driver :chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new(args: %w[no-sandbox])
options.headless!
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options, clear_local_storage: true, clear_session_storage: true)
end
add a comment |
Even I was facing same issue.
After adding the steps to clear the cookies, session it is not working either. I added below code in env.rb to start a new session every time for a new test
May be you can try this.
Before do
Capybara.session_name = ":session_#{Time.zone.now.to_i}"
end
After do
Capybara.current_session.driver.quit
end
Also, you can add in chrome options to open the session in incognito window
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53390321%2fheadless-chrome-doesnt-clear-session-between-scenarios-on-solano-ci%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Both of your drivers are out of date with the current versions being geckodriver 0.23 and chromedriver 2.43 so you probably want to start by updating those. Beyond that are you storing session information in the browsers window.localStorage
and/or window.sessionStorage
? If so you can set those to be cleared via options passed to the driver
Capybara.register_driver :chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new(args: %w[no-sandbox])
options.headless!
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options, clear_local_storage: true, clear_session_storage: true)
end
add a comment |
Both of your drivers are out of date with the current versions being geckodriver 0.23 and chromedriver 2.43 so you probably want to start by updating those. Beyond that are you storing session information in the browsers window.localStorage
and/or window.sessionStorage
? If so you can set those to be cleared via options passed to the driver
Capybara.register_driver :chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new(args: %w[no-sandbox])
options.headless!
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options, clear_local_storage: true, clear_session_storage: true)
end
add a comment |
Both of your drivers are out of date with the current versions being geckodriver 0.23 and chromedriver 2.43 so you probably want to start by updating those. Beyond that are you storing session information in the browsers window.localStorage
and/or window.sessionStorage
? If so you can set those to be cleared via options passed to the driver
Capybara.register_driver :chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new(args: %w[no-sandbox])
options.headless!
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options, clear_local_storage: true, clear_session_storage: true)
end
Both of your drivers are out of date with the current versions being geckodriver 0.23 and chromedriver 2.43 so you probably want to start by updating those. Beyond that are you storing session information in the browsers window.localStorage
and/or window.sessionStorage
? If so you can set those to be cleared via options passed to the driver
Capybara.register_driver :chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new(args: %w[no-sandbox])
options.headless!
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options, clear_local_storage: true, clear_session_storage: true)
end
answered Nov 20 at 16:55
Thomas Walpole
29.8k32647
29.8k32647
add a comment |
add a comment |
Even I was facing same issue.
After adding the steps to clear the cookies, session it is not working either. I added below code in env.rb to start a new session every time for a new test
May be you can try this.
Before do
Capybara.session_name = ":session_#{Time.zone.now.to_i}"
end
After do
Capybara.current_session.driver.quit
end
Also, you can add in chrome options to open the session in incognito window
add a comment |
Even I was facing same issue.
After adding the steps to clear the cookies, session it is not working either. I added below code in env.rb to start a new session every time for a new test
May be you can try this.
Before do
Capybara.session_name = ":session_#{Time.zone.now.to_i}"
end
After do
Capybara.current_session.driver.quit
end
Also, you can add in chrome options to open the session in incognito window
add a comment |
Even I was facing same issue.
After adding the steps to clear the cookies, session it is not working either. I added below code in env.rb to start a new session every time for a new test
May be you can try this.
Before do
Capybara.session_name = ":session_#{Time.zone.now.to_i}"
end
After do
Capybara.current_session.driver.quit
end
Also, you can add in chrome options to open the session in incognito window
Even I was facing same issue.
After adding the steps to clear the cookies, session it is not working either. I added below code in env.rb to start a new session every time for a new test
May be you can try this.
Before do
Capybara.session_name = ":session_#{Time.zone.now.to_i}"
end
After do
Capybara.current_session.driver.quit
end
Also, you can add in chrome options to open the session in incognito window
edited Nov 30 at 19:29
Hirurg103
954714
954714
answered Nov 21 at 16:32
Kiran Reddy
164
164
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53390321%2fheadless-chrome-doesnt-clear-session-between-scenarios-on-solano-ci%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown