05 2020 档案
摘要:一、前言 这是参考别人文章转载的:http://www.cnblogs.com/zichuan/p/6938772.html,作者:zzz紫川 首先得先了解一下这些东西,以后才能快速的找到某些配置文件进行修改(举个例子,改配置只是其中之一 ) 二、bin目录 examples:目录中有CSV样例 j
阅读全文
摘要:Jmeter中取样器(Sampler)是与服务器进行交互的单元。一个取样器通常进行三部分工作:向服务器发送请求,记录服务器的响应数据和记录响应时间信息。 有时候工作中我们需要对数据库发起请求或者对数据库施加压力,那么这时候就需要用到JDBC Request JDBC Request可以向数据库发起一
阅读全文
摘要:本博客转载自:http://www.cnblogs.com/dinghanhua/p/5646435.html 一、前言 本文讲三种content-type以及在Jmeter中对应的参数输入方式。 二、涉及到的content-type有三种: content-type:在Request Header
阅读全文
摘要:启动jmeter,默认有一个测试计划,然后,修改计划名称,尽量使其变得有意义,容易看懂,然后,新建一个线程组。 线程数设置为1,方便演示; 添加一个http信息头管理器; 那么,为什么要添加http信息头管理器: Jmeter不是浏览器,因此其行为并不和浏览器完全一致。这些Jmeter提供的配置元件
阅读全文
摘要:项目背景:公司的微信端H5界面新开发了会员注册功能,需要对其进行压力测试; 项目目标:需要承受每分钟最少6000的压力 一、建立一个测试计划(test plan) 新建一个test plan; 一个性能测试的负载必须有一个线程组完成,而一个测试计划必须有至少一个线程组。添加线程组操作如下:在测试计划
阅读全文
摘要:jmeter是一个开源的性能测试工具,它可以通过鼠标拖拽来随意改变元件之间的顺序以及元件的父子关系,那么随着他们的顺序和所在的域的不同,,它们在执行的时候,也会有很多不同。 jmeter的test plan通过图形化的方式表达脚本,域代码方式的脚本不同,以图形方式表达的脚本中无法使用变量和函数等描述
阅读全文
摘要:如果代码能力不太好的人可以使用工具录制脚本来达到编写脚本的目的。 以下有两种录制脚本的方法。 一、利用badboy进行脚本录制 1、下载安装 badboy官网地址:http://www.badboy.com.au 提示:官网下载时候会有用户邮件验证的,直接continue跳过,下载即可 安装:和一般
阅读全文
摘要:一、前言 Jmeter是一款优秀的开源性能测试工具,目前最新版本3.0版本,官网文档地址: http://jmeter.apache.org/usermanual/index.html 二、优点 1、开源工具,可扩展性非常好; 2、高可扩展性,用户可自定义调试相关模块代码; 3、精心简单的GUI设计
阅读全文
摘要:一、前言 因为之前有学习到Jmeter相关内容,现在想总体整理一下性能测试内容。 二、性能测试流程导图 三、相关设计文档 1.系统架构图:了解被测系统的技术架构,包括从客户端到DB的周转流程、应用服务器、中间件等; 2.网络拓扑图:和系统架构图类似,这个更多的是体现在不同层级之间的网络拓扑关系,也可
阅读全文
摘要:一、前言 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。 自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,或者针对某个模块的用例重复执行多次。 二、pytest-repeat pytest-repeat
阅读全文
摘要:一、前言 平常我们手工测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟。如果一个测试人员执行需要1000分钟才能执行完,当项目非常紧急的时候, 我们会用测试人力成本换取时间成本,这个时候多找个小伙伴把任务分成2部分,于是时间缩减一半。如果是十个人一起执行,1000个用例理论上只需100
阅读全文
摘要:一、前言 “80%的bug集中在20%的模块,越是容易出现bug的模块,bug是越改越多”平常我们做手工测试的时候,比如用100个用例需要执行,其中10个用例失败了。 当开发修复完bug后,我们一般是重点测上次失败的用例。 那么自动化测试也一样,当用例特别多时,为了节省时间,第一次部分用例失败了,修
阅读全文
摘要:一、前言 一个测试工程下是可以有多个conftes.py文件,一般在工程根目录放一个conftest.py起到全局作用。 不同的测试子目录也可以放conftest.py,作用范围只在该层级以及以下目录生效。 二、conftest层级关系 在web_conf_py项目工程下建两个子项目baidu,bl
阅读全文
摘要:一、fixture作用范围 fixture里面有个scope参数可以控制fixture的作用范围:session>module>class>function fixture(scope="function", params=None, autouse=False, ids=None, name=No
阅读全文
摘要:一、使用多个fixture 如果用例需要用到多个fixture的返回数据,fixture也可以return一个元组,list或字典,然后从里面取出对应的数据。 import pytest @pytest.fixture() def user(): print("获取用户名") a = "admin"
阅读全文
摘要:一、前言 fixture是pytest的核心功能,也是亮点功能,熟练掌握fixture的使用方法,pytest用起来才会得心应手! 二、fixture简介 fixture的目的是提供一个固定基线,在该基线上测试可以可靠地和重复地执行。fixture提供了区别于传统单元测试(setup/teardow
阅读全文
摘要:一、前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去执行。 二、ini配置文件 pytest里面有些文件是非test文件 (1)pytest.ini pytest的主配置文件,可以改变pytest的默认行为 (2)co
阅读全文
摘要:一、前言 平常写自动化会写一些前置fixture操作,用例需要用到直接传该函数的参数名称就行了。当用例很多的时候,每次都传这个参数,会比较麻烦。 fixture里面有个参数autouse,默认是Fasle没开启的,可以设置为True开启自动使用fixture功能,这样用例就不用每次都去传参了。 调用
阅读全文
摘要:一、前言 当用例a失败的时候,如果用例b和用例c都是依赖于第一个用例的结果,那可以直接跳过用例b和c的测试,直接给他标记失败xfail 用到的场景,登录是第一个用例,登录之后的操作b是第二个用例,登录之后操作c是第三个用例,很明显三个用例都会用到登录操作。 例,很明显三个用例都会用到登录操作。 如果
阅读全文
摘要:一、前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,让指定模块模块名称执行。APP自动化的时候,如果想android和ios共用一套代码时,也可以使用标记功能,标明哪些是ios用例,哪些是android用例,运行代码时候指定mark名称运行就可以。 二、mark标记
阅读全文
摘要:一、Allure简介 Allure是一款非常轻量级并且非常灵活的开源测试报告生成框架。它支持绝大多数测试框架,例如TestNG、Pytest、JUint等。它简单易用,易于集成。下面就Pytest如何与Allure集成做详细介绍。 二、配置环境 1.安装pytest pip3 install pyt
阅读全文
摘要:一、前言 为了提高代码的复用性,我们在写用例的时候,会用到函数,然后不同的用例去调用这个函数。 比如登录操作,大部分用例都会先登录,那就需要把登录单独抽出来写一个函数,其他用例全部都调用这个登录函数就行。 但是登录的账号不能写死,有时候我想用账号1去登录,执行用例1,用账号2去登录执行用例2,所以需
阅读全文
摘要:一、前言 pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者你希望是吧的测试功能。 skip意味着只有满足某些条件时才希望测试通过,否则pytest应该跳过运行测试。常见示例是在非windows平台上跳过仅限windows的测试,或跳过测试依赖于当前不可用的外部资源(例如:
阅读全文
摘要:一、前言 断言是自动化测试基本最重要的一步,一个用例没有断言,就等于失去自动化测试的意义了。什么是断言呢? 简单来讲就是实际结果和期望结果去对比,符合预期就测试pass,不符合预期结果就测试failed 二、assert pytest允许您使用标准python断言来验证python测试中的期望和值。
阅读全文
摘要:一、前言 命令行参数是根据命令行选项将不同的值传递给测试函数,比如平常在cmd执行“pytest--html=report.html”,这里面的“--html=report.html”就是从命令行传入参数 对应的参数名称是html,参数值是report.html 二、conftest配置参数 1.首
阅读全文
摘要:一、前言 pytest.mark.parameterize装饰器可以实现测试用例参数化。 二、parametrizing 1.这里是一个实现检查一定的输入和期望输出测试功能的典型例子 import pytest @pytest.mark.parametrize("test_input,expecte
阅读全文
摘要:一、前言 fixture的teardown操作并不是独立的函数,用yield关键字呼唤teardown操作。上一次实现了在每个用例之前执行初始化操作,那么用例执行完之后,如需要清除数据(或还原)操作,可以使用yield来实现。fixture通过scope参数控制setup级别,既然有setup作为用
阅读全文

浙公网安备 33010602011771号