Skip to content

Commit

Permalink
set "accept_languages" and disable "headless" mode
Browse files Browse the repository at this point in the history
It seems that we can't set "accept_languages" in headless mode, see:
https://bugs.chromium.org/p/chromedriver/issues/detail?id=3358
  • Loading branch information
jedie committed Feb 19, 2020
1 parent b0336b0 commit d46b11f
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
9 changes: 8 additions & 1 deletion django_tools/selenium/chromedriver.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,11 @@ def test_admin_login_page(self):
"""
filename = "chromedriver"

options = ("--no-sandbox", "--headless", "--disable-gpu")
options = (
"--no-sandbox",
# "--headless", ## see: https://bugs.chromium.org/p/chromedriver/issues/detail?id=3358
"--disable-gpu"
)
desired_capabilities = {
"loggingPrefs": {
"browser": "ALL",
Expand All @@ -53,12 +57,15 @@ def test_admin_login_page(self):
"server": "ALL"
}
}
accept_languages = 'en'

@classmethod
def setUpClass(cls):

options = webdriver.ChromeOptions()
options.add_experimental_option('w3c', False) # needed to get browser logs
options.add_experimental_option('prefs', {'intl.accept_languages': cls.accept_languages})

for argument in cls.options:
options.add_argument(argument)

Expand Down
2 changes: 2 additions & 0 deletions django_tools_tests/test_unittest_selenium.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
class ExampleChromiumTests(SeleniumChromiumStaticLiveServerTestCase):
def test_admin_login_page(self):
self.driver.get(self.live_server_url + "/admin/login/")
assert self.driver.execute_script('return window.navigator.languages') == ['en']
self.assert_equal_page_title("Log in | Django site admin")
self.assert_in_page_source('<form action="/admin/login/" method="post" id="login-form">')
self.assert_no_javascript_alert()
Expand All @@ -37,6 +38,7 @@ def test_admin_login_page(self):
class ExampleFirefoxTests(SeleniumFirefoxStaticLiveServerTestCase):
def test_admin_login_page(self):
self.driver.get(self.live_server_url + "/admin/login/")
assert self.driver.execute_script('return window.navigator.languages') == ['en']
self.assert_equal_page_title("Log in | Django site admin")
self.assert_in_page_source('<form action="/admin/login/" method="post" id="login-form">')
self.assert_no_javascript_alert()
Expand Down

0 comments on commit d46b11f

Please sign in to comment.