kazurayam / chromedriverfactory

A Java library that enables you to launch Selenium ChromeDriver using an existing user Profile. That let you to carry cookies over multiple HTTP sessions via user Profile.
0 stars 0 forks source link

Investigate how cookie is persisted and reloaded according to UserDataAccess.FOR_HERE and .TO_GO #2

Closed kazurayam closed 2 years ago

kazurayam commented 2 years ago

com.kazurayam.webdriverfactory.chrome.ChromeDriverFactory.UserDataAccess expresses options FOR_HERE and TO_GO.

What is intended?

When a test script launches a Chrome browser with a UserProfile "Foo" specified and with UserDataAccess.FOR_HERE, I expect that

  1. the cookie values of "Foo" will be reloaded from the profile folder. This can be confirmed only by a server-side web app. The web app looks up the cookies in a HTTP request.
  2. if a cookie is sent from server to Chrome browser and if the cookie has long enough expiration time, then the cookie is persisted into the profile folder.

When a test script launches a Chrome browser with a UserProfiile "Foo" specified ad with UserDataAccess.TO_TO, I expect that

  1. the script makes a clone of the UserData folder of "Foo" to a temporary folder, then launches a Chrome specifying the temp folder as the "user-data"
  2. the cookie values of "Foo" will be reloaded from the temp folder.
  3. if a cookie is sent from server to Chrome browser and if the cookie has long enough expiration time, then the cookie is persisted into the temp folder. However, as is a temporary folder, the cookies will be lost as soon as the HTTP session finished. This means, the cookie will never be reloaded in the next HTTP session.

This is what I expect to happen. But i have never confirmed that this scenario is actually the case. I want to confirm this.

In order to conform this, I need a tailored web app as the test bed, that is capable of creating Cookies for this scenaro.

Original issue was

kazurayam commented 2 years ago

CookiePersistanceTest proved what I expected to be the case