forked from tryolabs/requestium
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_requestium.py
More file actions
53 lines (38 loc) · 2 KB
/
test_requestium.py
File metadata and controls
53 lines (38 loc) · 2 KB
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import unittest
from requestium import Session, Keys
class ChromeTestCase(unittest.TestCase):
def setUp(self):
self.s = Session('chromedriver',
browser='chrome',
default_timeout=15,
webdriver_options={'arguments': ['headless', 'disable-gpu']})
def test_cookie_transfer_to_requests(self):
"""Tested on http://testing-ground.scraping.pro/login"""
self.s.driver.get('http://testing-ground.scraping.pro/login')
self.s.driver.find_element_by_id('usr').send_keys('admin')
self.s.driver.ensure_element_by_id('pwd').send_keys('12345', Keys.ENTER)
self.s.driver.ensure_element_by_xpath('//div[@id="case_login"]/h3[@class="success"]')
self.s.transfer_driver_cookies_to_session()
response = self.s.get('http://testing-ground.scraping.pro/login?mode=welcome')
success_message = response.xpath(
'//div[@id="case_login"]/h3[@class="success"]/text()').extract_first()
self.assertEqual(
success_message, 'WELCOME :)', 'Failed to transfer cookies from Selenium to Requests')
def test_cookie_transfer_to_selenium(self):
self.s.get('http://testing-ground.scraping.pro/login')
self.s.cookies.set('tdsess', 'TEST_DRIVE_SESSION', domain='testing-ground.scraping.pro')
self.s.transfer_session_cookies_to_driver()
self.s.driver.get('http://testing-ground.scraping.pro/login?mode=welcome')
success_message = self.s.driver.xpath(
'//div[@id="case_login"]/h3[@class="success"]/text()').extract_first()
self.assertEqual(
success_message, 'WELCOME :)', 'Failed to transfer cookies from Requests to Selenium')
def tearDown(self):
self.s.driver.close()
class PhantomjsTestCase(ChromeTestCase):
def setUp(self):
self.s = Session('phantomjs',
browser='phantomjs',
default_timeout=15)
if __name__ == '__main__':
unittest.main()