20.5. Tests Templates
20.5.1. Install
python -m pip install selenium
Run command in the system terminal:
$ python -m pip install selenium
20.5.2. Setup
Download the ChromeDriver from the link above
Extract downloaded file
Move the file to the project directory with
seleniumtestsSet
webdriver.Chrome('chromedriver')in the test file
20.5.3. Example
File myproject/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)