Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 567
Erem Avatar asked Sep 16 '14 15:09

Erem


1 Answers

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.

like image 81
hankduan Avatar answered Nov 01 '22 21:11

hankduan