测试用例

27. Unittest单元测试框架的介绍与使用

匿名 (未验证) 提交于 2019-12-02 23:42:01
先贴一下unittest 官网地址 。unittest文档开头介绍了四个重要的概念:test fixture,test case, test suite, test runner。 test fixture test fixture表示执行一个或多个测试所需的准备。怎么去理解这句话呢?比如我们执行一条创建文章的测试用例,但是如果我们调用创建文章的接口,需要我们进行登录。那么我们可以把登录作为一个test fixture。那么test fixture表现形式是什么呢?还是用add函数举例。先说test fixture中有几个 test case 测试用例,这个不必多说,没有测试用例就不能叫做接口测试了。 test suite 我们在做接口测试的时候,一般都是执行多条测试用例。这就有了test suite概念,简单来说,就是把想要执行的测试用例进行组装然后进行测试。 test runner 执行测试用例。 为了方便大家的理解,会用一个实例对上面四个概念进行解释。请看如下代码: import unittest class AddTest ( unittest . TestCase ): def setUp ( self ): print ( "在每个用例执行之前" ) def tearDown ( self ): print ( "在每个用例执行之后" ) @classmethod

unittest----assert断言的使用

匿名 (未验证) 提交于 2019-12-02 23:42:01
unittest的官发文档链接: https://docs.python.org/2.7/library/unittest.html#unittest.TestCase 先介绍下unittest的基本使用方法: 1.import unittest 2.定义一个继承自unittest.TestCase的测试用例类 3.定义setUp和tearDown,在每个测试用例前后做一些辅助工作。 4.定义测试用例,名字以test开头。 5.一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要是调用assertEqual、assertRaises等断言方法判断程序执行结果和预期值是否相符。 6.调用unittest.main()启动测试 7.如果测试未通过,会输出相应的错误提示。如果测试全部通过则不显示任何东西,这时可以添加-v参数显示详细信息。 常用的assert断言方法,来自官网的截图: 还有其他方法用于执行更具体的检查,如下截图:    示例:   已 assertEqual 的使用为例,查看运行的结果。 #!/usr/bin/env python # coding=UTF-8 import unittest class lucky(unittest.TestCase): def test_01(self): a = 1 b = 2 self.assertEqual(a,b,u

HttpRunner学习记录(一)

匿名 (未验证) 提交于 2019-12-02 23:40:02
HttpRunner V2.x中文使用文档: https://cn.httprunner.org/ HttpRunner 安装 HttpRunner 的稳定版本托管在 PyPI 上,可以使用 pip 进行安装。 pip install httprunner 如果你需要使用最新的开发版本,那么可以采用项目的 GitHub 仓库地址进行安装: pip install git+https://github.com/HttpRunner/HttpRunner.git@master 假如你之前已经安装过了 HttpRunner,现在需要升级到最新版本,那么你可以使用-U参数。该参数对以上三种安装方式均生效。 pip install -U HttpRunner pip install -U git+https://github.com/HttpRunner/HttpRunner.git@master 简单的进行一下安装验证,关于开发者模式的下载安装, 参考HttpRunner V2使用文档 用例分层 新建项目时,可使用 --startproject 脚手架功能快速创建项目目录结构;模式是采用: 测试用例分层机制 hrun --startproject demo 测试用例分层结构 对于接口数比较多,或者测试场景比较复杂的项目,为了使测试用例更便于组织和维护,推荐使用测试用例分层机制,即单独维护

测试用例概念

