iTesting,爱测试,爱分享 在自动化测试的过程中,测试框架是我们绕不过去的一个工具,无论你是不需要写代码直接改动数据生成脚本,还是你需要检查测试结果甚至持续集成,测试框架都在发挥它的作用. 不同编程语言的实现出来的框架也不尽相同,但是思想总是相通的,比如尽量使框架使用者只关注自己的业务,框架帮助处理错误截图,保存错误log,出错重试甚至跟jenkins持续集成等. 可以说,一个还算合格的测试框架,可以大大提升测试效率:一个优秀的测试框架,说它能把测试人员从繁缛复杂的跟业务无关但又不得不做的…
[原创]移动安全测试框架MobSF介绍 1 mobsf简介 Mobile Security Framework (移动安全框架) 是一款智能.集成型.一体化的开源移动应用(Android/iOS)自动渗透测试框架,它能进行静态.动态的分析.同时,MobSF也能够做Web API的安全测试.该框架可以进行高效迅速的移动应用安全分析 2 mobsf下载 https://github.com/ajinabraham/Mobile-Security-Framework-MobSF 3 mobsf 安装…
又来写nose了,这次主要介绍nose中的用例跳过应用,之前也有介绍,见python nose测试框架全面介绍四,但介绍的不详细.下面详细解析下 nose自带的SkipTest 先看看nose自带的SkipTest典型应用  应用一: ‘'' @auth:hu ’'' from nose.plugins.skip import SkipTest @attr(mode=1) def test_learn_1(): raise SkipTest 但这种SkipTest在实际的日志中没有显示Skip关…
引: 之前使用nose框架时,一直使用--logging-config的log文件来生成日志,具体的log配置可见之前python nose测试框架全面介绍四. 但使用一段时间后,发出一个问题,生成的报告只有错误提示,没有日志,查看nose的官网,nose默认支持将日志显示的,如下: 脚本如下: #coding:utf-8 ''' Created on 2016年6月22日 @author: huzq ''' import logging from test_case import new fr…
之前python nose测试框架全面介绍二中介绍了nose框架的基本构成,但在实际应该中我们也会到setup_function等一系列的名字,查看管网后,我们罗列下nose框架中函数的别名 1.package中写在__init__.py中的函数 setup_package 用setup, setUp, or setUpPackage也可以 teardown_package 用teardown, tearDown, or tearDownPackage也可以 2.函数形式组成的用例 setup_…
之前写了一系列nose框架的,这篇介绍下attr tag 在nose框架中attr用来标识用例,使得在运行时可以通过标识来执行用例,之前在nose测试框架全面介绍四中有说明,但没有说明清楚,这里再总结下. 一.标识方式    标识方式有二种: 1.方式一(不太好用) def test_learn_1(): u'''测试''' print 'xxx' eq_(7, 7, msg=u"错误") test_learn_1.slow=1 2.使用attr装饰器 from nose.plugin…
scrapy 抓取网页并存入 mongodb的完整示例: https://github.com/rmax/scrapy-redis https://github.com/geekan/scrapy-examples                                        # Multifarious(多样的) Scrapy examples. https://github.com/DormyMo/scrappy                                …
三.nose的测试工具集 nose.tools模块提供了一系列的小工具,包括测试执行时间.异常输出及unittest框架中所有的assert功能. 为了使写用例更加容易,nose.tools提供了部分便利的功能函数,下面写几个常用的,如下: nose.tools.ok_(expr, msg=None) 标准的assert,例子如下: from nose.tools import eq_ def test_lean_2(): print "test_learn_2" ok_(4==3,m…
一.简介      nose 是python自带框架unttest的扩展,使测试更简单高效:nose是一个开源的项目,可以在官网上下载源码 1.快速安装 有以下几中安装方式: easy_install nose pip install nose 对于python怎么安装easy_install或pip工具,这里不介绍,网上很多教程. 如果你没有安装easy_install或pip工具,你可以去官网上下载安装包,然后解压,并cd进放解压的目录,然后输入以下代码,以安装1.3.7为例 python…
在实际执行自动化测试时,发现我们的用例在使用同一个资源的操作时,用例的执行顺序对测试结果有影响,在手工测试时是完全没法覆盖的. 但每一次都是按用例名字来执行,怎么打乱来执行的. 在网上看到一个有意思的插件,正好满足我的需求,插件就简单介绍下给需要的人吧 nose-randomly 一.安装 pip install nose-randomly 二.安装完成后,通过nosetests -h可以看到下面的,说明安装成功了 三.使用 默认是按时间来做为随机种子来打乱用例顺序的,也可以自己定义种子,但这个…
四.内部插件介绍 1.Attrib 标记,用于筛选用例 在很多时候,用例可以分不同的等级来运行,在nose中很增加了这个功能,使用attrib将用例进行划分 有两种方式: ef test_big_download(): import urllib # commence slowness... test_big_download.slow = 1 在运行时,用下面方式来执行: $ nosetests -a '!slow' 这种方式不太好用,另一种方式更简单 from nose.plugins.at…
二.基本使用 nosetest脚本的使用(在安装完nose之后) nosetests [options] [(optional) test files or directories] 我们可以使用配置文件,将需要运行的参数放入,配置文件的文件名为nose.cfg中,是标准的配置文件格式,如下: [nosetests] verbosity=3 with-doctest=1 有部分参数可以不使用或禁用,你可以将配置放入配置文件中,但必须在系统中建立一个环境变量,名字为 NOSE_IGNORE_CON…
最近工作中遇到游戏APP需要实现UI自动化测试,这个app中真的是典型的混合App,有Android原生控件,有webview控件,以及游戏操作页面.研究了Appium,发现appium实现跨应用操作很困难,研究了好几天也没找到实现的方法.后来在公司大佬的带领下,接触到了atx这个自动化的框架.今天来说一下,使用atx,uiautomator2,pytest,selenium 来实现混合App的UI自动化及生成测试报告. 一.环境准备 本人使用的是系统是Mac,所以接线来的都是在Mac电脑上进行…
nose是怎么发现用例的??网上一大把说函数以test开头的都会自动发现,真的是这样吗???还是自己来试验下吧 首先,我们还是来看看官方文档怎么说的吧: If it looks like a test, it’s a test. Names of directories, modules, classes and functions are compared against the testMatch regular expression, and those that match are co…
之前有一篇文章介绍了自己写的插件 nose进度插件,但最近有朋友问我,看着nose的官方文档写的插件没用,下面再详细介绍一下 一.准备 1.新建一个文件夹,随便文件夹的名字,假设文件夹放在f://aa这里 2.安装easy_install 二.开始 1.进入刚刚新建的文件夹f:/aa 2.在该文件夹下新建一个文件,名字叫myplugin.py,内容如下: import os from nose.plugins import Plugin class MyCustomPlugin(Plugin):…
一直在使用Nose-html-reporting,并输出html报告,但今天在使用时发出有点问题:于时,将python目前可能的html报告插件下载后进行对比,如下 一.Nose-html-reporting 0.2.3 这个html报告在之前的nose系列教程中用的都是这个模板 但在实际使用过程中,有的工程在生成报告提会提示以下错误: File "/usr/lib/python2.7/site-packages/nose_html_reporting/__init__.py", li…
在测接口时,会有这样的场景,输入非法的参数,校验返回的错误码及错误内容 通常做法为发请求,将错误的返回结果拿出,再进行对比匹配:但存在一个问题,需要再写错误返回分析函数,不能与之前正常发请求的函数共用. 这时,我们可以用上assertRaises.assertRaisesRegexp:python 2.7中unittest中叫assertRaises,nose.tools中叫assert_raises.assert_raises_regexp 一.unittest中的assertRaises 看…
玩过一段时间nose的朋友,一定会发现nose中有一个--failed的功能,官方解释为: --failed Run the tests that failed in the last test run. 跑上一次失败的用例. 一.我们看看用法 下面这样一段脚本 def test_aa(): pass def test_bb(): assert 1==2 def testff(): pass def aa_test(): pass def aatest(): pass def aatest_aa…
近年来,随着前端工程化的发展,前端发生了翻天覆地的变化.jQuery已经慢慢淡出了我们的视野,React.Vue和anglur三驾马车急速驶来.从此,前端进入了数据驱动的时代,也有了清晰的模块化开发的方式.随之而来的就是如何去保证自己的代码的正确性. 为什么需要前端自动化测试 为什么我自己写的代码我还要去写测试代码去测试它?就这么不信任自己吗?答案:是的.永远不要相信自己写的代码,不然咋还会有那么多的bug. 除此之外,由于一个项目需要多人维护,也许别人不小心改动了你的代码就会导致新的问题.所以…
几十年来,Java一直是开发应用程序服务器端的首选编程语言.尽管JUnit一直在与开发人员一起帮助他们进行自动化的单元测试,但随着时间的推移和测试行业的发展,特别是伴随着自动化测试的兴起,已经开发了许多基于Java的开源框架,它们在验证和业务逻辑方面与JUnit有所不同.在这里,我将讨论用于使用Selenium WebDriver执行测试自动化的顶级Java测试框架,还将重点介绍这些顶级Java测试框架的优缺点和独到之处. JUnit Junit是开发人员基于xUnit基础上开发的一个实用案例.…
前端测试工具一览 前端测试工具也和前端的框架一样纷繁复杂,其中常见的测试工具,大致可分为测试框架.断言库.测试覆盖率工具等几类.在正式开始本文之前,我们先来大致了解下它们: 测试框架 测试框架的作用是提供一些方便的语法来描述测试用例,以及对用例进行分组.测试框架可分为两种: TDD (测试驱动开发)和 BDD (行为驱动开发)常见的测试框架有 Jasmine, Mocha以及本文要介绍的 Jest. 断言库 断言库主要提供语义化方法,用于对参与测试的值做各种各样的判断.这些语义化方法会返回测试的…
一.软件测试 1.软件测试的概念及分类 软件测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别.它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度 .完全度和质量的软件过程. 软件测试过程: 2.软件测试的分类 按是否关心软件内部结构和具体实现角度来分: 黑盒测试(Black-box Testing) 黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入…
测试,尤其是自动化测试在现代 WEB 工程中有着非常重要的角色,与交付过程集成良好的自动化测试流程可以在新版发布时帮你快速回归产品功能,也可以充当产品文档.测试因粒度不同又可以分为单元测试.接口测试.功能测试.在 WEB 领域,功能测试亦称为端到端测试(End to End Test,简称 E2E 测试),笔者在本文中会结合自身实践和 GitHub 趋势对比最受欢迎的 Node.js E2E 测试解决方案,首先我们按 GitHub 的 star 总数量排序,取前 5 名列举如下(注意:你阅读本文…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 一.介绍 本篇文章是<聊聊 Python 的单元测试框架>的第三篇,前两篇分别介绍了标准库 unittest 和第三方单元测试框架 nose.作为本系列的最后一篇,压轴出场的是Python 世界中最火的第三方单元测试框架:pytest. pytest 项目地址:https://github…
一.介绍 本篇文章是介绍的是Python 世界中最火的第三方单元测试框架:pytest.它有如下主要特性: assert 断言失败时输出详细信息(再也不用去记忆 self.assert* 名称了) 自动发现测试模块和函数 模块化夹具用以管理各类测试资源 对 unittest 完全兼容,对 nose 基本兼容 非常丰富的插件体系,有超过 315 款第三方插件,社区繁荣 和前面介绍 unittest 和 nose 一样,我们将从如下几个方面介绍 pytest 的特性. 二.用例编写 同 nose 一…
经过了一段时间的酝酿后,Google很高兴地宣布了EarlGrey,一款针对于iOS的功能性UI测试框架.诸如YouTube.Google Calendar.Google Photos.Google Translate.Google Play Music等多款Google应用都成功地采用了EarlGrey框架来满足其功能性测试之所需. EarlGre的特点 EarlGrey所提供的主要特性如下所示,这些特性使得应用的测试变得更加轻松,也更具效率: 强大的内建同步机制:测试会在与UI进行交互前自动…
目录 1. Tavern 和 Postman 2. 安装Python 3. 安装Tavern 4. 第一个测试用例 1. Tavern 和 Postman Tavern是一个用Python实现的接口自动化测试工具,支持RESTful API 和MQTT. 和Postman相比,有以下优点: 使用yaml的描述测试用例,简单.清晰.直观,特别是对于非开发人员而言 与pytest无缝集成,可用pytest的强大功能和各种插件 功能齐全的Python环境,允许你轻松编写各种自定义断言 支持对MQTT系…
[原文]https://www.toutiao.com/i6594302925458113027/ JAVA 程序员需要用到 10 个测试框架和库 Java 程序员需要用到十大单元测试和自动化集成测试工具 我认为一个优秀的程序员,必然能够很好地利用手头上的工具,因此我总在业余时间学习和探索新的工具和库,以下列表是我部分研究成果. 在这篇文章中,我将分享 10 个最为优秀且必不可少的工具,框架和库,这些可以帮助 java 程序员在各类 java 项目中编写单元测试和集成测试. JUnit JUni…
在介绍一中简单介绍了pytest的安装和简单使用,接下来我们就要实际了解pytest了 一.pytest的用例发现规则 pytest可以在不同的函数.包中发现用例,发现的规则如下 文件名以test_开头的py文件 以test_开头的函数 以Test开头的类 以test_开头的方法(与2类似) 要注意的是所有的包必须要有init.py文件(在使用各种编辑器时会自动生成) 二.pytest运行方式 1.单独执行某一个py文件里所有的用例 pytest test_mod.py 2.执行目录下所有的用例…
一.spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit.spring test.assertj.hamcrest.mockito.jsonassert.jsonpath),Spring.Spring Boot和TestNG测试指南 - 集成测试中用Docker创建数据库但是在数据库层面,依旧存在问题,它强烈依赖于数据库中的数据,并且自身不具备数据初始化的能力.测试框架spring-test-dbunit与s…