Selenium自动化测试实战之自动化测试基础_用selenium进行黑盒测试系统测试

单元自动化测试:单元自动化测试是指对软件中的最小可测试单元进行检查和验证。
接口自动化测试:Web应用的接口自动化测试大体分为两类:模块接口测试和协议接口测试。
模块接口测试:主要测试程序模块之间的调用与返回。它主要强调对一个可实现完整功能的类、方法或函数的调用的测试。
协议接口测试:主要测试对网络传输协议的调用,如HTTP/SOAP等,一般应用在前端和后端开发之间,以及不同项目之间。
UI自动化测试:UI自动化测试以实现手工测试用例为主,可降低系统功能回归测试的成本(人力成本和时间成本)。
什么样的项目适合做自动化测试
软件需求变更不频繁
项目周期较长
自动化测试脚本可重复使用
任务测试明确,不会频繁变动
每日构建后的验证测试
比较频繁的回归测试
软件系统界面稳定,变化少
需要在多平台运行相同的测试用例、组合遍历型的测试、大量的重复测试
软件维护周期长
项目进度压力不太长
被测系统软件开发比较规范,能够保证系统的可测试性
具备大量的自动化测试平台
测试人员具备较强的编程能力
自动化测试的目的
不是为了找Bug,而是为了回归测试缩短软件的发布周期,节约成本。

自动化测试的介入时间
一般是在系统测试阶段开始介入,多用于系统测试的回归测试。
(一般是系统测试阶段,具体是核心功能手工测试做完之后开始编写自动化脚本。)

自动化测试流程
可行性分析 → 测试需求分析 → 指定测试计划 → 自动化测试设计 → 测试脚本开发 → 无人职守测试 → 提交测试报告 → 脚本维护阶段

自动化测试工具
QTP:收购后改名成UTF。商业版,适用于B/S和C/S的自动化。
Selenium:是一款用于B/S架构的软件测试工具,它支持多平台、多语言、多浏览器去实现自动化测试.
Robot Framework:简称RF,支持关键字驱动。可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。
Appium:手机APP自动化测试工具。

Selenium简介
Selenium经历了三个大版本,Selenium1.0、Selenium2.0和Selenium3.0。Selenium不是由单独一个工具构成,而是由一些插件和类库组成,这些插件和类库有其各自的特点和应用场景。

Selenium1.0家族关系

