-
笔记内容:
(元素定位、元素操作、鼠标
p>
键盘操作、浏览器操作、等待、多选、拖放、显示所有链接
)
一、
selenium
webdriver
简介
:
Watir-webdriver:
是一种基于
Ruby
语言开发的
Ruby
库。它能够使用
chrome
、
fir
efox
、
IE
浏览器进行
web
测试,它可以模拟用户点击链接,填写表单,点击按钮等。相对于其
他商
业工具来说,小巧、灵活的
watir-
webdriver
所提供的功能已经足够。
二、用
eclipse
编写
s
elenium
脚本的方法:
1
p>
、创建项目
-->
创建包
< br>-->
导入
selenium
的
俩个
jar
包之后就可以开始进行代码编写
2
、常用的语法:
< br>下表列出了
webdriver
的最常用的命令以及它的
语法,这将有助于我们开发
webdriver
脚本。
Commmand
(
ys(
()
ctAll()
ByVisible
Text(
text
To().window(
To().frame(
To().alert()
te().to(
te().forward()
te().back()
()
()
h()
3
、
webdriver
元素定位方法:
描述
导航到应用程序
输入一些文本输入框
从输入框清空内容
这将取消选择页面上的第一个选择所有选项:
select
the
OPTION
with
the
input
specified
by
the
user.
Moving
the
focus
from
one
window
to
another
swing
from
frame
to
frame
Helps
in
handling
alerts
Navigate
to
the
URL
To
Navigate
forward
To
Navigate
back
Closes
the
current
Browser
associated
with
the
driver
Quits
the
driver
and
closes
all
the
associated
window
of
t
driver.
Refreshes
the
current
page.
原理:通过调用类:
web driver
和
webelement
的
fin
delement
方法来定位元素
F
indelements():
搜索符合搜索条件的列表,如果没有找到返回空
Findelement():
搜索复合条件
的元素,如果没有找到则抛出异常
Method
By
ID
By
name
By
class
nam
e
By
tag
name
Syntax
<
br>ID 元素 获取状态,返回 Thread <
br>id <
br>; SECONDS FluentWait , );
(
ement((
ID>))
ement((
na
me>))
ement(ame(
class>))
ement(e(
me>))
ement(xt(
ement(lLinkText(
ext>))
ement(ector(
sele
ctor>))
ement((
描述
定位元素使用
属性
定位使用
Name
属性的
元素
定位使用类属性的元素
定位使用
p>
HTML
标记元
素
定位使用的链接文字链
接
定位链接使用链接的文
字部分
定位使用
CSS
选择器的
定位使用
XPath
查询元
素
By
link
text
By
partial
lin
k
text
By
CSS
By
XPath
4
、对复选框
/
单选框的互动:
操作:通过点击
click
()
true
则是选中
ement((
ement((
eme
nt((
5
、同步
应用程序做完一步操作时需要等待应用程序同步
1
)静态等待:
.
Sleep
(
p>
1000
);
//Will wait
for 1 second.
2
)显示等待
个明确的等待,
等待某个条件进一步处理之前发生。
它主要用
于当我们想要点击
或采取行动的对象,一旦它是可见的。
Web
ElementDynamicElement
=(
new
p>
WebDriverWait
(
drive
r
,
10
)).
until
(
Expe
ctedCo
nditions
.
presenceOfElementLo
cated
(
By
.
(
)))
3
)隐式等待
直接等待指定时间,如果时间到了就直接执行下一步骤,下一步骤无法执行直接抛出异常
弊端:会延迟应用程序的执行时间
driver
.
manage
().
timeouts
().
implic
itlyWait
(
时间单位为
S
p>
,
TimeUnit
.
);
4
)流利等待:
用于当
webelement
可以出现在
5
秒或者甚至它可以采取
90
秒。
在这种情况下,
我们定义的时间等待的状态的最大数量,
以及与该查询的对象状
态的是否存在等的频率。
Wait
wait
=
new
FluentWa
it
(
driver
).
withTimeout
(
60
SECONDS
).
pollingEvery
(
10
,
SECONDS
).<
/p>
ignoring
(
NoSuchEle
mentException
.
class
WebElement
dynamicelement
=
wait
.
until
(
new
Function
<
webdriver
,
webElem
ent
>(){
public
WebE
lement
apply
(
WebDriver
driver
){
return
p>
driver
.
findElement<
/p>
(
By
.
id<
/p>
(
));}});
6
、拖放
WebElementFrom
=
<
/p>
driver
.
findElement
(
By
.
xp
ath
(
));
WebElementTo
=
dr
iver
.
findElement
(
By
.
xpath
));
Actions
builder
-
-
-
-
-
-
-
-
-
上一篇:中国梦 我的军人梦
下一篇:七年级下册语文基础知识练习(部编版))