-
Notifications
You must be signed in to change notification settings - Fork 140
Expand file tree
/
Copy pathtest_js_api.py
More file actions
120 lines (100 loc) · 2.91 KB
/
Copy pathtest_js_api.py
File metadata and controls
120 lines (100 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
from poium import Page, CSSElement, Element
from time import sleep
class BaiduPage(Page):
search_input = CSSElement("#kw", describe="百度搜索框")
search_button = CSSElement("#su", describe="百度按钮")
icp = CSSElement("#cp", describe="备案信息")
search_key = CSSElement(".res-gap-right16", describe="")
setting_dropdown_box = CSSElement("#s_user_name_menu", describe="设置下拉框")
setting = CSSElement("#s-usersetting-top", describe="设置")
class SoPage(Page):
setting = CSSElement("#hd_setting", describe="搜索设置")
search = CSSElement("#search-button", describe="搜索按钮")
class RunoobPage(Page):
iframe = Element(css="#iframeResult")
div = CSSElement("html > body > div")
def test_move_to(browser):
"""
鼠标悬停到元素上
:param browser: 浏览器驱动
:return:
"""
page = BaiduPage(browser)
page.open("https://www.baidu.com")
page.set_window_size()
page.setting.move_to()
sleep(5)
def test_clear_input_click(browser):
"""
清除/输入/点击
:param browser: 浏览器驱动
:return:
"""
page = BaiduPage(browser)
page.open("https://www.baidu.com")
page.search_input.clear()
page.search_input.set_text("poium")
value = page.search_input.value
print(f"input: {value}")
page.search_button.click()
sleep(2)
page.search_key.click_display()
sleep(2)
assert page.get_title == "poium_百度搜索"
def test_get_info(browser):
"""
获取页面标题,URL,文本
:param browser: 浏览器驱动
:return:
"""
page = BaiduPage(browser)
page.open("https://www.baidu.com")
sleep(2)
title = page.get_title
url = page.get_url
assert "百度一下,你就知道" == title
assert "www.baidu.com" in url
def test_get_attribute(browser):
"""
元素属性修改/获取/删除
:param browser: 浏览器驱动
:return:
"""
page = BaiduPage(browser)
page.open("https://www.baidu.com")
sleep(2)
page.search_button.remove_attribute("class")
page.search_input.set_attribute("type", "password")
page.search_input.set_text("abc123")
sleep(5)
def test_display(browser):
"""
显示隐藏的元素
:param browser: 浏览器驱动
:return:
"""
page = SoPage(browser)
page.open("https://www.so.com")
page.setting.display()
sleep(5)
def test_clear_class(browser):
"""
清除元素的class属性
:param browser: 浏览器驱动
:return:
"""
page = SoPage(browser)
page.open("https://www.so.com")
page.search.clear_class()
sleep(5)
def test_scroll(browser):
"""
测试操作页面内嵌滚动条
:param browser: 浏览器驱动
:return:
"""
page = RunoobPage(browser)
page.open("https://www.runoob.com/try/try.php?filename=tryjsref_onscroll")
page.iframe.switch_to_frame()
page.div.scroll(top=100)
sleep(5)