21
21
22
22
import pytest
23
23
24
+ from selenium .common .exceptions import WebDriverException
24
25
25
26
@pytest .fixture
26
27
def cookie (webserver ):
@@ -32,19 +33,52 @@ def cookie(webserver):
32
33
'secure' : False }
33
34
return cookie
34
35
36
+ @pytest .fixture
37
+ def same_site_cookie_strict (webserver ):
38
+ same_site_cookie_strict = {
39
+ 'name' : 'foo' ,
40
+ 'value' : 'bar' ,
41
+ 'path' : '/' ,
42
+ 'domain' : webserver .host ,
43
+ 'sameSite' : 'Strict' ,
44
+ 'secure' : False }
45
+ return same_site_cookie_strict
46
+
47
+ @pytest .fixture
48
+ def same_site_cookie_lax (webserver ):
49
+ same_site_cookie_lax = {
50
+ 'name' : 'foo' ,
51
+ 'value' : 'bar' ,
52
+ 'path' : '/' ,
53
+ 'domain' : webserver .host ,
54
+ 'sameSite' : 'Lax' ,
55
+ 'secure' : False }
56
+ return same_site_cookie_lax
35
57
36
58
@pytest .fixture (autouse = True )
37
59
def pages (request , driver , pages ):
38
60
pages .load ('simpleTest.html' )
39
61
yield pages
40
62
driver .delete_all_cookies ()
41
63
42
-
43
64
def testAddCookie (cookie , driver ):
44
65
driver .add_cookie (cookie )
45
66
returned = driver .execute_script ('return document.cookie' )
46
67
assert cookie ['name' ] in returned
47
68
69
+ @pytest .mark .xfail_firefox (raises = WebDriverException ,
70
+ reason = 'sameSite cookie attribute not implemented' )
71
+ def testAddCookieSameSiteStrict (same_site_cookie_strict , driver ):
72
+ driver .add_cookie (same_site_cookie_strict )
73
+ returned = driver .get_cookie ('foo' )
74
+ assert returned ['sameSite' ] == 'Strict'
75
+
76
+ @pytest .mark .xfail_firefox (raises = WebDriverException ,
77
+ reason = 'sameSite cookie attribute not implemented' )
78
+ def testAddCookieSameSiteLax (same_site_cookie_lax , driver ):
79
+ driver .add_cookie (same_site_cookie_lax )
80
+ returned = driver .get_cookie ('foo' )
81
+ assert returned ['sameSite' ] == 'Lax'
48
82
49
83
@pytest .mark .xfail_ie
50
84
def testAddingACookieThatExpiredInThePast (cookie , driver ):
0 commit comments