• 7
  • 6
分享
  • Web自动化测试入门——软件测试圈
  • 曼倩诙谐 2020-11-20 11:26:54 字数 3687 阅读 3133 收藏 6

  什么是自动化测试?

  概念:让程序代替人为去验证程序功能的过程

  为什么要进行自动化测试?

  1. 解决-回归测试

  2. 解决-压力测试

  3. 解决-兼容性测试

  4. 提高测试效率,保证产品质量

  回归测试:项目在发新版本之后对项目之前的功能进行验证;

  压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力

  兼容性测试:不同浏览器(IE、Firefox、Chrome)等等

  自动化测试相关知识

  ·自动化测试在什么阶段开始?

  功能测试完毕(手工测试)

  手工测试:就是由人去一个一个输入用例,然后观察结果;

  ·自动化测试所属分类

  1. 黑盒测试(功能测试)

  2. 灰盒测试(接口测试)

  3. 白盒测试(单元测试)

  提示:Web自动化测试属于黑盒测试(功能测试)

  自动化测试优缺点

  ·优点:

  1. 较少的时间内运行更多的测试用例;

  2. 自动化脚本可重复运行;

  3. 减少人为的错误;

  4. 测试数据存储

  ·缺点:

  1. 不能取代手工测试;

  2. 手工测试比自动化测试发现的缺陷更多

  3. 测试人员技能要求;

  Web自动化入门

  适合Web项目自动化测试?

  1.需求变动不频繁

  2.项目周期长

  3.项目需要回归测试

  如何进行Web自动化测试?

  1. QTP(收费)

  QTP是商业的功能测试工具,收费,支持web,桌面自动化测试。

  2. Selenium(开源)【本阶段学习】

  Selenium是开源的web自动测试工具,免费,主要做功能测试。

  3. Jmeter(开源、Web、接口、性能)

  Jmeter是由Apache公司使用Java平台开发的一款测试工具,支持(Web、接口测试、性能测试)

  提示:Web测试在通信层(无UI界面)

  5. Loadrunner(收费、Web、性能)

  Loadrunner是商业性能测试工具,收费,功能强大,适合做复杂场景的性能测试

  6. Robot framework

  Robot Framework是一个基于Python可扩展地(关键字驱动)的测试自动化框架;

  ·主流工具-汇结:

  Web自动化测试:selenium、robot framework

  App端自动化测试:Appium、Monkeyrunner、UIautomation

  PC客户端(win32)自动化测试:QTP

  接口自动化测试:Jmeter、Postman、httpUnit、RESTClient

  云测平台:Testin Testbird

  性能测试:Jmeter、LoadRunner

  什么是Selenium?

  概念: Selenium是一个用于Web应用程序测试的工具;中文的意思(硒)

  Selenium特点:

  1. 开源软件:源代码开放可以根据需要来增加工具的某些功能

  2. 跨平台:linux 、windows 、mac

  3. 核心功能:就是可以在多个浏览器上进行自动化测试

  4. 多语言:Java、Python、C#、JavaScript、Ruby等

  5. 成熟稳定:目前已经被google , 百度, 腾讯等公司广泛使用

  6. 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能

  Selenium家族了解:

6-1.jpg


  重点:

  1. Selenium1.0(SeleniumIDE)

  2. Selenium2.0(Selenium1.0+WebDriver)

  Selenium IDE安装与运行

  ·Selenium IDE 是什么?

  Selenium IDE:是一个Firefox插件,用于记录和播放用户与浏览器的交互。 (录制Web操作脚本)

  ·Selenium IDE好处?

  1. 使用Selenium IDE录制脚本,体验自动化脚本魅力

  2. 使用Selenium IDE录制的脚本转换为代码语言

  (在后期我们自己设计脚本时,如果不知道用什么方式定位元素,可使用此方法参考)

  ·安装方式

  1. 官网安装

  Version: 2.9.1.1

  通过官网安装插件:https://addons.mozilla.org/en-GB/firefox/addon/selenium-ide/ve

  rsions/

  2. 附加组件管理器

  1). 火狐浏览器 V24-V35

  2). 附加组件管理器-->搜索selenium IDE

  提示:

  1. IDE前面有个空格

  2. 附加组件管理器启动方式-

  1) 工具菜单->附加组件

  2) Ctrl+Shift+A

  3. 离线安装

  下载:https://github.com/SeleniumHQ/selenium-ide/releases

  安装:下载好selenium_ide-2.9.1-fx.xpi直接拖入浏览器安装

  在线安装 搜索selenium IDE示意图:

