之前看了虫师的《Selenium2自动化测试》,觉得简单易懂,适合入门,所以很快入手了刚上架的本书,然而,翻看了下目录,发现和我的期望不是太相符(价格有点虚高了),不过这里还是做下简单的记录。
书中关于Django开发的部分,我直接跳过了,暂时没有需求,直接浏览了关于接口测试的部分内容。
接口测试部分
- 接口测试工具
- Postman(Chrome插件):模拟和发送HTTP请求,显示返回接口数据,主要用于网页调试与发送网页HTTP请求(GET、POST)。
- JMeter:基于Java的压力测试工具。也可以用来做接口测试
- 创建测试任务:添加线程组-添加HTTP请求-添加查看结果树
- 添加断言
- Robot Framwork:是一个通用型的验收测试的自动化测试框架
- 基于Python语言开发
- 可以像编程一样编写测试用例
- 支持开发系统关键字
- 接口测试库:RequestsLibrary(robotframework-requests),其运行基于Requests
- 在Sublime Text3下使用需要安装插件Sublime assistant
- 关键字:Create Dictionary、Create Session、Get Requests、Get From Dictionary、Should Be Equal、Set Variable、Post Request等
- 变量类型一般都用${},列表类型(可以传递多个值)的用@{}
- POST请求一般要创建header标头,指定内容类型为application/x-www-form-urlencoded
- 性能测试
- 常见的有:LoadRunner、JMeter,这两者采用线程和进程,很难再单机上模拟出较高的并发压力。
- Locust:基于Python语言,HTTP请求基于Requests库,采用协程(getevent)机制,即微线程Coroutine,所有的协程在一个线程内执行,不需要线程切换耗费资源,可以大幅度提高单机并发能力。
- @task{权重值}装饰方法为一个事务
- 可以启动Locust网络监控器,默认端口号位8089
- 可以自定义模拟用户数和每秒启动的虚拟用户数
- 执行性能测试之后,可以看到对CPU、内存、网络情况的使用情况,从而分析出性能瓶颈,进行优化
未完待续,后面再补~