自动化功能测试和接口测试工具整理( 三 )


Selenium框架底层使用JavaScript模拟真实用户对浏览器进行操作 。测试脚本执行时 , 浏览器自动按照脚本代码做出点击 , 输入 , 打开 , 验证等操作 , 就像真实用户所做的一样 , 从终端用户的角度测试应用程序 。
对于Selenium , 里面有一个核心组件即Browser bot , 类似于浏览机器人 , 可以执行从测试脚本接收到的命令 , 自动化的完成页面浏览和各种操作 , 并记录相应的测试结果 。
Selenium 是一套完整的web应用程序测试系统 , 包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(SeleniuBm Grid) 。Selenium的核心Selenium Core基于JsUnit , 完全由JavaScript编写 , 因此可以用于任何支持JavaScript的浏览器上 。Selenium可以模拟真实浏览器 , 自动化测试工具 , 支持多种浏览器 。
具体可参考:
https://selenium.dev/
http://www.selenium.org.cn/ (中文站点)
Robot Framework

自动化功能测试和接口测试工具整理

文章插图
 
Robot Framework是一个跨平台的通用的 , 与应用程序和技术无关的测试框架 。它的优点是:易于扩展 , 提供了简单的API , 用户可以自定义基于Python和Java的测试库 。它还提供强大的标签功能 , 来归类测试运行 , 在测试运行时可以选择不同的Tag或tag组合进行测试运行 。
支持报告合并 , 以便让你可以多机执行 , 然后合并报告 , 全局测试超时时间设置 , 局部可以覆盖全局的设置非常方便 , 不会测试卡壳的等等 。其主要优点包括:
  1. 通过使用关键字驱动测试(KDT)方法简化了自动化测试过程 。
  2. 测试数据语法简单易用 。
  3. 生态系统丰富 。由各种通用测试库和工具组成 , 这些工具都是作为独立项目开发的 。
  4. 具有高度可扩展性 。
要注意到Robot Framework本身是关键字驱动的测试 , 库和关键字就很重要 , 对于当前的库和关键字没有的时候你还需要自己写代码进行扩展 。
在Robotframework当中 , 由SeleniumLibrary(非robot自带 , 需要安装)库提供对网页的操作关键字(功能) 。即Robot Framework+SeleniumLibrary结合基本就能够完成我们需要的Web和UI自动化测试能力 。
具体可参考:
http://robotframework.org/
https://blog.csdn.net/qq_27534003/article/details/87437195
https://www.jianshu.com/p/2ebea3256e21
接口自动化测试对于接口自动化测试 , 主要是指类似SOAP , Http Rest等接口服务如何进行自动化测试 。实际上在我们SOA管控平台的开发过程中 , 我们也定制化开发了接口自动化测试的工具 , 先是人工运行一篇接口测试 , 这本身类似一个脚本录制的动作 , 然后后续再根据已经录制的脚本批量自动化运行接口测试脚本并输出结果 。
自动化功能测试和接口测试工具整理

文章插图
 
Python+Request
Requests 是?Python语?编写 , 基于urllib , 采?Apache2 Licensed开源协议的 HTTP 库 。它? urllib 更加?便 , 可以节约我们?量的?作 , 完全满?HTTP测试需求 。整个测试思路基本如下:
  1. 对于每个Http接口请求手工编写测试脚本
  2. 把对同一个接口的所有测试用例py脚本封装为方法 , 每个接口封装一个接口类
  3. 使用Testsuite调用这些接口类 , 构建测试集 , 或利用unittest自动识别测试用例
  4. 构建自动化测试
  5. 输出测试结果报告
可以看到要使用Python+Request一方面是要熟悉Python语言和Request库 , 一方面是需要手工编写测试脚本 , 整个代码编写量仍然很大 。这个方法跟采用Junit单元测试基本是差不多的 。
参考:
https://www.cnblogs.com/ailiailan/p/8535293.html
https://blog.csdn.net/songlh1234/article/details/84317617
Postman
自动化功能测试和接口测试工具整理

文章插图
 
Postman一款非常流行的API调试工具 。其实 , 开发人员用的更多 。因为测试人员做接口测试会有更多选择 , 例如Jmeter、soapUI等 。不过 , 对于开发过程中去调试接口 , Postman确实足够的简单方便 , 而且功能强大 。


推荐阅读