6-2.jpg


  在线安装 点击查看全部XX项结果:

6-3.jpg


  火狐浏览器 V35.0 选择 selenium IDE 2.9.1.1

  Selenium IDE运行

  1. Ctrl+Alt+S

  2. 工具栏——>Selenium IDE

6-4.jpg


  1. 文件:创建、打开和保存测试案例和测试案例集。编辑:复制、粘贴、删除、撤销和选择测试案例中的所

  有命令。Options : 用于设置seleniunm IDE。

  2. 用来填写被测网站的地址。

  3. 速度控制:控制案例的运行速度。

  4. 运行所有:运行一个测试案例集中的所有案例。

  5. 运行:运行当前选定的测试案例。

  6. 暂停/恢复:暂停和恢复测试案例执行。

  7. 单步:可以运行一个案例中的一行命令。

  8. 录制:点击之后,开始记录你对浏览器的操作。

  9. 案例集列表。

  10. 测试脚本;table标签:用表格形式展现命令及参数。source标签:用原始方式展现,默认是HTML语言格式,也可以用其他语言展示。

  11. 查看脚本运行通过/失败的个数。

  12. 当选中前命令对应参数。

  13. 日志/参考/UI元素/Rollup

  练习1

  需求:使用Selenium IDE插件录制->打开百度搜索引擎,搜索框输入[淘宝官网],点击[百度一下]按钮

  练习1 脚本

6-5.jpg


  重点分析:

  1. 录制:录制时红色录制按钮一定要打开->按下状态

  2. 回放:由于网络延迟原因-建议选择最低

  3. 浏览器:回放时浏览器要保持打开状态(否则点击回放,脚本无响应)

  重点说明:

  1. id=kw:为百度搜索文本框id属性和值

  2. id=su: 为百度一下按钮id属性和值

  ·导出为python测试脚本

6-6.jpg


  定位调试插件

  如何快速查找一个元素标签的属性和值?

  1. FireBug【重要】

  FireBug插件是火狐浏览器一款插件,能够调试所有网站语言,同时也可以快速定位HTML页面中的元素;

  作用:定位元素(获取元素定位和查看元素属性);

  Firebug 插件安装

6-7.jpg


  在线安装:

  1). 火狐浏览器 V35

  2). 附加组件管理器-->搜索FireBug

  练习2:

  实现天涯论坛自动登录个人账号

  ·练习2 测试数据:

  1. 地址:http://bbs.tianya.cn/

  2. user:testcn1001

  3. pwd:test2XXX

  ·将练习2脚本 转换成Python语言

6-8.jpg


  文件菜单->Export Test Cast As..->python2/unittest/WebDriver

  Selenium IDE脚本编辑与操作

  提示:

  录制脚本时候是录制鼠标和键盘的所有在浏览器操作,那么脚本会出现多余的步骤,

  有时候我们需要手动填写脚本或修改脚本,所有我们有必要对Selenium IDE脚本编辑与操作有所了解;

  目的:手动修改或编写脚本(采用录制方式很容易记录出多余的操作)

  ·编辑一行命令

  在Table标签下选中某一行命令,命令由command、Target、value三部分组成。

  可以对这三部分内容那进行编辑。

  ·插入命令

  在某一条命令上右击,选择“insert new command”命令,就可以插入一个空白,然后对空白行进程编辑

  ·插入注释

  鼠标右击选择“insert new comment”命令插入注解空白行,本行内容不被执行,可以帮助我们更好的理解

  脚本,插入的内容以紫色字体显示。

  ·移动命令

  有时我们需要移动某行命令的顺序,我们只需要左击鼠标拖动到相应的位置即可。

  ·删除命令

  选择单个或多个命令,然后点击鼠标右键选择“Delete”

  ·命令执行

  选定要执行的命令点击单个执行按钮即可,注意:有一些命令必须依赖于前面命令的运行结果才能成功执行,否则会导致执行失败。



