data.xlsx: 脚本: #encoding=utf-8from selenium import webdriverimport timeimport datetimefrom openpyxl import *wb=load_workbook(r'd:\\test\\data.xlsx')ws=wb.active#获取第一个sheetprint u"最大行号:",ws.max_row #excel行是从1开始的,所以我们从2开始迭代遍历#且使用切片,必须有结束行的索引号,不能写[…
简介: 数据驱动excel驱动方式,就是数据配置在excel里面,主程序调用的时候每次用从excel里取出的数据作为参数,进行操作, 需要掌握的地方是对excel的操作,要灵活的找到目标数据 测试数据.xlsx: 路径-D:\test\0627 ExcelUtil.py: #encoding=utf-8from openpyxl import load_workbook class ParseExcel(object): def __init__(self, excelPath, sheetNa…
数据驱动xml驱动的方式 存数据的xml文件:TestData.xml: <?xml version="1.0" encoding="utf-8"?><bookList type="technology">    <book>        <name>Selenium WebDriver实战宝典</name>        <author>吴晓华</author>…
数据驱动txt文件驱动的方式,带报告 data.txt: gloryroad test||光荣之路 摔跤爸爸||阿米尔 超人||电影 data_driven_by_txt_file.py: #encoding=utf-8 from selenium import webdriver import time with open(u"e:\\数据驱动\\data.txt") as fp: data=fp.readlines() driver=webdriver.Ie(executable_…
数据驱动json文件的方式 test_data_list.json: [ "邓肯||蒂姆", "乔丹||迈克尔", "库里||斯蒂芬", "杜兰特||凯文", "詹姆斯||勒布朗" ] ReportTemplate.py: #encoding=utf-8 def htmlTemplate(trData): htmlStr = u'''<!DOCTYPE HTML> <html> &l…
先在cmd环境 运行 pip install ddt 安装数据驱动ddt模块  脚本: #encoding=utf-8 from selenium import webdriver import unittest,time import logging,traceback import ddt from selenium.common.exceptions import NoSuchElementException #初始化日志对象 logging.basicConfig( #日志级别 leve…
安装行为驱动模块lettuce(卷心菜)模块 pip install lettuce Successfully installed argparse-1.4.0 colorama-0.3.9 extras-1.0.0 fixtures-3.0.0 funcsigs-1.0.2 fuzzywuzzy-0.16.0 lettuce-0.2.23 linecache2-1.0.0 mock-2.0.0 pbr-4.1.0 python-mimeparse-1.6.0 python-subunit-1.…
又来写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_…
一步一步搭建数据驱动测试框架的过程和总结 跟吴老学了搭建自动化数据驱动的框架后,我在自己练习的时候,尝试从简单的程序进行一点一点的扩展和优化,到实现这个数据驱动的框架. 先说一下搭建自动化测试框架的目的: 一个是实现一个功能的自动化运行,不用每次手动的去执行一些重复性的工作,用自动化程序来代替人工,提高效率,例如回归测试的反复执行. 二是通过把数据和对数据的操作进行封装,减少重复代码的书写,以及测试数据和程序的分离,使自动化测试人员不用过多关注代码, 维护好数据就可以进行有效的自动化测试执行,可…
转载:https://blog.csdn.net/qq_15013233/article/details/52527260 摘要 这里将从(pythontesting.net)陆续编译四篇 Python 测试框架的简介,分别为:doctest.unittest.nose 和 pytest.本篇为第三篇:nose 本篇将介绍的 nose 不再是 Python 官方发行版的标准包,但它与 unittest 有着千丝万缕的联系.比如 nose 的口号就是: 扩展 unittest,nose 让测试更简…
转载:https://blog.csdn.net/yockie/article/details/47415265 一.doctest doctest 是一个 Python 发行版自带的标准模块.本篇将分别对使用 doctest 的两种方式——嵌入到源代码中和做成独立文件做基本介绍. 1.doctest的概念模型 在 Python 的官方文档中,对 doctest 的介绍是这样的: doctest 模块会搜索那些看起来像交互式会话的 Python 代码片段,然后尝试执行并验证结果 即使从没接触过…
1.python自动化的一些测试框架 1).unitest(也称为PyUnit)  地址:https://docs.python.org/2/library/unittest.html 2).Nose 地址:http://nose.readthedocs.io/en/latest/ 3).Pytest https://docs.pytest.org/en/latest/ 2.介绍一下这几个框架的内容: 1).Pyunit:使我们具备创建测试用例,测试套件,测试夹具的能力. 2).Nose:此框架…
在介绍一中简单介绍了pytest的安装和简单使用,接下来我们就要实际了解pytest了 一.pytest的用例发现规则 pytest可以在不同的函数.包中发现用例,发现的规则如下 文件名以test_开头的py文件 以test_开头的函数 以Test开头的类 以test_开头的方法(与2类似) 要注意的是所有的包必须要有init.py文件(在使用各种编辑器时会自动生成) 二.pytest运行方式 1.单独执行某一个py文件里所有的用例 pytest test_mod.py 2.执行目录下所有的用例…
一.简介      nose 是python自带框架unttest的扩展,使测试更简单高效:nose是一个开源的项目,可以在官网上下载源码 1.快速安装 有以下几中安装方式: easy_install nose pip install nose 对于python怎么安装easy_install或pip工具,这里不介绍,网上很多教程. 如果你没有安装easy_install或pip工具,你可以去官网上下载安装包,然后解压,并cd进放解压的目录,然后输入以下代码,以安装1.3.7为例 python…
之前写了一系列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…
第三方的教程传送门 https://segmentfault.com/a/1190000004558796 karma # github https://github.com/karma-runner/karma # 安装 http://karma-runner.github.io/1.0/intro/installation.html # 入门 http://karma-runner.github.io/1.0/intro/configuration.html 安装 # 命令行工具 cnpm…
在使用nose自带的xunit生成xml文件生成测试报告后,领导说报告不够炫,没有百分比效果,且在web自动化时的截图不美观,html很多情况下没有显示图片(nose框架截图方法这里),正好,allure_report报告框架满足所有要求. 一.介绍 这里可以查看官方信息,http://allure.qatools.ru/,报告还支持中文 还有前辈写的实践之路:https://testerhome.com/topics/5738 二.基于nose框架 从官网介绍中,我们可以得知,allure支持…
一.html报告错误截图 这次介绍pytest第三方插件pytest-html 这里不介绍怎么使用,因为怎么使用网上已经很多了,这里给个地址给大家参考,pytest-html生成html报告 今天在这里介绍pytest生成的报告怎么带有截图,这在web自动化测试非常有用. 需求是测试用例错误就截图,方法如下: 我们要新建一个关于截图的插件文件conftest.py,注意,文件名不能变,因为pytest-html会自动找这个自己写的插件,内容如下: from selenium import web…
一.安装 pytest不是python默认的package,需要自动手工安装. pytest支持python 2.6--3.5之间的版本,同时可以在unix及windows上安装 安装方式: pip install pytests 安装完成后,可以查看版本: pytest --version This is pytest version 3.1.2, imported from c:\python27\lib\site-packages\pytest.pyc 二.最简单实例 根据pytest官方…
二.基本使用 nosetest脚本的使用(在安装完nose之后) nosetests [options] [(optional) test files or directories] 我们可以使用配置文件,将需要运行的参数放入,配置文件的文件名为nose.cfg中,是标准的配置文件格式,如下: [nosetests] verbosity=3 with-doctest=1 有部分参数可以不使用或禁用,你可以将配置放入配置文件中,但必须在系统中建立一个环境变量,名字为 NOSE_IGNORE_CON…
在实际执行自动化测试时,发现我们的用例在使用同一个资源的操作时,用例的执行顺序对测试结果有影响,在手工测试时是完全没法覆盖的. 但每一次都是按用例名字来执行,怎么打乱来执行的. 在网上看到一个有意思的插件,正好满足我的需求,插件就简单介绍下给需要的人吧 nose-randomly 一.安装 pip install nose-randomly 二.安装完成后,通过nosetests -h可以看到下面的,说明安装成功了 三.使用 默认是按时间来做为随机种子来打乱用例顺序的,也可以自己定义种子,但这个…
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…
同样的,在使用pytest进行自动化测试时,需要将实时日志打印出来,而不是跑完后才在报告中出结果. 不过,好在pytest在3.3版本开始,就支持这一功能了,而不用再像nose一样,再去装第三方插件. 网上也有相关实时的日志输入说明,但我尝试后,不是我想要的,比如:pytest输出Log 看看我们下面这样一段代码,以unittest模式写的: #coding:utf-8 ''' Created on 2017年8月31日 @author: huzq ''' from __future__ imp…
一直在使用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…
之前介绍了pytest以xUnit形式来写用例,下面来介绍pytest特有的方式来写用例 1.pytest fixture实例1 代码如下 from __future__ import print_function import pytest @pytest.fixture(scope='module') def resource_a_setup(request): print('\nresources_a_setup()') def resource_a_teardown(): print('…
四.内部插件介绍 1.Attrib 标记,用于筛选用例 在很多时候,用例可以分不同的等级来运行,在nose中很增加了这个功能,使用attrib将用例进行划分 有两种方式: ef test_big_download(): import urllib # commence slowness... test_big_download.slow = 1 在运行时,用下面方式来执行: $ nosetests -a '!slow' 这种方式不太好用,另一种方式更简单 from nose.plugins.at…
三.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…
一,基本概念 TestCase:所有测试用例的基类 TestLoad:加载测试用例,返回TestSuite(测试套件) TestSuite:创建测试套件 TextTestRunner:运行测试用例 TextTestResult:测试结果(包含 运行多少,错误多少,失败多少) 二,创建测试用例类 必须继承TestCase 测试用例的名字必须以test开头 定义setUp和tearDown,在每个测试用例前后做一些辅助工作. 一个测试用例应该只测试一个方面,测试目的和测试内容应很明确.主要是调用as…