前言 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来. 自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,或者针对某个模块的用例重复执行多次. 安装 pip3 install pytest-repeat 命令行方式 使用--count命令行选项来指定您要运行一个或多个测试的次数: $ pytest --count = 10 test2.py (pytest_env) ➜ testAPI pytest -…
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来 自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,或者针对某个模块的用例重复执行多次 环境前提 Python 2.7.3.4+或PyPy py.test 2.8或更高版本 安装插件 pi…
1.pytest介绍:基于unittest 之上的单元测试框架 1.1.自动发现测试模块和测试用例: unitest 需要添加用例,(泰斯特楼贷)加载器加载测试用例 pytest 只需要一条代码就可以 1.2.断言使用 assert + 表达: unitest 定义了所有的 断言方式 pytest  只需要使用一个关键字 assert + 表达式 就可以了,表达式为真则断言通过,表达式为假则断言失败 1.3.pytest 可以设置测试会话级.模块级.类级.函数级的 fixtures: 1.4.有…
关于pytest的入门教程,官网及网上已经很多了,那再多一点也无所谓吧!OK,进入正题~ 下面是一个测试用例,test_one.py def test_passing():    assert (1, 2, 3) == (1, 2, 3) 在用例当前路径打开终端,输入pytest test_one.py,运行结果如下: ============================= test session starts ============================= platform…
1.Pytest 中标记用例 接参数 -k 来挑选要执行的测试项 pytest -k test_szdcs -s test_szdcs 为函数名称 -k 后面接的名称可以为函数名称.类名称.文件名称.目录名称 区分大小写 支持模糊匹配 可以用 not 表示选择用例名称中不包含哪些内容,如下 class Test01(): def test_szdcs(self): print("深圳多测师") def test_gzdcs(self): print("广州多测师")…
失败重运行机制 用例失败的情况下,可以重新运行用例 一旦用例失败,马上重新运行 安装插件:pip install pytest-rerunfailures 使用命令:--reruns 重试次数 如 --reruns 2   标识运行时候的用例可以重新运行2次 重运行次数之间可以设置时间间隔(单位:秒) --reruns 2 --reruns-delay 5  重运行2次,每次间隔5秒 报告 allure报告看不出有rerun,可以用html报告查看有多少条rerun的用例 pytest.main…
在实际学习过程中,有时候会出现右键运行文件,但没有任何结果的情况.这就是没有使用unittest/pytest 的方式运行. 解决方法: 添加好…
使用pytest.ini添加自定义用例标识: [pytest] # 1.使用没有注册过的标记抛出错误 addopts = --strict-markers # 2.自定义标记 markers = smoking: 自定义冒烟用例的标记:执行非冒烟用例 pytest -m "not smoking" 使用conftest.py文件添加自定义用例标识: def pytest_configure(config): config.addinivalue_line( "markers&…
前言 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来.自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,或者针对某个模块的用例重复执行多次. pytest-repeat pytest-repeat是pytest的一个插件,用于重复执行单个用例,或多个测试用例,并指定重复次数,pytest-repeat支持的版本: Python 2.7, 3.4+ 或 PyPy py.test 2.8或更高 使用pip安…
前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行. ini配置文件 pytest里面有些文件是非test文件 pytest.ini pytest的主配置文件,可以改变pytest的默认行为 conftest.py 测试用例的一些fixture配置 __init__.py 识别该文件夹为python的package包 tox.ini 与pytest.ini类似,用tox工具时候才有用 setup.cfg 也是in…
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行 非test文件 pytest里面有些文件是非test文件 pytest.ini:pytest的主配置文件,可以改变pytest的默认行为 conftest.py:测试用例的一些fixture配置 _…
本文开发内容 上一篇文章已经把pytest引入到测试平台中,通过多线程和多进程的方式,运行测试用例.有了这个基础,做批量运行用例的功能就很简单了,只需要前端传入一个CaseList即可.本文的后端代码是增删改查和复用run_case相关代码做个run_plan.前端代码将学习如何通过LocalStorage在非父子组件之间传递数据.具体开发内容如下: 测试计划增删改查 测试计划动态添加移除测试用例 运行测试计划,批量运行用例 计划运行结果.用例运行结果 编写后端代码 编辑teprunner/ur…
安装集群GRID/GI一般包括三个过程:首先,运行OUI/RunInstaller输入集群配置信息,其次,拷贝/编译集群文件,最后,以root用户运行root.sh脚本配置集群/启动集群,其中运行root.sh脚本是最关键的阶段.接触过很多SR case都是在这个阶段出现错误导致安装失败.如果问题修复后,需要先deconfigure 已有的配置,然后再运行root.sh.从11.2.0.2版本开始支持重复运行root.sh脚本,也就是说修复问题后,可以直接再运行root.sh,并且从上次失败的地…
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest允许在多个级别启用测试参数化: pytest.fixture() 允许fixture有参数化功能(后面讲解) @pytest.mark.parametrize 允许在测试函数或类中定义多组参数和fixtures pytest_generate_tests 允许定义自定义参数化方案或扩展(拓展) 参数化场景 只有测试…
需求:1.点击“关闭”按钮时,程序最小化到托盘,并没有退出,这时再次运行程序,不会重复运行,而是显示已运行的程序:2.支持不同目录:3.支持修改名称. 代码(不支持修改名称,不支持不同目录): using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Windows.Forms; using Tool; using Syst…
<?php//针对php脚本文件执行锁定的代码,避免脚本在同一时间重复运行,http://ken.01h.net/define('PHP_LOCK_FILE', dirname(__FILE__) . '/php.lock');ini_set('display_errors', true);ini_set('error_reporting', E_ALL); global $php_lock_fp;$php_lock_fp = @fopen(PHP_LOCK_FILE, "w+"…
转自:http://blog.csdn.net/raptor/article/details/69218271 问题 在一个Python web应用中需要定时执行一些任务,所以用了APScheduler这个库.又因为是用flask这个web框架,所以用了flask-apscheduler这个插件(本质上与直接用APScheduler一样,这里不作区分). 在开发中直接测试运行是没有问题的,但是用gunicorn部署以后发生了重复运行的问题: 每个任务在时间到的时刻会同时执行好几遍. 注意了一下重…
最近在写一款软件 软件是用来接收其他程序传递过来的命令行,并形成列表 大概的最终效果就像下图一样 原本为了程序美观是打算用listbox自绘列表,字和图片都绘制好了发现自己不会绘制按钮 所以最终采用了datagridview控件,这个直接就可以插入按钮,就省去了那些问题,不过界面美观就一直是遗憾了(希望有界面方面的大牛可以指导我!) 因为程序启动的方式是被其他程序启动并发送的有命令行 所以,如果有多条消息默认情况下会被打开多个程序,因此开始了如下的各种解决方法 1.命令行的读取 这个相对就比较简…
 1.设置终端路径 2.单个用例文件运行 3.多个用例文件,例如加载用例的文件运行 1.可能会出现如下错误(参考:https://blog.csdn.net/qq_36829091/article/details/82180866) 出现这个问题是因为: 当你在IDE中启动解释器时,当前的工作目录就是项目目录,能顺利调用同项目中的模块:但是当你通过命令行启动时,当前工作目录为你启动解释器时所在的目录,如果当时的位置不是项目目录,那么项目目录中的模块就不会被找到,因此运行的时候报错:ModuleN…
前言 学过unittest的都知道里面用前置和后置setup和teardown非常好用,在每次用例开始前和结束后都去执行一次. 当然还有更高级一点的setupClass和teardownClass,需配合@classmethod装饰器一起使用,在做selenium自动化的时候,它的效率尤为突然,可以只启动一次浏览器执行多个用例. pytest框架也有类似于setup和teardown的语法,并且还不止这四个 用例运行级别 模块级(setup_module/teardown_module)开始于模…
用例运行级别 模块级(setup_module/teardown_module)开始于模块始末,全局的 函数级(setup_function/teardown_function)只对函数用例生效(不在类中) 类级(setup_class/teardown_class)只在类中前后运行一次(在类中) 方法级(setup_method/teardown_method)开始于方法始末(在类中) 类里面的(setup/teardown)运行在调用方法的前后 函数式 setup_function/tear…
1.打开File-setting 2.打开Tools-Python Integrated Tools 3.找到Default test runner选项,在下拉框中选择py.test 4.点Apply. 5.在运行时会出现py.test的运行选项…
前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行. 常用的配置项 marks 作用:测试用例中添加了自定义标记( @pytest.mark.xxx 装饰器),如果不添加marks选项的话,就会报warnings 格式:list列表类型 写法: [pytest] # 自定义标记说明 markers = tencent: tencent toutiao: toutiao alibaba: alibaba xfail…
使用环境及预置条件 开发工具:pycharm 操作系统:win10 开发语言:python3.6 使用库:pytest4.0,pytest-allure-adaptor 注意不要安装allure-pytest该库,否则会出现option names {'alluredir'} already added错误 1,安装PowerShell (win10自带有,其他系统自行安装) 2,打开PowerShell,输入命令: set-executionpolicy remotesigned -s cu…
按照pytest使用笔记(二)把pytest+allure配置好后,现在在jenkins配置好,先实现手动构建(立个小目标) 一,安装jenkins插件 首页->系统管理->插件管理,从“可选插件”中勾选“Allure Jenkins Plugin”,点击“直接安装”按钮,安装完成 二,Allure Commandline 配置 首页->系统管理->全局工具配置,点击“Allure Commandline安装”按钮 设置项展开界面设置内容,与下图保持一致即可,如下: 三,Job配置…
如果crontab设定任务每分钟执行一次,但执行的任务需要花费5分钟,这时系统会再执行导致两个相同的任务在执行.发生这种情况下可能会出现一些并发问题,严重时会导致出现脏数据性能瓶颈等恶性循环.为了防止这种情况,可以使用flock建立排它锁.例:# /tmp/sleeptest.sh#!/bin/bash# Sleep# PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin# export PATHecho…
最近比较忙,邮件预警系统暂停了没时间去处理,临时处理:直接执行exe文件! 可是问题来了: 我点击了两次,原来几乎在同时执行这个进程,我在程序中有线程时间睡眠2秒一次等待队列,打开进程果然两个MAIL.EXE进程,就想在执行前做一个判断阻止重复执行! //在写一些服务型的软件的时候,你可能不希望一个操作系统里有两个副本在运行,这样也许会扰乱你的操作.这时,你就需要限制程序的副本.下面的这个方法,很简单的就可以实现上述功能. using System; using System.Collectio…
根据yaml文件自动生成python文件 utp框架: bin目录:存放执行文件(run.py) cases目录:存放生成的用例的python文件(该目录下的文件为根据data目录下的测试用例生成的python文件:logoin.py.query.py.reg.py) conf目录:存放配置文件(case_template(需回顾查看该文件的文件类型).setting.py) data目录:存放yaml格式的用例文件(login.yaml.query.yaml.reg.yaml) lib目录:存…
phoenixframe自己主动化平台支持在Linux环境下使用phantomjs,Firefox.chrome运行測试用例.但有下面几个问题须要注意: 1.若无法启动phantomjs,Firefox,chrome的驱动,则请检查存放drivers的文件夹是否有读写权限.使用一下命令加入一下权限就可以: 假如文件夹为:.../webapps/phoenix_node/WEB-INF/classes/drivers 则cd到drivers文件夹下运行:chmod 777 * 再次启动就可以. 在…
RobotFramework的使用 新建一个项目 Robotframework-ride的界面 分了四个区域:菜单栏.工具栏.案例及资源区.工作区,如下图: 创建项目 首先,点击File-New Project 注意把Type类型切换为:Directory目录 创建测试套件 右键点击“测试项目”选择new Suite 选项 Type:File Format:TXT 创建测试用例 右键点击“测试项目”选择new Test Case 导入seleniumLibrary库 基于web的测试用例需要se…