匿名 (未验证) 提交于 2019-12-02 23:40:02
为什么编写测试用例 1. 2. 3. 4. 5. 6. 7. 设计测试用例的优缺点 好处: 有效性、完整性、组织性 缺点: 测试用例概念: 测试用例其实就是根据需求文档,或者结合软件功能,把自己测试思路有条理的整理出来。 测试用例书写工具 : 大部分公司通过Excel书写测试用例 测试用例书写依据 1.需求说明书 2.项目测试需求功能点 3.所属行业的业务知识掌握程度 4.测试工程师本人的理解程度(个人经验) 注: 必须有需求文档 , 若没有需求文档 , 就必须对产品功能熟悉 ,但是两者都必须要对软件业务功能熟悉。 实际工作中,有些公司没有需求文档做参考,这时候就必须要相关人员书写文档,如果不书写文档后期很多测试工作无法开展,甚至会做很多无用功。 测试用例书写目的 为测试设计人员提供测试用例编写的指导,提高编写的测试用例的可读性,可执行性、合理性。为测试执行人员更好执行测试,提高测试效率,最终提高公司整个产品的质量。 测试用例内容有哪些 功能模块、功能点、前置条件、操作步骤、预期结果、实际结果、备注。 1.功能模块:某一个测试的模块 2.功能点:模块的某一个功能点 3. 4.操作步骤:测试的操作步骤描述。 5.预期结果:预期需要达到的结果 6.备注:测试过程中遇到的问题等情况说明。 测试用例什么时候编写 测试用例在需求评审后,就要着手书写测试用例,测试用例编写前

接口测试用例和接口测试模板

匿名 (未验证) 提交于 2019-12-02 23:32:01
简介   当今社会在测试领域,接口测试已经越来越多的被提及,被重视,而且现在好多招聘信息要对接口测试提出要求。区别于传统意义上的系统级别测试,很多测试人员在接触到接口测试的时候,也许对测试执行还可以比较顺利的上手,但一 提到相关的文档,比如 测试用例 和 报告 ,就有些不知所措了。这类问题在我加入的几个测试的群里,经常看到一些人在不断提问。   今天就用这篇文章来说说接口测试用例和报告。 接口功能测试用例模板   提到功能测试用例,我们知道,其中最重要的两个要素就是:   测试步骤   预期结果   其实对于接口功能测试也同样如此;接口测试的步骤中,最重要的是将实现向接口发送预设请求,结果则要关注响应信息及后续处理。   所以接口功能测试用例编排可以考虑下列两种形式:          测试报告模板   测试报告是指把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础。测试报告是测试阶段最后的文档产出物。优秀的测试经理或测试人员应该具备良好的 文档编写能力。   接口测试报告很多时候会和接口性能测试报告一起,如果要单独报告的话,可以考虑以下内容: 01 系统接口概况   简要描述与测试项目相关的一些背景资料,如被测系统简介,项目上线计划等。   对于系统接口的定义和设计做出介绍。   比如系统一共有多少个接口

如何设计接口测试用例

匿名 (未验证) 提交于 2019-12-02 23:32:01
接口测试的流程   接口测试也是属于 功能测试 ,所以跟我们以往的功能测试流程并没有太大区别,测试流程依旧是:1.测试接口文档(需求文档) 2.根据接口文档编写 测试用例 (用例编写完全可以按照以往规则来编写,例如等价类划分,边界值等设计方法) 3. 执行测试,查看不同的参数请求,接口的返回的数据是否达到预期。 接口测试和功能测试一样,流程也大致遵守V模型,请看下图 为什么要写用例 理清思路,避免漏测和重复测 提高测试效率 跟进测试进度 告诉领导做过 跟进重复性工作 更好的记录问题,发现问题,复现问题 同时这也是是接口测试流程中的一个产物(测试用例)   上面七点,结合自己测试实际经验,应该来说是很好理解和认同的。有用例,自己做到心中有数,不要一个测试点重复测好多次,就有思路,避免漏掉测试点。跟着用例测试,避免随机测试那种没有目的性的测试,提高测试效率。有用 例,上级问你完成的进度,你好用数据回答。有用例,用来标记你执行的结果,证明你做过测试。避免将来发生问题,人家说你没有测试,有数据和证据说话。有用例,测出问题你可以根据用例将问题轻而易举的浮现出来,不至于等你反馈或 者复现的问题时,你忘记是如何操作才回出现问题。接口测试也需要重复跑,跑几轮,或者用自动化天天跑。这样的重复性工作,用例可以保证每次重复做的是一样的情况。 接口主要设计用例点 主要从四个方面来设计接口用例:功能

python-unittest

