前言 DDT(Data-Driven Tests)是针对 unittest 单元测试框架设计的扩展库.允许使用不同的测试数据来运行一个测试用例,并将其展示为多个测试用例.通俗理解为相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离, 这样的测试脚本设计模式称为数据驱动.相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离, 这样的测试脚本设计模式称为数据驱动. 实施数据驱动步骤 我们再来说说实施数据驱动测试的步骤: 1.创建/准备测试数据 2.封装读取数据的方法,保…
简单介绍 ​ DDT(Date Driver Test),所谓数据驱动测试,简单来说就是由数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变.通过使用数据驱动测试的方法,可以在需要验证多组数据测试场景中,使用外部数据源实现对输入输出与期望值的参数化,避免在测试中使用硬编码的数据,也就是测试数据和用例脚本代码分离. ​ DDT它其实就是一个装饰器,它会根据你传递进来的数据来决定要生成几个测试用例. ​ 使用的意义 1.代码复用率高:一个测试逻辑只需要写一次,可以多条测试数据复用,同时提高测…
1.前言 (网盗概念^-^)相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离, 这样的测试脚本设计模式称为数据驱动.(网盗结束)当我们测试某个网站的登录功能时,我们往往会使用不同的用户名和密码来验证登录模块对系统的影响,那么如果我们每一条数据都编写一条测试用例,这无疑是增加了代码量,代码重复,且显得那么臃肿(谁不喜欢身材好的呢?你懂的),这时候我们可以使用不同数据驱动代码执行相同的用例测试不同的场景. 2.实施数据驱动步骤 我们再来说说实施数据驱动测试的步骤: 1.创建/准备测…
(一)   前言 通过使用数据驱动测试,实现对输入值和预期结果的参数化.(例如:输入数据和预期结果可以直接读取Excel文档的数据) (二)   ddt 使用ddt执行数据驱动测试,ddt库可以将测试中的变量参数化.使用ddt的时候,在测试类上使用@ddt装饰符,在测试方法上使用@data装饰符.@data装饰符将参数当作测试数据,参数可以是单个值.列表.元组.字典.对于列表和元组,需要用@unpack装饰符把列表和元组解析成多个参数. 使用下面的命令安装ddt库 pip install ddt…
#!user/bin/env python # coding=utf- # @Author : Dang # @Time : // : # @Email : @qq.com # @File : # @Description: import xlrd import xlwt import os import time from openpyxl import load_workbook strtime = time.strftime('%Y-%m-%d_%H_%M_%S') # def readE…
摘要:Python基础学习: 注释.字符串操作.用户交互.流程控制.导入模块.文件操作.目录操作. 上一节讲了分别在windows下和linux下的环境配置,这节以linux为例学习基本语法.代码部分需要保存到以.py结尾的文件,就可以进行测试了.这里主要介绍一些常用的语法,可能并不全面,后期再根据需要添加吧. 1.编程风格    缩进要统一 有种说法:python语言是"靠缩进控制代码的语言",的确如此. 2.注释代码    单行:# 多行:''' 代码: #!usr/bin/env…
Python之路,Day21 - 常用算法学习   本节内容 算法定义 时间复杂度 空间复杂度 常用算法实例 1.算法定义 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制.也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出.如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题.不同的算法可能用不同的时间.空间或效率来完成同样的任务.一个算法的优劣可以用空间复杂度与时间复杂度来衡量. 一…
一.本程序的起源 当我决定去中科院实习的时候,我给刘奎恩老师发了封邮件.我对此事是非常看重的,因此经常使用浏览器,打开gmail去查看刘老师有没有给我回复.因为gmail的新邮件推送的功能仅限于打开浏览器,这样还是非常麻烦的.因此,我就想编写一个程序,这个程序的功能是发现gmail邮箱中的新邮件,并推送给我. 这个程序最初的需求还是很简单的,只是发现新邮件,然后把有新邮件这个消息推送给我.由于我想学习python语言,因此考虑用python来开发.于是,我就从零开始了这个程序的开发. 二.准备工…
一.我的需求 我希望做成具有以下功能的软件:1. 间隔一段时间登录我的邮箱查看是否有未读邮件 如果不断的运行查看是否有新邮件确实没多大必要. 另外如果这个客户端登录我的邮箱,那么我可能就不能用浏览器登录我的gmail了.这一点,是否不可以我没有试过,忘记在哪看过了.2. 如果有新邮件,能够较为实时的提醒我 在考虑这个需求的时候,我考虑了以下几种方法: 利用Python在PC上编写个有图形界面的客户端,如果有新邮件,弹出消息通知 编写个手机应用程序,能够提醒我.虽然gmail有手机客户端,但是它不…
这篇博客,主要讲解用Python实现邮箱服务的几个需要学习的模块:E-mail Compotion and Decoding(邮件生成和解析).SMTP.POP.IMAP 如上篇博客所讲,我学习过程参考<Foundations of Python3 Network Programming. 2nd Edition>,代码部分借鉴了其中的例子,但绝对包含自己的东西,特此声明. 如果已经了解了这些知识,请看:用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(下) E-mail Comp…
在测试接口时,一个接口会先写好测试用例,这个用例主要针对功能,传入参时考虑到各种场景,正常的,异常的,如:参数缺省,参数传一个六位数字写用例时考虑边界情况等. 一个接口设计用例时有可能会十几条到几十条都有可能,多个接口就有很多了,这时候我们可以考虑到自动化测试接口. 采用数据驱动方式,把数据写在excel表格中,代码做封装,用数据驱动测试,两部分相互独立.python中用ddt模块来做数据驱动,代码简单好维护,调试也方便. 自己写的框架,结构如下: common:公共层,放读取表格数据,发送re…
在接口自动化测试中,往往一个接口的用例需要考虑 正确的.错误的.异常的.边界值等诸多情况,然后你需要写很多个同样代码,参数不同的用例.如果测试接口很多,不但需要写大量的代码,测试数据和代码柔合在一起,可维护性也会变的很差.数据驱动可以完美的将代码和测试数据分开,将代码进行分装,提高复用性,测试数据维护在本地文件或数据库. 使用python做接口自动化,首要任务是搭建一个自动化测试框架,其中unittest+ddt是一个不错的选择,下文主要介绍ddt在unittest下的使用. ddt包含两个方法…
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_007_scrapy01.html scrapy爬虫学习系列二:scrapy简单爬虫样例学习: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_007_scrapy02.html scrapy爬虫学习系列三:scrapy部署到scrapyh…
[Python ]小波变化库——Pywalvets 学习笔记 2017年03月20日 14:04:35 SNII_629 阅读数:24776 标签: python库pywavelets小波变换 更多 个人分类: 机器学习  https://blog.csdn.net/nanbei2463776506/article/details/64124841 相关资料 PyWavelets 官网: https://pywavelets.readthedocs.io/en/latest/ref/index.…
引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用例时测试数据如何管理和加载.针对测试用例加载以及执行控制,python语言提供了unittest单元测试框架,将测试用例编写在unittest框架下,使用该框架可以单个或者批量加载互不影响的用例执行及更灵活的执行控制,对于更好的进行测试数据的管理和加载,这里我们引入数据驱动的模块:ddt,测试数据和…
CSharpGL(34)以从零编写一个KleinBottle渲染器为例学习如何使用CSharpGL +BIT祝威+悄悄在此留下版了个权的信息说: 开始 本文用step by step的方式,讲述如何使用CSharpGL渲染一个Klein Bottle,从而得到下图所示的图形.你会看到这并不困难. +BIT祝威+悄悄在此留下版了个权的信息说: 用Modern OpenGL渲染 在Modern OpenGL中,shader是在GPU上执行的程序,用于计算图形最终的样子:模型则提供顶点数据给shade…
处理多演示样例学习(MIL)特征(matlab) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27206325 多演示样例学习(MIL)的特征(features)包括, "演示样例编号+视频编号+标签+特征"的形式; 须要组成多演示样例学习特定包的形式, 每个元胞是一个多演示样例包, 后面一位是标签, 即"特征包+标签"的形式; 代码: %author @ C.L.Wang %time @ 20…
公司用bugfree在进行新建Bug指派抄送给同事的时候,总是有人不及时登录BugFree去查看指派给自己的,所以要加一个邮箱通知,这样可以及时通知到被指派的同事. 百度上很多用的是QQ邮箱来实现的,QQ邮箱也可以,网易邮箱也行.我以网易邮箱为例 讲一下配置BugFree邮箱发送的实例. 这里以163邮箱为例: 首先登陆163邮箱: 然后找到 设置->POP3/SMTP/IMAP;开启POP3/SMTP服务(如下图) 开启之后,打开项目找到php-ini文件进行一些配置. 修改配置如下 [mai…
以BZOJ 2002 弹飞绵羊为例学习有根树LCT(Link-Cut Tree) 注:本文非常简单,只涉及有根树LCT,对于无根树,LCT还有几个本文没有提到的操作,以后慢慢更新 =v= 知识储备 [x] splay [x] 树链剖分 题意 有一棵\(n\)个节点的有根树,动态修改父子关系(保证仍是一棵有根树),并询问某节点深度. 题解 这是一道LCT(Link-Cut Tree)的模板题. Link-Cut Tree (又)是Tarjan发明的一种算法,可以解决一类动态树问题."动态树问题&q…
Python qq企业邮箱发送邮件 进入客户端设置: 下面是代码部分: from email.header import Header from email.mime.text import MIMEText from email.utils import formataddr import smtplib # 用户信息 from_addr = 'XXXXX_admin@XXXX.com' password = 'H3Sv73Gq4BV7XDqG' # # 腾讯QQ邮箱或腾讯企业邮箱必须使用授权…
python的nltk中文使用和学习资料汇总帮你入门提高 转:http://blog.csdn.net/huyoo/article/details/12188573 nltk的安装 nltk初步使用入门 nltk初中级应用 使用nltk来处理中文资料 nltk的高级应用入门 nltk的精通   nltk是一个python工具包, 用来处理和自然语言处理相关的东西. 包括分词(tokenize), 词性标注(POS), 文本分类, 等等现成的工具. 1. nltk的安装 资料1.1: 黄聪:Pyt…
python的加密模块(md5,sha,crypt)学习 命令行使用python MD5: yinguicai@Cpl-IBP-Product:~/data/work/svn/v1.4.0_dev/APPS$ python Python 2.7.3 (default, Apr 10 2013, 06:20:15) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "…
1.参考TP社区:http://www.thinkphp.cn/code/989.html 2.phpmailer.rar下载地址:http://www.thinkphp.cn/code/download/id/989.html 3.备注:QQ个人邮箱需要认证通过才能发送smtp邮件,QQ企业和163个人无障碍 4.效果: Thinkphp3.2 PHPMailer 发送邮件结合163邮箱发送邮件下载附件PHPMailer解压到ThinkPHP\Library\Vendor,不需要创建文件夹,直…
孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十一天. 今天继续学习mongoDB的简单操作,并继续对一些可能反复经常使用的操作进行简单的封装. 今天成功了解并实测完成了向mongoDB数据库中删除记录的操作,详细学习过程见屏幕录屏学习过程. 一.首先解决了昨天没有解决的修改记录的问题 今天花了一定的时间认真看相关资料,发现在修改记录时: [方法一]: 集合对象.update({查询记录的…
孤荷凌寒自学python第六十四天学习mongoDB的基本操作并进行简单封装3 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十天. 今天继续学习mongoDB的简单操作,并继续对一些可能反复经常使用的操作进行简单的封装. 今天成功了解并实测完成了向mongoDB数据库中修改记录的操作,详细学习过程见屏幕录屏学习过程. 测试代码如下: [ceshi.py] from pymongo import MongoClient import datetime import _…
# -*- coding:utf-8 -*- ''' @project: jiaxy @author: Jimmy @file: study_ddt.py @ide: PyCharm Community Edition @time: 2018-12-06 14:48 @blog: https://www.cnblogs.com/gotesting/ ''' ''' study_ddt : data driver test , 数据驱动测试 1. 结合单元测试去执行用例 2. 装饰器 3. 安装:…
1  明确目标——为啥费老大劲儿学习OpenFOAM 学习OpenFOAM主要出于课题需要,希望实现以下几个目标: l  [ ]学会用SnappyHexMesh生成高质量网格: l  [ ]学习使用OpenFOAM自带的 Immersed Boundary Method (IBM)处理复杂几何边界: l  [ ]实现LES算例: l  [ ]实现CFD的批处理以完成大量算例. 2 前期准备——在Win10上安装OpenFOAM 这部分主要参CFD大佬[流沙]提供的方法,详情见网页: https:…
时隔已久,再次冒烟,自动化测试工作仍在继续,自动化测试中的数据驱动技术尤为重要,不然咋去实现数据分离呢,对吧,这里就简单介绍下与传统unittest自动化测试框架匹配的DDT数据驱动技术. 话不多说,先撸一波源码,其实整体代码并不多 # -*- coding: utf-8 -*- # This file is a part of DDT (https://github.com/txels/ddt) # Copyright 2012-2015 Carles Barrobés and DDT con…
一.前言 初入职场,一直忙着熟悉工作,就没什么时间更新博客.今天受“利奇马”的影响,只好宅在家中,写写技术文章.芯片设计规模日益庞大,编写脚本成了芯片开发人员必要的软技能.模块端口动不动就几十上百个,手动编写代码伤不起.实现verilog模块例化模板的自动生成也算是我自砸饭碗的第一步了O(∩_∩)O! 二.代码设计 要自动生成模块例化模板总共分三步:1 打开设计文件,读取内容 2 正则匹配 3 打开指定上层文件,写入例化模板.涉及到的知识点主要有文件读写和正则匹配.该脚本分别用两个表达式匹配模块…
Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方法 1.新建字典 1).建立一个空的字典     >>> dict1={}  >>> dict2=dict()  >>> dict1,dict2  ({}, {})  2).新建的时候初始化一个值     >>> dict1={1:'a'…