测试框架整理(一)
一、RF,Unittest和Pytest
Robotframework
优势:
- 有独立的IDE可视化编辑器,方便开发
- setup、teardown比较友好,每个case都有独立的setup、teardown
- Web端测试方便,关键字驱动,自定义关键字方便
- 有独立的断言关键字
- 可以直接在IDE上运行测试用例,也可以在终端通过命令行跟参数的形式运行
- 自带自动生成一份测试报告
劣势:
1.虽然本质上是python,但是也有自己的独立语法,有一定学习成本
Pytest
- 一些特性:
常使用unittest+ddt 或者parameterized进行数据驱动测试
main()执行用例,括号内可以添加
参数
优势
- 通过Python自带的
assert
保留字来实现断言 - 有一个conftest.py 用于配置当前目录全局的文件
- config.ini 文件用于配置本次测试的内容
- 自身支持参数化
劣势
- 用例必须以
test
开头
Unittest
- 一些特性:
main()执行用例,括号内 不需要
参数
-
优势
1.有独立的断言方法,同时也可使用assert -
劣势
- 必须使用类,且测试类必须继承unittest.TestCase
- 用例必须以
test
开头 - 测试用例执行顺序按照ASCII码顺序执行,可通过用例名中间添加数字形式来设定顺序,如
test_001_case1()
- 自身不支持参数化,需要搭配ddt或者parameterized进行数据驱动测试
共性
- 都支持命令行模式运行测试用例
- 都有setup、teardown功能
二、PO模式
含义
PO模式是指将页面元素的定位和元素的操作分离。