Not exactly, the website stores items into the browsers local storage and reuses these items on the next visit to the website. The browser saves these local storage items in the file webapsstore.sqlite in its profile folder, just as it stores cookies in cookies.sqlite. Its basically a "remember me" functionality, you log in once with a password and at future visists to the site from the same computer you are logged in automagically.
Yes, it looks as if selenium and/or geckodriver do not make an exact copy of the original profile folder, even if you specify -Dwebdriver.firefox.profile=profilename when starting selenium server. And this does not always make sense if you want to monitor an application that needs cookies or local storage items from the previous testrun.
Whatever, basically the question is: How to start firefox with a given profile folder?
This does not work. Firefox is started as usual with a temporary profile folder. From the selenium logfile:
1517407718804 mozrunner::runner INFO Running command: "/usr/bin/firefox" "-marionette" "-profile" "/tmp/rust_mozprofile.kTC7WyiucIZg"
1517407719976 Marionette INFO Enabled via --marionette
1517407723130 Marionette INFO Listening on port 49796
$driver = Selenium::Remote::Driver->new(
extra_capabilities => {
'acceptInsecureCerts' => JSON::true,
'moz:firefoxOptions' => {
args => [ "-profile", "/home/horn/.mozilla/firefox/8bkxxzc6.lisi" ],
},
});
does start the browser with the profile folder:
1517407792560 mozrunner::runner INFO Running command: "/usr/bin/firefox" "-marionette" "-profile" "/home/horn/.mozilla/firefox/8bkxxzc6.lisi"
1517407792808 Marionette INFO Enabled via --marionette
1517407793430 Marionette INFO Listening on port 2828
but then it fails to connect to marionette: The portnumber is always 2828 in this case while it varies every time when i omit -profile ...