匿名 (未验证) 提交于 2019-12-02 22:51:30
TestCase是一个测试用例,一个完整的测试用例包括:测试前准备setUp、测试执行代码run、测试后环境还原tearDown。 TestSuite,是多个测试用例的集合,测试套件TestSuite可以嵌套测试套件。 TestLoader加载用例到TestSuite; TextTestRunner执行测试用例,保存测试结果到TextTestResult中。 Test fixture是一个用例环境的搭建和销毁过程。 1、测试用例执行过程: 测试用例Testcase完成后,使用TestSuite的TestLoader方法加载到测试套件, 然后有TextTestRunner运行测试套件,把测试结果保存在TextTestResult中,,每一个测试方法都必须以test开头,否则不会被unittest识别, 在测试执行过程中,我们使用到一个参数:verbosity(0-不输出每一项执行结果、1-输出每一个测试结果、2-输出详细执行结果。) 2、测试断言: 3、uniitest 三种跳过用例执行方法: a、unittest.skip(msg) 直接跳过用例执行,不进行条件判断; b、unittest.skipIf(condtion) 满足条件不执行 c、unittest.skipUnless(condtion) 满足条件才执行 加载测试套件Suite import os import

python+unittets框架

匿名 (未验证) 提交于 2019-12-02 22:51:30
本文来源于: https://www.cnblogs.com/insane-Mr-Li/p/9132406.html 我们整个自动化才是报告的环节基本上分为三个部分: 1.测试用例的准备 2.测试用例的执行 3.测试报告的输出 1.测试用例的准备: 那我们就以搜孤网页做一个简单的用例: from selenium import webdriver import unittest class Case_1(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.maximize_window()#放大浏览器 self.driver.get("https://www.sogou.com/") def test_001(self): self.driver.find_element_by_link_text('微信').click() self.assertIn(self.driver.title,u'搜狗微信搜索_订阅号及文章内容独家收录,一搜即达') def test_002(self): self.driver.find_element_by_link_text('新闻').click() self.assertIn(self.driver.title,u'搜狗新闻 -

python assert 断言方法

匿名 (未验证) 提交于 2019-12-02 22:51:30
assertEqual(a,b,[msg='测试失败时打印的信息']): 断言a和b是否相等,相等则测试用例通过。 assertNotEqual(a,b,[msg='测试失败时打印的信息']): 断言a和b是否相等,不相等则测试用例通过。 assertTrue(x,[msg='测试失败时打印的信息']): 断言x是否True,是True则测试用例通过。 assertFalse(x,[msg='测试失败时打印的信息']): 断言x是否False,是False则测试用例通过。 assertIs(a,b,[msg='测试失败时打印的信息']): 断言a是否是b,是则测试用例通过。 assertNotIs(a,b,[msg='测试失败时打印的信息']): 断言a是否是b,不是则测试用例通过。 assertIsNone(x,[msg='测试失败时打印的信息']): 断言x是否None,是None则测试用例通过。 assertIsNotNone(x,[msg='测试失败时打印的信息']): 断言x是否None,不是None则测试用例通过。 assertIn(a,b,[msg='测试失败时打印的信息']): 断言a是否在b中,在b中则测试用例通过。 assertNotIn(a,b,[msg='测试失败时打印的信息']): 断言a是否在b中,不在b中则测试用例通过。

Selenium3+Python3_14:POM设计模式

匿名 (未验证) 提交于 2019-12-02 22:51:30
Python+Selenium+Unittest+Git+Jenkins框架,POM设计模式,大致如下: 1.common文件夹: 二次封装原有方法的文件base.py; 存放通过的文件,如:生成报告的文件 2.pages文件夹: page元素的定位; 调用前边的封装方法,或者继承,再次封装一些页面的操作方法:如输入用户名密码点击登陆等操作。(或者元素定位,操作方法分别单独放在不同的文件夹) 3.testcase文件夹: 调用上一步封装的方法, 使用unittest框架写用例,判断结果 注意:用例执行顺序如下: a.定义参数如url; b.定义class; c.写setUpClass,定义driver,各种实例; d.setUp中设置起点,每个用例都在同一起点 e.写用例,以test开头的方法,执行用例过程,断言 f.关闭浏览器 4.report文件夹: 存放生成的报告文件 5.工程目录下,写一个run_all.py执行所有要执行的测试用例 注:Git+Jekins参照后续Jenkins文章