作者:幸福来之不易   

来源:博客园

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   免费的性能测试框架搭建课程快来领啊,成功提交问卷后还有精选好课任你挑选,数量有限,先填先得!链接:http://vote.51testing.com/  Fiddler的其他功能介绍  1、Fiddler 设置解密HTTPS的网络数据  Fiddler可以通过伪造CA证书来欺骗浏览器和服务器。大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler又装成浏览器,从而实现解密HTTPS数据包的目的。  解密HTTPS需要手动开启,依次点击:Tools –> Fiddler Options –> ?HTTPS ->勾选De...
            0 0 846
            分享
          • 读者提问:阿常你好,想请教一下,面试时让简单介绍一下你最近参与的一个项目,怎么回答比较好 ?阿常回答:可参考如下格式:最近这段时间(X年X月~X年X月),我负责测试了 XX 项目,核心业务是 XX,面向的用户群体是 XX ,用户量在 XX 左右,团队 XX 人,XX 个 产品,XX 个 开发,XX 个 测试,前端使用的技术栈是 XX,后端使用的技术栈是 XX,测试使用的技术栈是 XX,我主要负责的工作是 接口 + 性能 ,涉及测试工具 XX 等等。阿常碎碎念:以上问答素材来源于知识星球 软件测试圈:为软件测试答疑解惑。看完今天的分享对...
            0 0 1391
            分享
          • 第一章:项目目标基本开源项目:tpshop,这是一个web+app项目阶段核心目标:1.能够独立完成编写电商类项目的测试用例2.能够独立基于测试流程的6个步骤,对电商类项目进行测试本项目会涉及到的内容1.web类项目的环境的问题【构成、部署】2.web类项目如何熟悉整个项目3.测试流程4.【核心】测试电商类项目,两个重点:测试业务流程、核心功能5.抓包6.编写生成测试报告第二章:项目环境介绍2.1项目架构介绍公司一般有几套环境1.开发环境:给开发人员使用的2.测试环境:给测试人员测试软件使用的3.预生产环境:在正式发布之前的环境4.生产环境:给普通用户来使用的可以有三套环境,也可以有两套环境:...
            0 0 2919
            分享
          • Linux操作系统的不断发展,给全世界的系统研究带来了一股新的活力。下面由学习啦小编为大家整理了Linux主流的操作系统的详细介绍,希望对大家有帮助!Linux主流的操作系统详细介绍如今,随着Linux的不断发展,Linux所支持的文件系统类型也在迅速扩充。伴随着Linux新版本的发行,出现了大量的文件系统可能性,其中每一个不同版本的Linux所支持的文件系统类型种类都有所不同,使得用户很难了解这些不同版本产品的特点和应用方式。再有,基于Linux开放源码的特性,越来越多大中型企业及政府也投入更多的资源来开发Linux.现今世界上,越来越多国家逐渐的把政府机构内部门的电脑转移到Linux上,加...
            0 0 1003
            分享
          •   前言  我从来没有好好的写过一个测试用例,之前做开发虽然写单元测试和流程测试,基本上都是基于自己的代码,而且单元测试和流程测试的框和规范已经非常完善,你只需要填空就行,后来转做自动化测试,但我的做事的方法和思维还停留在开发层面,用例基本上是从手工业务功能测试集抽取,我只要按照这个子集给转换成脚本代码去运行就好了,并没有系统地完完整整的根据业务需求去手工写个一个用例。闲暇的时候,我们也会聊什么才算是一个好的测试用例,在深入了解这个之前,我去系统的看了下测试的基础。 测试也是有很多方法的。从网上也能搜到这方面的很多资料,我也是总结前辈的知识。  测试的方法  作为测试,我们的主要目标就是保证系...
            0 0 735
            分享
      • 51testing软件测试圈微信