Skip to content

Commit 4af5239

Browse files
authored
Merge pull request #71 from botcity-dev/TST/tests-to-keyboard-mouse-vision
TST: Expand tests to keyboard, mouse and vision
2 parents a2d9f11 + a2658c8 commit 4af5239

File tree

5 files changed

+472
-2
lines changed

5 files changed

+472
-2
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,4 +68,4 @@ jobs:
6868

6969
- name: Run Tests in ${{ matrix.browser }}
7070
run: |
71-
pytest -v -vrxs --headless=${{ matrix.headless }} --browser=${{ matrix.browser }}
71+
pytest -n 2 -v -vrxs --headless=${{ matrix.headless }} --browser=${{ matrix.browser }}

tests/test_browser.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
def test_create_tab(web: WebBot):
1010
web.browse(conftest.INDEX_PAGE)
11-
1211
title = web.page_title()
1312
assert title == 'Botcity - web test'
1413

tests/test_keyboard.py

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
import conftest
2+
3+
from botcity.web import WebBot
4+
5+
6+
def test_control_a(web: WebBot):
7+
web.browse(conftest.INDEX_PAGE)
8+
web.control_a()
9+
10+
result = conftest.get_event_result('element-result', web)
11+
if conftest.OS_NAME == 'Darwin':
12+
assert result['data'] == ['Meta', 'a']
13+
else:
14+
assert result['data'] == ['Control', 'a']
15+
16+
17+
def test_control_c(web: WebBot):
18+
web.browse(conftest.INDEX_PAGE)
19+
web.control_c()
20+
21+
assert web.get_clipboard() == 'Botcity'
22+
23+
24+
def test_enter(web: WebBot):
25+
web.browse(conftest.INDEX_PAGE)
26+
web.enter()
27+
28+
result = conftest.get_event_result('element-result', web)
29+
assert result['data'] == ['Enter']
30+
31+
32+
def test_control_v(web: WebBot):
33+
web.browse(conftest.INDEX_PAGE)
34+
web.copy_to_clipboard(text='botcity-paste')
35+
web.control_v()
36+
37+
result = conftest.get_event_result('element-result', web)
38+
assert ''.join(result['data']) == 'botcity-paste'
39+
40+
41+
def test_delete(web: WebBot):
42+
web.browse(conftest.INDEX_PAGE)
43+
web.delete()
44+
45+
result = conftest.get_event_result('element-result', web)
46+
assert result['data'] == ['Delete']
47+
48+
49+
def test_key_end(web: WebBot):
50+
web.browse(conftest.INDEX_PAGE)
51+
web.key_end()
52+
53+
result = conftest.get_event_result('element-result', web)
54+
assert result['data'] == ['End']
55+
56+
57+
def test_key_esc(web: WebBot):
58+
web.browse(conftest.INDEX_PAGE)
59+
web.key_esc()
60+
61+
result = conftest.get_event_result('element-result', web)
62+
assert result['data'] == ['Escape']
63+
64+
65+
def test_key_home(web: WebBot):
66+
web.browse(conftest.INDEX_PAGE)
67+
web.key_home()
68+
69+
result = conftest.get_event_result('element-result', web)
70+
assert result['data'] == ['Home']
71+
72+
73+
def test_type_keys(web: WebBot):
74+
web.browse(conftest.INDEX_PAGE)
75+
web.type_keys(['a', 'b', 'c'])
76+
77+
result = conftest.get_event_result('element-result', web)
78+
assert result['data'] == ['a', 'b', 'c']
79+
80+
81+
def test_type_down(web: WebBot):
82+
web.browse(conftest.INDEX_PAGE)
83+
web.type_down()
84+
85+
result = conftest.get_event_result('element-result', web)
86+
assert result['data'] == ['ArrowDown']
87+
88+
89+
def test_type_left(web: WebBot):
90+
web.browse(conftest.INDEX_PAGE)
91+
web.type_left()
92+
93+
result = conftest.get_event_result('element-result', web)
94+
assert result['data'] == ['ArrowLeft']
95+
96+
97+
def test_type_right(web: WebBot):
98+
web.browse(conftest.INDEX_PAGE)
99+
web.type_right()
100+
101+
result = conftest.get_event_result('element-result', web)
102+
assert result['data'] == ['ArrowRight']
103+
104+
105+
def test_type_up(web: WebBot):
106+
web.browse(conftest.INDEX_PAGE)
107+
web.type_up()
108+
109+
result = conftest.get_event_result('element-result', web)
110+
assert result['data'] == ['ArrowUp']
111+
112+
113+
def test_backspace(web: WebBot):
114+
web.browse(conftest.INDEX_PAGE)
115+
web.backspace()
116+
117+
result = conftest.get_event_result('element-result', web)
118+
assert result['data'] == ['Backspace']
119+
120+
121+
def test_hold_shift(web: WebBot):
122+
web.browse(conftest.INDEX_PAGE)
123+
web.hold_shift()
124+
web.kb_type('a')
125+
web.release_shift()
126+
web.kb_type('a')
127+
128+
result = conftest.get_event_result('element-result', web)
129+
assert result['data'] == ['Shift', 'A', 'a']
130+
131+
132+
def test_space(web: WebBot):
133+
web.browse(conftest.INDEX_PAGE)
134+
web.space()
135+
136+
result = conftest.get_event_result('element-result', web)
137+
assert result['data'] == ['Space']
138+
139+
140+
def test_page_down(web: WebBot):
141+
web.browse(conftest.INDEX_PAGE)
142+
web.page_down()
143+
144+
result = conftest.get_event_result('element-result', web)
145+
assert result['data'] == ['PageDown']
146+
147+
148+
def test_page_up(web: WebBot):
149+
web.browse(conftest.INDEX_PAGE)
150+
web.page_up()
151+
152+
result = conftest.get_event_result('element-result', web)
153+
assert result['data'] == ['PageUp']
154+
155+
156+
def test_key_tab(web: WebBot):
157+
web.browse(conftest.INDEX_PAGE)
158+
web.tab()
159+
160+
result = conftest.get_event_result('element-result', web)
161+
assert result['data'] == ['Tab']

0 commit comments

Comments
 (0)