├── .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()
--------------------------------------------------------------------------------