19.5. Tests Templates¶
19.5.1. Install¶
python -m pip install selenium
Run command in the system terminal:
$ python -m pip install selenium
19.5.2. Setup¶
Download the ChromeDriver from the link above
Extract downloaded file
Move the file to the project directory with
selenium
testsSet
webdriver.Chrome('chromedriver')
in the test file
19.5.3. Example¶
File shop/tests/test_templates.py
:
from django.test import StaticLiveServerTestCase
from django.urls import reverse
from selenium import webdriver
class TestTemplates(StaticLiveServerTestCase):
def setUp(self):
self.browser = webdriver.Chrome('chromedriver')
def tearDown(self):
self.browser.close()
def test_product_list(self):
url = self.live_server_url + reverse('shop:product_list')
self.browser.get(url)
self.assertIn('Product List', self.browser.title)
self.assertIn('Products', self.browser.find_element_by_tag_name('h1').text)
def test_product_href(self):
url_product_list = self.live_server_url + reverse('shop:product_list')
self.browser.get(url)
self.browser.find_element_by_link_text('Alpha').click()
url_product_detail = self.live_server_url + reverse('shop:product_detail', kwargs={'pk':1})
self.assertEqual(self.browser.current_url, url_product_detail)