05 2021 档案
摘要:在做测试的时候,有些地方无论是接口还是UI只是参数数据的输入不一样,操作过程是一样的。重复去写操作过程会增加代码量,我们可以通过参数化的方式解决这个问题,也叫做数据驱动,我们通过python做参数化的方法有很多种,今天我们介绍一种简单的方法DDT ddt 官方文档:https://ddt.readt
阅读全文
摘要:HTMLTestRunner HTMLTestRunner是Python标准库的unittest模块的扩展。它生成易于使用的HTML测试报告。 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 下载完成后直接放到我们代码文件夹中,也可以
阅读全文
摘要:查询歌曲的接口测试,但是代码重复性比较大,进行一次简单的优化 封装方法 在编写自动化脚本的时候,都要求代码简介,对重复性较多的代码进行相关的优化 我们可以看到下面的代码每个用例中都填写了不同的参数和请求相同的接口地址,我们可以通过把相同的代码进行提取出来,然后调用这个方法,完成简化代码 # codi
阅读全文
摘要:在做自动化测试我们对执行用例很有要求,因为每条用例可能就和上一条数据有关系,那么我想要批量执行一些用例呢?这个怎么去操作呢?unittest自带的功能可以帮助到我们,我们可以通过不同的场景运用不同的执行用例方法 TestCase 表示测试用例集合,我们可以直接进行执行这个集合来批量执行测试用例。直接
阅读全文
摘要:在使用unittest单元测试框架做自动化的时候,可能会遇到想要看看这条用例写的是否正确,然后进行执行,但是又还有其他的用例在这里,我们又不能屏蔽,这个怎么办?不要着急unittest的几种执行方法帮助我们解决问题 unittest执行方法 方法一:执行单条用例 写好了一条用例,但是不知道自己写的是
阅读全文
摘要:我们在做自动化测试的时候,可能会遇到一些用例中间不用回归,想要进行跳过。直接注释的话,代码量修改过大,显然这个方法不妥,哪还有什么方法?unittest这个自动化框架可以帮助我们完成这个操作 自动跳过用例 unittest中提供了一些跳过用例的装饰器方法。我们可以通过这些装饰器来帮我们完成这些操作
阅读全文
摘要:在unittest单元测试中也提供了断言的方式,通过断言判断用例有没有成功。 unittest常用断言 unittest框架的TestCase类提供以下方法用于测试结果的判断 方法 检查 assertEqual(a, b) a ==b assertNotEqual(a, b) a !=b asser
阅读全文
摘要:verbosity参数设置 verbosity表示在只执行用例的过程中可以把用例的执行情况根据配置的参数不同表示不同的详细程度,我们先看下源码中如何进行解释的。 通过观察可以看到我们verbosity默认为1,可以设置为0和2。 0 (静默模式): 你只能获得总的测试用例数和总的结果。 1 (默认模
阅读全文
摘要:Unittest 说起python的单元测试,第一反应肯定就会是unittest,unittest作为python的标准库,很优秀,也被广泛的用到各个项目,但是你们知道吗?python的单元测试并不只有这一个,还有个pytest,和nose,后面我们主要通过unittest+python完成我们的自
阅读全文
摘要:pytest断言 前面说到pytest的断言比较强大,它直接可以使用python自带的断言内容,当然不止而已,pytest还有一个重要的功能是可以重写assert关键字,pytest会截断对python中自带的assert的调用然后替换成自己定位的assert,从而可以获取更多的错误信息,让我们知道
阅读全文
摘要:我们在执行用例的时候,每次都在命令行中输入-v,-s等一些命令行参数的时,比较麻烦。其中pytest.ini这个配置文件可以快速的帮助我们解决这个问题。 配置文件 pytest.ini文件是pytest的主配置文件,可以改变pytest的运行方式,且是一个固定的文件pytest.ini文件,pyte
阅读全文
摘要:执行自动化用例的过程中,遇到已知bug或者其他平台的执行内容,这个时候我们可以选择用跳过用例,在unittest中有无条件跳过,也有满足条件进行跳过,那么pytest中也存在跳过用例。 skip 前面介绍了mark的时候,知道mark属于标记用例,那么当mark.skip的时候就表示无条件进行跳过用
阅读全文
摘要:unittest中存在mock模块,那么pytest中也存在mock模块,pytest中的mock使用第三方库:pytest-mock pytest-mock 安装: pip install pytest-mock 这里的mock和unittest的mock基本上都是一样的,唯一的区别在于pytes
阅读全文
摘要:可以使用pytest.mark.parametrize来做参数化,非常的方便,其实fixture也可以用来做参数化,灵活性更高。 fixture参数化 fixture前面介绍的时候说过一共有5个参数分别是:name,scope,params,autouse,ids。每个参数都会介绍到,今天主要介绍p
阅读全文
摘要:该Pipfile.lock是用来规定的基础上,目前在包装Pipfile,应该使用那些特定版本,避免依赖于对方,破坏你的项目的依赖关系树自动升级包的风险。 您可以使用...锁定当前安装的软件包 pipfile-freeze 是一个将 Pipfile/Pipfile.lock 文件快速转换为Requir
阅读全文
摘要:npm是什么 npm是一个包管理工具,开源作者可以把开源包发布在平台上供其他人下载使用。日常工作中npm的主要用途就是根据项目的package.json使用npm install去安装依赖。 npm install可以说是我们使用最频繁的一个指令。在npm5版本之前,npm install会根据pa
阅读全文
摘要:pip绝大部分的第三方库都可以用pip来安装,用起来很方便。但是如果我们要把项目部署到服务器上面的话,就稍微有些麻烦了,因为还需要在服务器上用pip安装这些包,假如项目中用到很多包的话,一个个安装会很麻烦,而且没有通用性。 Java上的maven、gradle,NodeJS的npm这些工具就不存在这
阅读全文
摘要:当我们在github上看到别人写的项目,想拉到本地学习下。如何用pycharm把git仓库的代码拉取到本地电脑呢?环境准备:1.本地电脑已经安装了git2.已经注册过github账号3.pycharm pycharm配置 先自己注册github账号,本地安装git环境,打开Pycharm-File-
阅读全文
摘要:每个自动化测试结果都要有一份详细的测试报告来呈现,今天测试报告来了,pytest常用的测试报告有几种,比如在pycharm中直接生成报告,通过HTML插件生成,或者还有最常用的allure。今天安静主要介绍通过pytest的插件pytest-html来生成测试报告 pytest-html pytes
阅读全文
摘要:epicfeature/story>>>task task如无需细分为子任务,可直接在task上记录工时。 sub_task
阅读全文
摘要:遇到一个class中都需要传入一个fixture,那一个个写进函数中,太麻烦,通过class直接传入fixture usefixtures usefixtures是fixture用来标记class中的一个方法。用法结果相当于和setup和teardown的结果一样。每个用例函数都会进行执行fixtu
阅读全文
摘要:需要传入fixture的名称,如果用例都需要这个fixture,每个用例都进行传入fixture名称,这就比较麻烦了,有什么好的方法?当然fixture中的autouse就是控制传参范围。 autouse autouse属于fixture参数中的其中一个,默认是为False,不会使作用域的方法全部都
阅读全文
摘要:通过前面学习fixture可以正常的代替setup和teardown,我们在后期框架中的文件名过多,或者函数名过多,有时会和fixture名字进行重名,或者fixture调用容易出错。fixture也可以进行重新自己更改自己的名称 fixture重命名 在fixture源码中我们可以通过修改name
阅读全文
摘要:fixture可以代替setup和teardown,怎么在不同的场景下进行使用运行呢?比如我只想要启动浏览器一次呢?如果每个用例按照前面的都加入fixture那么每条用例都会运行,其实fixture中有参数可以进行配置,配置后可以在不同的场景下进行使用,这里就要引入新的知识fixture的作用范围。
阅读全文
摘要:不同的用例使用到登录的场景,如果不同文件夹的用例使用到相同的fixture应该怎么办呢?如果再写一个fixture就会比较麻烦,那么强大的pytest肯定不会让我们这样麻烦的,只会让我们更加方便。这里就要引入新的知识点conftest.py文件 conftest.py conftest.py文件属于
阅读全文
摘要:上一篇介绍了如何通过setup和teardown来帮助我们做自动化的前置和后置内容,那么如果有一个场景,有的用例需要用到登录的方法,有的却用不到登录的方法,这时如果用setup和teardown的方法就不能写在一个测试类中,但是pytest中还有更好的前置内容,不需要每个用例都能用到。 fixtur
阅读全文
摘要:前言 学过unittest的都知道里面用前置和后置setup和teardown非常好用,在每次用例开始前和结束后都去执行一次。当然还有更高级一点的setupClass和teardownClass,需配合@classmethod装饰器一起使用,在做selenium自动化的时候,它的效率尤为突出,可以只
阅读全文
摘要:pytest用例设计规则 测试文件以test_开头(以_test结尾也可以) 测试类以Test开头,并且不能带有 __init__ 方法 测试函数以test_开头 断言使用assert 所有的包pakege必须要有__init__.py文件 pytest常见的命令行参数 命令行参数 pytest -
阅读全文
摘要:Jmeter在访问接口的时候,响应内容如果有中文可能会显示乱码,原因应该是响应页面没有做编码处理,jmeter默认按照ISO-8859-1编码格式进行解析。 下面把解决步骤列一下: 如图所示显示为中文乱码 方法一: 打开bin目录 D:\Program Files\Java\apache-jmete
阅读全文
摘要:一、向百度发送http请求 1、创建测试计划 2、添加线程组,创建测试计划--右键--添加--线程组 3、在线程组内部添加http请求组件,线程组右键--添加--取样器--http请求 4、配置http请求组件,填写协议、服务器或ip 5、添加查看结果树组件,线程组--右键--添加--监听器--察看
阅读全文
摘要:目录介绍 推荐大家从Jmeter的官方文档开始学习,遇到不理解的问题先查官方文档,有了自己的理解之后再进行与其他人的想法进行比对,那么学习效果绝对比单纯的百度要好的多。 先推荐观看官方文档的几个传送门: 1、http://jmeter.apache.org/usermanual/index.html
阅读全文
摘要:Ramp-up Period(in seconds) 【1】决定多长时间启动所有线程。如果使用10个线程,ramp-up period是100秒,那么JMeter用100秒使所有10个线程启动并运行。每个线程会在上一个线程启动后10秒(100/10)启动。Ramp-up需要要充足长以避免在启动测试时
阅读全文
摘要:链接:https://pan.baidu.com/s/19VLgzcVkpxAVN4Ke2tMTAA 提取码:h8v6 复制这段内容后打开百度网盘手机App,操作更方便哦
阅读全文
摘要:1、nslookup作用 nslookup用于查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题 2、查询 a. 直接查询 nslookup domain [dns-server] //如果没有指定dns服务器,就采用系统默认的dns服务器。 b. 查询其他记录 nslookup
阅读全文
摘要:ATDD: Acceptance Test Driven Development(验收测试驱动开发) 在编码开始之前将客户带入测试设计过程的技术。它也是一个协作实践,用户,测试人员和开发人员定义了自动验收标准。 ATDD有助于确保所有项目成员准确理解需要完成和实施的内容。如果系统未通过测试可提供快速
阅读全文
摘要:1.什么是接口测试 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。 测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 一般来说,测试接口,就是指测试接口的功能,性能和稳定性测试,当然可能还有安全性测试。
阅读全文
摘要:前言 面试的时候,经常会临场出题:给你一个xxx, 如何测试, 或者说如何写测试用例?xxx可以是圆珠笔,水杯,电梯等生活中常见的场景。那么给你一个支付的二维码,如何写测试用例呢? 二维码扫码支付 如下图,给你这个个人收款的二维码,如何测试? 首先要知道什么是二维码? 二维码实际上就是一个 url
阅读全文
摘要:1、python的进程和线程 操作系统可以同时执行多个任务,每一个任务就是一个进程,进程可以同时执行多个任务,每一个任务就是一个线程。 2、在做接口测试的时候,如果接口还没有开发好,你这边应该怎么去介入测试 编写接口测试用例以及进行评审 通过mock的方法进行提前接入测试 3、在做ui自动化过程中如
阅读全文
摘要:linux两台机器之间传文件,用的什么端口 Linux主机之间传输文件的几种方法: 1、scp传输 scp传输速度较慢,但使用ssh通道保证了传输的安全性。 scp 文件名 –用户名@计算机IP或者计算机名称:远程路径 #将本地文件拷贝到远程 scp –用户名@计算机IP或者计算机名称:文件名 本地
阅读全文
摘要:1.怎么判断元素是否存在? 判断元素是否存在和是否出现不同, 判断是否存在意味着如果这个元素压根就不存在, 就会抛出NoSuchElementException 这样就可以使用try catch,如果catch到NoSuchElementException 就返回false。通常在项目中会把这个功能
阅读全文
摘要:MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。 优:1.耦合性低 2.重用性高
阅读全文
摘要:1、Python的特点和优点? 可解释、开源、动态特性、简洁明了、面向对象(可开动碱面) 详细特点可查看:https://data-flair.training/blogs/python-tutorial/ 2、深拷贝、浅拷贝和直接赋值的区别? 1)深拷贝,把一个对象复制给另外一个对象, 2) im
阅读全文