-
Notifications
You must be signed in to change notification settings - Fork 62
/
Copy pathadd_cookies.py
39 lines (31 loc) · 1.42 KB
/
add_cookies.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import unittest
from selenium import webdriver
class ABTestOptOut(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
def tearDown(self):
self.driver.quit()
def test_forge_cookie_on_target_page(self):
driver = self.driver
driver.get('http://the-internet.herokuapp.com/abtest')
heading_text = driver.find_element_by_tag_name('h3').text
assert heading_text in ['A/B Test Variation 1', 'A/B Test Control']
driver.add_cookie({'name' : 'optimizelyOptOut', 'value' : 'true'})
driver.refresh()
heading_text = driver.find_element_by_tag_name('h3').text
assert heading_text == 'No A/B Test'
def test_forge_cookie_on_homepage_then_navigate_to_target_page(self):
driver = self.driver
driver.get('http://the-internet.herokuapp.com')
driver.add_cookie({'name' : 'optimizelyOptOut', 'value' : 'true'})
driver.get('http://the-internet.herokuapp.com/abtest')
heading_text = driver.find_element_by_tag_name('h3').text
assert heading_text == 'No A/B Test'
def test_url_parameter(self):
driver = self.driver
driver.get('http://the-internet.herokuapp.com/abtest?optimizely_opt_out=true')
driver.switch_to.alert.dismiss()
heading_text = driver.find_element_by_tag_name('h3').text
assert heading_text == 'No A/B Test'
if __name__ == "__main__":
unittest.main()