用过的测试框架

ego微商小程序

unittest

unittest是python的单元测试框架,用它来做单元测试。使用import unittest则可直接使用。

为什么选择unittest

  • 能够组织多个用例去执行
  • 有丰富的断言方法
  • 能够生成测试报告

unittest主要包含的内容

  • TestCase(测试用例)
  • TestSuite(测试套件,把多个TestCase集成到一个测试TestSuite)
  • TestRunner(执行测试用例)
  • TestLoader(自动从代码中加载多个测试用例TestCase)
  • Fixture(UnitTest特性)
import time
import unittest
#创建测试套件
# 将测试用例添加到测试套件
import app
from lib import HTMLTestRunner

from script.test_ego import TestEgo

suite=unittest.TestSuite()
# 将测试用例添加到测试套件
suite.addTest(unittest.makeSuite(TestEgo))
#定义测试报告的名称
reportname=app.base_dir+"/report/mini_ego-{}.html".format(time.strftime("%Y%m%d-%H%M%S"))
# 使用HTMLTestRunner生成测试报告
with open(reportname,mode="wb") as f:
    #实例化HTMLTestRunner
    runner=HTMLTestRunner.HTMLTestRunner(f,verbosity=2,title="ego商城的接口测试报告")
    #使用runner运行测试套件
    runner.run(suite)

pytest

特点

  • 简单灵活,容易上手 unittest可
  • 支持参数化 unittest可
  • 能够支持简单的单元测试与复杂的功能测试 unittest可
  • 执行测试用例过程中,支持跳过操作 unittest可
  • 支持重复执行失败的case
  • 支持运行Nose,unittest编写的测试用例
  • pytest支持很多第三方插件
  • 方便的和持续集成工具进行集成

我是在pycharm里面直接安装的。


```python
class TestADD: #定义的类名必须以Test开头
	def test_add_01(self): #定义的测试方法必须以test开头
		result = add(1,2)

我是在终端执行测试用例的 通过 pytest -s -v

pytest -s -v (-s 输出的用例输出的信息 -v输出的是执行的用例类名以及方法名 )

插件

pytest - html

生成测试报告

pytest -ordering

控制pytest测试方法执行的顺序(unittest是根据测试方法名称的assicc码值的大小来执行)。使用方法@pytest.mark.run(order=x)

pytest-rerunfailures

失败重试插件

@pytest.mark.skipif(condition,reason=None) 跳过 condition表示跳过的条件

@pytest.mark.skip(reason=“None”) reason表示跳过的条件

web自动化框架

主流的web自动化工具

  • QTP 由惠普公司开发的一款自动化工具,支持web、桌面的自动化测试。
  • selenium 主要用来做web自动化测试,开源的免费的工具。
  • root framework 自动化测试平台。通过它可以实现web自动化测试,接口测试自动化测试、桌面的自动化测试。

selenium特点

  • 开源软件
  • 跨平台
  • 支持多种浏览器
  • 支持多语言
  • 支持多种操作系统
  • 成熟稳定功能强大
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值