Selenium基础应用知识&Web元素定位

1、浏览器操作

目前市面上主流的浏览器有FireFox、IE及Chrome等,Selenium起源于FireFox,因此默认支持的是FireFox,而IE及Chrome则需要一些简单的设置。

在学习如何使用Selenium开展Web自动化测试前,先熟悉下Selenium应用的基础知识。

01. 打开网页

02. Wait time

如需在操作之间设置停留等待时间,则可使用time.sleep(n)方法。Time方法不能直接使用,需先导入time包,n为秒数。

03. 页面刷新

当执行某些操作,如数据添加后,页面未能及时刷新,可利用driver.refresh()方法进行页面刷新,一般与time.sleep()方法组合使用。

04. 设置大小

如果打开的窗口不是全屏,或者需要设为特定的大小,则可以使用maximize_window()和set_window_size()进行调整。

05. 页面截屏

测试执行过程中发现缺陷,需要截屏时,可利用get_screenshot_as_file()方法进行截屏,如:

需要注意的是,此方法截屏是整个对象界面,而不是单独某个区域。

06. 关闭窗口

关闭窗口有两种方法:close、quit,当对象操作完成需关闭窗口时,可使用close和quit。二者的区别是:

Close:关闭当前窗口,可用于某个具体窗口关闭。

Quit:关闭所有与当前操作有关联的窗口,并退出驱动。需释放资源时可使用此方法。

2、Web元素定位

UI层面的自动化测试中,测试工具需根据对象识别方法识别待测对象,然后驱动其完成模拟操作,Selenium亦不例外,模拟用户手工操作的前提是识别待驱动的对象,因此如何识别测试对象,是能否实现自动化测试关键。

Selenium提供了非常多的对象元素识别方法,本教程仅介绍常用的几种方式。

01. 元素查看工具

Selenium基于FireFox应用诞生,因此在FireFox中提供了一个非常好的元素基本信息查看工具:FireBug及FirePath。FireBug、FirePath在FireFox的附加组件中搜索安装即可。

图1 FireBug及FirePath插件

安装了FireBug及FirePath后,利用FireFox打开被测Web系统的页面时,可查看某个具体元素的详细属性信息,如图2所示。

 图2用户名输入框详细属性信息

上图展示了利用FireBug及FirePath查看“用户名”输入框的详细属性信息,通过分析得到如下的元素信息:

这样,Selenium可利用丰富的元素查找方法在被测页面中查找到该元素。

02. Id查找元素

如果元素在HTML页面中设置了id属性值,Selenium可通过该id找到该元素,以ECShop前端用户注册界面为例,利用IE的开发者工具查看用户名属性,如图 3所示。

图 3用户名id查找示例

上图显示,用户名输入框对象存在id且id值为“username”,Selenium可利用find_element_by_id()查找该元素,进行相关操作,如:

03. Name查找元素

与id类似,如果测试对象属性中有name值,可利用find_element_by_name()查找并进行相关操作,如:

04. Class Name查找元素

如果元素存在Class Name,可利用find_element_by_class_name()查找并进行相关操作,如图 3中,除了id及name值外,还有“inputBg”,则可进行如下操作识别:

05. Link Text查找元素

通过某个超链接的文本字符进行查询,也是个不错的选择。如图 4所示:

图 4通过link text查找元素

利用find_element_by_link_text()查找“免费注册”元素并进行点击操作,从而进入用户注册页面:

06. Partial Link查找元素

当某个元素的超链接内容较长时,可利用模糊匹配的方法进行识别,如:

发布了86 篇原创文章 · 获赞 243 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_43802541/article/details/103717253
今日推荐