2
2
import time
3
3
import pytest
4
4
from selenium import webdriver
5
+ from selenium .webdriver .common .by import By
6
+ from selenium .webdriver .chrome .options import Options
5
7
6
- BROWSER = os .environ .get ('BROWSER' , 'Firefox ' )
8
+ BROWSER = os .environ .get ('BROWSER' , 'ChromeHeadless ' )
7
9
8
10
9
11
@pytest .fixture (scope = "module" )
@@ -16,14 +18,15 @@ def browser(request):
16
18
profile .set_preference ("browser.download.dir" , os .getcwd ())
17
19
profile .set_preference ("browser.helperApps.neverAsk.saveToDisk" , "application/json" )
18
20
browser = getattr (webdriver , BROWSER )(firefox_profile = profile )
19
- browser .implicitly_wait (3 )
20
- request .addfinalizer (lambda : browser .quit ())
21
- return browser
21
+ elif BROWSER == 'ChromeHeadless' :
22
+ chrome_options = Options ()
23
+ chrome_options .add_argument ("--headless" )
24
+ browser = webdriver .Chrome (chrome_options = chrome_options )
22
25
else :
23
26
browser = getattr (webdriver , BROWSER )()
24
- browser .implicitly_wait (3 )
25
- request .addfinalizer (lambda : browser .quit ())
26
- return browser
27
+ browser .implicitly_wait (3 )
28
+ request .addfinalizer (lambda : browser .quit ())
29
+ return browser
27
30
28
31
29
32
@pytest .fixture (scope = "module" )
@@ -37,8 +40,8 @@ def server_url(request, live_server):
37
40
38
41
def test_home (server_url , browser ):
39
42
browser .get (server_url )
40
- assert "AGPLv3" in browser .find_element_by_tag_name ( "footer" ).text
41
- browser .find_element_by_link_text ( 'Terms & Conditions' )
43
+ assert "AGPLv3" in browser .find_element ( By . TAG_NAME , "footer" ).text
44
+ browser .find_element ( By . LINK_TEXT , 'Terms & Conditions' )
42
45
43
46
44
47
def test_terms (server_url , browser ):
0 commit comments