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

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

自动化测试概念

是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程。
自动化只是测试方式,跟测试阶段无关。
可以把任何测试工作写一个程序自动化实现都可以称为自动化测试。

selenium自动化测试:

【2023最新软件测试教程】B站最用心的自动化测试深度学习教程,零基础入门到精通,学会即可就业。

分层的自动化测试

传统自动化测试:基于产品UI层的自动化测试,将黑盒功能测试转化为由程序或工具执行的一种自动化测试。
分层自动化测试:从黑盒(UI)单层到黑盒和白盒多层的自动化测试,即从全面黑盒自动化测试到对系统的不同层次进行的自动化测试。

单元自动化测试:单元自动化测试是指对软件中的最小可测试单元进行检查和验证。
接口自动化测试: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目录下。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

opics/618631832)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值