Selenium3自动化测试实战--第1章 自动化测试基础--分层自动化测试,Selenium简介和Appium简介

第1章 自动化测试基础

1.1 分层的自动化测试

测试金字塔:

传统自动化测试:基于产品UI层的自动化测试,是将黑盒功能测试转化为由程序或工具执行的一种自动化测试。

分层自动化测试:倡导从墨盒UI到黑盒和白盒多层的自动化测试,即从全面黑盒自动化测试到对系统的不同层次进行的自动化测试。

1 单元自动化测试

测试人员的优势是具备测试思维,在设计测试用例时考虑更全面;但劣势是,不如开发人员熟悉被测代码。

2 接口自动化测试

Web应用的接口自动化测试大体分为两类:模块接口测试,和协议接口测试(也就是上面分层图中的Web接口测试?)

3 UI自动化测试

以实现手工测试用例为主,可降低系统功能回归测试的成本(人力成本和时间成本)(项目管理三要素:时间,成本和质量)

1.2 适合自动化测试的项目

满足3个条件就可以展开自动化测试:

(1)软件需求变动不频繁

(2)项目周期长

(3)自动化测试脚本可重复使用

这里想到一个问题,敏捷项目是否也适合自动化测试?如果适合,如何展开自动化测试?

关于敏捷项目,敏捷测试,敏捷测试是否适合展开自动化测试,另起一文学习。

1.3 如何学习UI自动化测试

从3个方面入手:

1. 编程语言

2. Selenium/Appium API

3. 单元测试框架

如何定义一条测试用例

如何组织和运行测试用例

如何统计测试用例的运行结果(总测试用例数,成功数,失败数)

1.4 Selenium简介

Selenium1.0 =IDE + Grid + RC

Selenium2.0 = Selenium1.0+Webdriver

Selenium3.0 = Selenium2.0 - Selenium RC

IDE:  提供简单的脚本录制,编辑和回放功能

Grid: 用来对测试脚本做分布式处理,现在已经集成到selenium server中了。分布式不是并行。分布式是指B电脑的浏览器执行A电脑的用例。而并行的同时执行多条用例,是由编辑语言多线程技术实现的。

RC:分Client libraries和Selenium server. Client libraries主要用于编写测试脚本,负责控制Selenium server的库。

  Selenium server负责控制浏览器的行为。分为 launcher (启动浏览器), http proxy(将浏览器的代理设置为http proxy), Core(javascript函数集合,控制浏览器)。

说了这么多,其实Selenium3已经删除了RC,被webdriver完全代替。

Webdriver: 通过原生浏览器支持,或者浏览器扩展来直接控制浏览器。避免了javascript安全模型导致的限制。是一套协议规范。只提供了web页面操作的相关规范,比如元素定位方法,浏览器操作,获取web元素属性等,还利用操作系统级的调用模拟用户输入,但不支持组织和执行用例,这些是由编辑语言的单元测试框架(python语言的unittest, pytest)去完成。( java语言是junit和testng,了解一下,否则别人说了连是什么都不清楚)

旧版的IDE不支持Firefox新版本支持的API,所以开发了新版IDE

项目地址: https://github.com/SeleniumHQ/selenium-ide

了解selenium,可以使用下面网址:

http://www.selenium.org.cn/

https://www.selenium.dev/zh-cn/documentation/webdriver/

Selenium4.0

现在最新的selenium版本是4.0,已经于2021年10月发布。其更新在另一篇随笔中记录。

1.5 Appium简介

不清楚这个词怎么发音?这里有个IT词汇标准发音的网址:https://tool.lu/pronounce/

Appium支持IOS和Android平台上的原生应用、Web应用和混合应用。

Appium是一个跨平台的测试工具,允许测试人员在不同的平台(IOS,Android)使用同一套API编写自动化测试脚本,增加了代码复用性。

Appium与Selenium:

1 appium类库,额外多了移动设备控制相关的命令,如多点触控手势和屏幕方向等操作

2 appium API,实现了Mobile JSON Wire Protocol 和 W3C WebDriver spec

3 扩展协议,为appium用户提供接口来执行设备动作,如安装和卸载。(和第1条不一样?)

但Appium仍可以用来运行通用的Selenium会话。

以上内容,是学习虫师的书--《Selenium3自动化测试实战-基于Python语言》的笔记。后面其它章节都是这样,不再多述。

posted @ 2022-10-30 19:14  间歇性努力  阅读(322)  评论(0)    收藏  举报