小伙伴如果想研究web自动化的。推荐超级值得看的文档哦:https://selenium-python-zh.readthedocs.io/en/latest/index.html
自动化测试的工具
1、QTP(收费):商业的功能测试工具,收费,支持web,桌面自动化测试
2、selenium(开源):开源的web自动化测试,免费,主要做功能测试
3、jmeter(开源,接口,web,性能)
4、loadrunner(收费,web,性能):loadrunner是商业性能测试工具,收费,功能强大,适合做复杂场景的性能测试
5、robot framework :是一个基于python可扩展的(关键字驱动)的测试自动化框架
主流自动化工具汇总
web自动化测试:selenium,robotframework
app端自动化测试:appium
pc客户端(win32)自动化测试:QTP
接口自动化测试:jmeter,postman,httpUnit,RESTlient(后3个为浏览器插件)
云测平台:Testin,Testbird
性能测试:jmeter,loadrunner
selenium特点
1、开源软件:源代码开放,免费
2、跨平台:linux,windows,mac
3、核心功能:可以在多个浏览器上进行自动化测试
4、多语言:java,python,Ruby,c#等
5、成熟稳定:目前已经被google,百度,腾讯等公司广泛应用
6、功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能
7、Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。
Selenium细节讲解:https://blog.csdn.net/TestingGDR/article/details/81950593
selenium家族
常用selenium2.0。其他还分为selenium1.0,3.0。
selenium工具集:
Selenium IDE:火狐的插件,可以录制用户的基本操作,生成测试用例
Selenium Grid:用于高并发性能测试
Selenium RC:是selenium 家族的核心工具,Selenium RC 支持多种不同的语言编写自动化测试脚本,通过selenium RC 的服务器作为代理服务器去访问应用从而达到测试的目的
selenium2.0 = Selenium1.0(不支持浏览器的同源策略,不同域名不支持信息共享) + weDriver
Seleium weDriver:WebDriver 是 Selenium 2 主推的工具,事实上WebDriver是Selenium RC的替代品,因为Selenium需要保留向下兼容性的原因,在 Selenium 2 中, Selenium RC才没有被彻底的抛弃,如果使用Selenium开发一个新的自动化测试项目,那么我们强烈推荐使用Selenium2 的 WebDriver进行编码。另外, 在Selenium 3 中,Selenium RC 被移除了。WebDriver 对外提供API,使用时只需要将其实例化即可以使用。
- selenium2.0:
-
-
- selenium2.0 = Selenium1.0 + weDriver
-
-
-
- 基于调用webdriver来模拟用户操作(api)
-
-
-
- webdriver的速度更快,因为它直接交互使用(通过浏览器的驱动调用)
-
-
-
- 支持更多的语言
-
在自动化测试过程中需要着重了解
1、Selenium ide
2、selenium2.0(webdriver)
seleniumIDE的安装
着重了解:
使用seleniumIDE录制脚本
使用seleniumIDE录制的脚本转化为python语言
seleniumIDE:是一个火狐的插件,用于记录和播放用户和浏览器之间的交互(用于录制web操作脚本)
在火狐浏览器中安装seleniumIDE
seleniumIDE常用的命令
1、编辑
2、插入
3、注释
4、移动:拖拽移动
5、删除
6、单个执行:有的命令需要前面命令执行
7、全部执行
常用的关键字:
Open
click(locator)
type(locator,value)
link+链接
close()
FireBug的安装和使用***:
firebug插件是火狐浏览器一款插件,能够调试多有网站语言,同时也可以快速定位html页面中的元素。作用主要是定位元素(获取元素定位和查看元素属性)
Webdriver的使用
Webdriver的简述:
1、webdriver是一个基于web应用程序的自动化测试工具
2、提供一套友好的api
3、webdriver完全是一套类库,不依赖于任何测试框架,除了必要的浏览器驱动
Webdriver元素的定位方法
1、id
2、name
3、class_name
4、tag_name
5、link_text
6、partial_link_text
7、xpath
8、css
对以上的元素定位方法的分类:
id,name,class_name为元素的属性定位
tag_name为元素标签的名称
link_text,partial_link_text为超链接定位(a标签)partial_link_text为模糊匹配
xpath为元素路径的定位
css:为选择器定位