简体   繁体   中英

Set firefox profile with protractor

I want to run tests with Firefox/protractor with the cache feature disabled. (Actually, I'm trying to prevent 304 HTTP responses).

There are multiple ways to do this:

  • Disable the cache from the backend-side by droping Etag headers -> I can't modify the backend
  • Drop the Etag header from the frontend-side -> I tried, it did not work
  • Disable the cache from firefox: I just have to set the flag network.http.use-cache to false

Manually it works. I receive only 200 responses and it's great. I want to be able to set this flag through protractor configuration. After some search I found out that I had to create a custom profile and set it in protractor this way ( https://code.google.com/p/selenium/wiki/DesiredCapabilities ):

capabilities: {
   browserName: 'firefox',
   firefox_profile: 'support/firefox_profile'
 }

The problem is that the firefox profile is not considered. Is it the right option? Do you have a better idea?

Thanks for your help.

EDIT: As someone (suggested

capabilities: {
  prefs: {
    'config.http.use-cache': false
  }
}

It did not work - I checked in about:config, the flag was still enabled. How do you know what options you can pass in the capabilities?

Here's an example of how to integrate firefox-profile with protractor: https://github.com/juliemr/protractor-demo/tree/master/howtos/setFirefoxProfile

EDIT: For those upgrading to protractor >=1.6, the old way of doing this was broken because 'browser' can no longer return a promise. The demo has been updated.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM