前言 我们每天写完自动化用例后都会提交到 git 仓库,随着用例的增多,为了保证仓库代码的干净,当有用例新增的时候,我们希望只运行新增的未提交 git 仓库的用例.pytest-picked 插件可以实现只运行未提交到git仓库的代码. 安装 pip3 install pytest-picked 使用示例 $ pytest --picked $ pytest --picked=first $ pytest --picked --mode=branch $ pytest --picked --mo…
前言 我们每天写完自动化用例后都会提交到 git 仓库,随着用例的增多,为了保证仓库代码的干净,当有用例新增的时候,我们希望只运行新增的未提交 git 仓库的用例. pytest-picked 插件可以实现只运行未提交到git仓库的代码. pytest-picked 使用命令行安装 pip install pytest-picked 可使用参数 picked: --picked=[{only,first}] Run the tests related to the changed files e…
不小心将项目中一个文件夹删除还未提交,或者已经提交, 此时想要恢复数据该怎么办? 答案是git reflog,使用git reflog命令可以帮助恢复git误操作,进行数据恢复. 操作过程: 打开终端命令行,进入到项目目录,输入git reflog,可以得到如下结果: git记录每次修改head的操作,git reflog/git log -g可以查看所有的历史操作记录,然后通过git reset命令进行恢复. 想要将代码恢复到"ssm-login初始化"时的版本,此时的head记录值…
问题: 在调试一个很简单的代码时无法输出结果,运行结果如下形式: 出现以上情况,主要是因为在运行时是以pytest方式运行的,要换回以普通方式去运行. 问题解决: 首先是红色圈圈里的白色三角形. 然后再点击三角形下的Edit configurations... 点击”-“,去掉test_argv.py 再点击 ”+“,然后点击python 然后在Name中写入该文件名,在script path中填入该文件所在的路径 点击Ok,然后在代码界面中会发现是可以以普通方式运行.…
From: http://www.testclass.net/pytest/multiple_tests/ 背景 在现实的测试活动中,我们经常会定义多个用例文件,用来实现业务逻辑或其他逻辑上用例的物理分隔,比如 login_test.py # 登录相关功能的测试用例 cart_test.py # 购物车相关功能的测试用例 checkout_test.py # 结算相关功能的用例 order_test.py # 订单相关功能的用例 使用pytest可以很方便的执行批量执行一组文件中定义的用例. 潜…
jenkins的pytest运行多个py文件,导出allure报告方法,只需改下job的配置中的构建即可(pytest会运行指定文件下的所有test开头的py文件),如下:                  立即构建后,查看allure报告,如下:…
如何在Git中执行以下操作? 我当前的分支是branch1,我做了一些本地更改. 但是,我现在意识到我实际上是要将这些更改应用于branch2. 有没有办法应用/合并这些更改,以便它们成为branch2上的本地更改而不在branch1上提交它们? #1楼 到目前为止给出的答案并不理想,因为它们需要大量不必要的工作来解决合并冲突,或者它们做出太多假设,这些假设经常是错误的. 这是如何做到完美. 该链接指向我自己的网站. 如何在git中提交不同的分支 您在my_branch上有未提交的更改要提交给m…
pytest-pyppeteer pytest-pyppeteer是我写的一个 pytest 插件,支持在 pytest 中运行pyppeteer,起因是为了解决工作中的一个测试需求,现在将其开源并做简单介绍. 背景 为什么不用 selenium? 最根本的原因是 selenium 的配置比较繁琐,最常见的问题是需要保持 webdriver 和浏览器版本的一致性. pyppeteer 的简单介绍 pyppeteer 是 puppeteer的非官方 python 版本,几乎实现了和其相同的 API…
1新建一个存储git的文件夹,命令是: toto@toto-K45VD:~$ mkdir gitfolder 2初始化一个git仓库,命令是: toto@toto-K45VD:~$cd gitfolder/ toto@toto-K45VD:~/gitfolder$ls toto@toto-K45VD:~/gitfolder$git init 初始化空的 Git版本库于 /home/toto/gitfolder/.git/ 注意:如果是第一次使用git,还要对git对进行如下配置 git conf…
原本打算写有关 SSIS Package 中的事务控制过程的,但是发现很多基本的概念还是需要有 SQL Server 事务和事务的隔离级别做基础铺垫.所以花了点时间,把 SQL Server 数据库中的事务概念,ACID 原则,事务中常见的问题,问题造成的原因和事务隔离级别等这些方面的知识好好的整理了一下. 其实有关 SQL Server 中的事务,说实话因为内容太多, 话题太广,稍微力度控制不好就超过了我目前知识能力范围,就不是三言两语能够讲清楚的.所以希望大家能够指出其中总结的不足之处,对我…
每次我讲解SQL Server之前,我都会先简单谈下当我们执行查询时,在SQL Server内部发生了什么.执行一个SELECT语句非常简单,但是执行DML语句更加复杂,因为SQL Server要修改内存中的相关页,并在事务日志里记录整个事务. 介绍完这些特定步骤后,我总会问同样的问题:当我们有个未提交的事务,这个时候刚好有检查点(Checkpoint)发生,SQL Server会崩溃么?在我们数据文件里有我们未提交的数据么?先思考下,然后再写下你的答案. 创建测试场景 现在我想和你一起重建这个…
问题描述: 系统中多个功能不定期出现“Unable to get error message (6107) (0).”错误,即分布式事务超时,但报出错误的部分功能根本没有使用分布式事务. 原因分析: 推测是存在分布式事务未提交的情况,回到线程池后被复用造成的,例如: 系统中A功能存在分布式事务未提交的问题,处理A功能的线程执行完成后回到线程池,B功能复用了处理A功能的线程,A功能未提交的分布式事务将B功能的代码也包含进去了,依次类推可能还有C.D等功能,直到A功能开启的分布式事务超时报出6107…
未提交读注意事项 使用 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 指定会话的锁定级别. 一次只能设置一个隔离级别选项,而且设置的选项将一直对那个连接始终有效,直到显式更改该选项为止. 事务中执行的所有读取操作都会在指定的隔离级别的规则下运行,除非语句的 FROM 子句中的表提示为表指定了其他锁定行为或版本控制行为. 事务隔离级别定义了可为读取操作获取的锁类型. 在事务进行期间,可以随时将事务从一个隔离级别切换到另一个隔离级别,但有一种情况例…
原本打算写有关 SSIS Package 中的事务控制过程的,但是发现很多基本的概念还是需要有 SQL Server 事务和事务的隔离级别做基础铺垫.所以花了点时间,把 SQL Server 数据库中的事务概念,ACID 原则,事务中常见的问题,问题造成的原因和事务隔离级别等这些方面的知识好好的整理了一下. 其实有关 SQL Server 中的事务,说实话因为内容太多, 话题太广,稍微力度控制不好就超过了我目前知识能力范围,就不是三言两语能够讲清楚的.所以希望大家能够指出其中总结的不足之处,对我…
工作中部署的项目和服务器较多时就用上了Jenkins进行自动部署 优点 不用在连接单独的服务器进行更新项目,再启动项目服务的操作了 更新部署都是自动的,比较方便.适合大批量的部署 一.git流程部分 项目或代码更新后.首先还是先走提交仓库流程,然后再创建git tag打包版本并推送到远程服务器,便于下一步Jenkins部署 1.查看项目代码变化 git status 2.将变化后的代码提交到暂存区 git add . ps: git add . 提交新文件(new)和被修改(modified)文…
PyTest是基于Python的开源测试框架,语法简单易用,有大量的插件,功能非常多.自动检测测试用例,支持参数化,跳过特定用例,失败重试等功能. 安装 pip install -U pytest  # 安装 pytest --version # 查看版本 pytest -h # 查看帮助信息 用例识别 pytest识别文件名为test_.py或者_test.py的测试文件 测试文件中可以在Test*类中写测试用例(测试用例以test_*开头,并且测试类不能有__init__方法) 不在Test…
PyTest支持xUnit style 结构, setup() 和 teardown() 方法用于初始化和清理测试环境,可以保证测试用例的独立性.pytest的setup/teardown方法包括:模块级别(setup_module/teardown_module).函数级别(setup_function/teardown_function).类级别(setup_class/ teardown_class).方法级别(setup_method/teardown_methond或者setup/te…
xUnit style 结构的 fixture用于初始化测试函数, pytest fixture是对传统的 xUnit 架构的setup/teardown功能的改进.pytest fixture为测试准备一个良好的测试环境,测试函数使用的每个 fixture通常有一个参数(以 fixture 命名),测试函数通过参数访问它们.本文将介绍pytest fixture的一些基本用法. @pytest.fixture import pytest @pytest.fixture() def login(…
Allure 是一款轻量级.支持多语言的开源自动化测试报告生成框架,由Java语言开发,可以集成到 Jenkins. pytest 测试框架支持Allure 报告生成. pytest也可以生成junit格式的xml报告和HTML报告,命令如下: pytest test_demo.py --junitxml=report.xml pytest test_demo.py --html=report.html #需要安装插件:pip install pytest-html Allure 报告更加灵活美…
本地代码未提交而不小心被覆盖了,肿么办... 到回收站找到你的文件 xxx.mine,代码就可以找回来了.如果回收站没有了,那就没办法了. ---- 失而复得的感觉真好!…
准备工作:1. 安装Githttp://git-scm.com/download/2.申请一个GitHub或者coding账号(coding为国产,不需FQ呦.两者方法基本相同,本文以coding为例)3.已有的项目文件project开始:1.登录codinghttps://coding.net/2.创建一个新项目,项目名与本地磁盘中项目文件同名project3.在coding新建的项目中,点击代码,复制HTTPS或SHH访问仓库的地址(用HTTPS地址,后期每次更改项目,都要输入密码,非重要项…
--查看锁定的 表select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT' --查看数据库IDselect DB_ID()--查看 未提交的事务select * from sys.dm_tran_locks where resource_type = 'OBJECT' and reso…
才开始用git来控制项目版本,刚开始时不是很会用,由于公司最近新开个项目,需要我把建好的项目放到git上去,慢慢的摸索,终于有点小小的结果,把一个项目成功提交到git上了,在这里记录下,以免下次忘记,首先你得有个git账号,注册进去后,在git上建一个项目 建好项目后把项目拉到本地 注意现在本地建个文件夹,然后指定路径 然后把你的项目移入这个文件中,然后 先点击Add然后选中全部提交,然后 然后点击GitCommit提交,然后 点击push就行了,呵呵,剩下的事情就是等待.…
db2 get db cfg|find "CUR_COMMIT" 当前已落实                                   (CUR_COMMIT) = ON db2 update db cfg using cur_commit offDB20000I  UPDATE DATABASE CONFIGURATION 命令成功完成. SQL1363W  未动态更改为立即修改而提交的一个或多个参数.对于这些配置参数,必须在所 有应用程序都与此数据库断开连接之后,更改才会…
方法一 这里以删除 .setting 文件夹为案例 git rm -r --cached .setting #--cached不会把本地的.setting删除 git commit -m 'delete .setting dir' git push -u origin master (推到自己的分支) 方法二 如果误提交的文件夹比较多,方法一也较繁琐 直接修改.gitignore文件,将不需要的文件过滤掉,然后执行命令(全部删除,再修改.gitignore,再重新提交push) git rm -…
对数据库稍有了解的人,数据库使用排他锁X锁来避免两个事务同时修改同一条数据,同时使用较低级别如行上加锁来提高并发度. 以下了两种场景很容易理解: 1>事务1执行 UPDATE TB1 SET C2=1 WHERE C1=1(此处假设C1为主键,使用行锁),事务1未提交,而后事务2执行UPDATE TB1 SET C2=2 WHERE C1=1,事务2必须等到事务1提交或回滚后,才能获得对该行数据的X锁: 2>事务1执行 UPDATE TB1 SET C2=1 WHERE C1=1(此处假设C1…
收到报警某台mysql数据库慢查询数量超过5,登录上去看,发现阻塞的SQL全部是update,处于Updating状态 +---------+------+-----------+------+---------+------+----------+------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +---------+------+-----------…
在某些情况下我们需要撤销/丢弃所有未提交的改动,包括Update, Delete和Insert.context中GetChangeSet()方法可以返回当前所有未提交的改动,而我们的目标是清空Change Set. 撤销Update很简单,通过OverwriteCurrentValues的模式刷新,context中缓存的初始值以及改动后的对象都会被数据库中最新的值覆盖. 对于Insert,只要再调用一次DeleteOnSubmit的方法即可在ChangeSet中移除对象. Delete则需要首先…
来园子已经两年了,每次都是看,这次咱也写一次. 说一下今天遇到的Linq问题: 每一次插入流水表时,都需要查找表中最大的流水号+1,并且将该流水号返回,但是在同一个SubmitChange之内插入多条时,流水号就一直是表中实际最大的,而不是我上一次插入的最大的.不描述了 贴代码: 这个是DataContext public class DataContext : LinqDataContext { public DataContext() : base() { } /// <summary>…
1.首先在码云或者github上创建一个不带README.md的项目,然后复制远程库的地址(下面以码云为例): 2.进入本地已存在的项目目录:house  touch README.md //新建说明文件 git init //在当前项目目录中生成本地git管理,并建立一个隐藏.git目录 git add . //添加当前目录中的所有文件到索引 git commit -m "first commit" //提交到本地源码库,并附加提交注释 git remote add origin 粘…