Selenium1.0
(1) Selenium IDE
Selenium IDE是嵌入在Firefox浏览器中的一个插件,可实现简单的浏览器操作的录制与回访功能。
(2) Selenium Grid
Selenium Grid是一个自动化测试辅助工具。利用Grid可以很方便地实现在多台机器上或异构环境中运行测试用例。
(3) Selenium RC
SeleniumRC(Remote Control)是Selenium家族的核心部分,支持多种不同语言编写的自动化测试脚本。把Selenium RC的服务器作为代理服务器去访问应用,即可达到测试的目的。
Selenium RC分为Client Libraries和Selenium Server两部分。Client Libraries主要用于编写测试脚本,负责控制Selenium Server的库。Selenium Server负责控制浏览器行为。
Selenium Server主要分为三部分:Selenium Core、Launcher和Http Proxy。Selenium Core就是一堆JavaScript函数的集合。通过这些JavaScript函数,我们可以用程序对浏览器进行操作。Launcher用于启动浏览器,把Selenium Core加载到浏览器页面当中,同时,把浏览器的代理设置为Http Proxy。
Selenium2.0
Selenium2.0把WebDriver加到了Selenium1.0这个家族中,简单用公式表示:
Selenium2.0 = Selenium1.0 + WebDriver
需要注意的是,在Selenium2.0中主推的是WebDriver,可以将其看作Selenium RC的替代品。为了保持向下的兼容性,Selenium2.0并没有彻底抛弃Selenium RC。
Selenium RC与WebDriver的工作方式有着本质的区别
Selenium RC是浏览器中运行JavaScript应用,使用浏览器内置的JavaScript翻译器来翻译和执行selenese的(selenese是Selenium命令集合)。
WebDriver通过原生浏览器支持或者浏览器扩展来直接控制浏览器。WebDriver是针对各个浏览器而开发的,取代了嵌入被测Web应用中的JavaScript。WebDriver与浏览器紧密集成,支持创建更高级的测试,避免了JavaScript安全模型导致的限制。除来自浏览器厂商的支持外,WebDriver还可利用操作系统级的调用,模拟用户输入。
Selenium与WebDriver原本属于两个不同的项目,WebDriver的创建者Simon Stewart早在2009年8月的一封邮件中解释了项目合并的原因。
Selenium与WebDriver合并的原因
为何把两个项目合并?一部分原因是WebDriver解决了Selenium的缺点(例如,能够绕过JavaScript沙箱),另一部分原因是Selenium解决了WebDriver存在的问题(例如,支持广泛的浏览器),还有一部分原因是Selenium的主要贡献者和我都觉得合并项目是为用户提供最优秀框架的最佳途径。
Selenium3.0
2016年7月,Selenium3.0悄悄发布了第一个beta版。Selenium3.0做了以下更新。
(1) 去掉了Selenium RC,简单用公式表示如下:
Selenium3.0 = Selenium2.0 - Selenium RC
(2) Selenium3.0只支持Java8以上版本
(3) Selenium3.0中的Firefox浏览器驱动独立了。Selenium2.0浏览器默认是集成Firefox浏览器驱动的,在Selenium3.0中,Firefox浏览器和Chrome浏览器一样,在使用前需要下载和设置浏览器驱动。
(4) mac OS操作系统集成了Safari的浏览器驱动,该驱动默认在/usr/bin/safaridriver目录下。
(5) 只支持IE9.0以上版本。
Selenium IDE
Selenium IDE同样是Selenium的家族成员。Selenium IDE有两个版本,旧版的Selenium IDE是基于Firefox浏览器扩展的,它提供了比较完备的自动化功能,如脚本录制/回放、定时任务等;还可以将录制的脚本导成不同编程语言的Selenium测试脚本,这在很大程度上可以帮助新手编写测试用例。但旧版的Selenium IDE不支持Firefox新版本支持的API,因此Selenium团队重新开发了新版的Selenium IDE,可以同时支持Chrome、Firefox以及其他浏览器。
项目地址:
appium简介
appium是当前移动平台上主流的自动化测试工具之一。
appium是一个合成词,分别由“application”的前三个字母和“Selenium”的后三个字母组成。application为“应用”,我们一般把移动平台上的应用简称为App。Selenium是当前主流的Web UI自动化测试工具。appium与Selenium之间是有继承关系的。appium的寓意是:移动端的Selenium自动化测试工具。
appium是一个开源自动化测试工具,支持iOS和Android平台上的原生应用、Web应用以及混合应用。

原生应用
是指那些用iOS或者Android SDK开发的应用(App)。
Web应用
是指可以使用移动浏览器(如iOS上的Safari和Android上的Chrome)访问的应用。
混合应用
是指原生代码封装网页视图,原生代码和Web内容交互的应用。比如,微信小程序,可以帮助开发者使用网页技术开发应用,然后用原生代码封装。
更重要的是,appium是一个跨平台的测试工具,它允许测试人员在不同平台(iOS、Android)使用同一套API编写自动化测试脚本,这大大增加了iOS和Android测试套件之间代码的复用性。

appium与Selenium
appium类库封装了标准Selenium客户端类库,为用户提供常见的JSON格式的Selenium命令,以及额外的移动设备控制相关的命令,如多点触控手势和屏幕方向等操作。
appium客户端API实现了Mobile JSON Wire Protocol(一个标准协议的官方扩展草稿)和W3C WebDirver spec(一个传输不可预知的自动化协议,该协议定义了MultiAction接口)的元素。
appium服务器定义了官方协议的扩展,为appium用户提供方便的接口来执行各种设备动作,例如,在测试过程中安装/卸载App等。这也是我们需要安装appium特定的客户端,而不是通用的Selenium客户端的原因。当然,appium客户端API只是增加了部分操作,在Selenium客户端的基础上进行了简单的扩展,因此它们仍然可以用来运行通用的Selenium会话。

总结:

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

链图片转存中…(img-0ezzwHUM-1719237940034)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值