├── .gitignore ├── README.md ├── index.html ├── index.js └── tests.py /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # testing with selenium 2 | ## Testing using Selenium 3 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Index Page 4 | 5 | 6 | 7 |
8 |

0

9 | 10 | 11 |
12 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', () => { 2 | let counter = 0; 3 | 4 | document.querySelector('#increase').onclick = () => { 5 | counter++; 6 | document.querySelector('#counter').innerHTML = counter; 7 | } 8 | 9 | document.querySelector('#decrease').onclick = () => { 10 | counter--; 11 | document.querySelector('#counter').innerHTML = counter; 12 | } 13 | }) 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests.py: -------------------------------------------------------------------------------- 1 | import os 2 | import pathlib 3 | import unittest 4 | 5 | from selenium import webdriver 6 | 7 | def file_uri(filename): 8 | return pathlib.Path(os.path.abspath(filename)).as_uri() 9 | 10 | driver = webdriver.Chrome('path/to/the/chrome/webdrover') 11 | 12 | class WebpageTests(unittest.TestCase): 13 | 14 | def test_title(self): 15 | driver.get(file_uri('index.html')) 16 | self.assertEqual(driver.title, 'Index Page') 17 | 18 | def test_increase(self): 19 | driver.get(file_uri('index.html')) 20 | increase = driver.find_element_by_id('increase') 21 | increase.click() 22 | self.assertEqual(int(driver.find_element_by_tag_name('h1').text), 1) 23 | 24 | def test_decrease(self): 25 | driver.get(file_uri('index.html')) 26 | decrease = driver.find_element_by_id('decrease') 27 | decrease.click() 28 | self.assertEqual(int(driver.find_element_by_tag_name('h1').text), -1) 29 | 30 | def test_multiple_increase(self): 31 | driver.get(file_uri('index.html')) 32 | increase = driver.find_element_by_id('increase') 33 | for i in range(3): 34 | increase.click() 35 | self.assertEqual(int(driver.find_element_by_tag_name('h1').text), 3) 36 | 37 | if __name__ == '__main__': 38 | unittest.main() --------------------------------------------------------------------------------