Python Unittest-根据不同测试环境跳过用例详解
Python Unittest-根据不同测试环境跳过用例详解
本文章会讲述以下几个内容:
1、Unittest 如何跳过用例
2、如何使用sys.argv
3、自动化测试项目中如何一套代码多套环境运行
一、Unittest跳过用例
@unittest.skip(reason) , 直接跳过被装饰的用例 ,reason用于填写跳过用例的原因
@unittest.skipIf(condition, reason) , condition 如果为真,跳过被装饰的用例,reason用于填写跳过用例的原因
@unittest.skipUnless(condition, reason) , condition如果为假,跳过被装饰的用例,reason用于填写跳过用例的原因
例:
testcaseskip.py
运行结果:
二、如何使用sys.argv
sys.argv 是一个数组 第一个元素是程序本身路径
sys.argv 实现从程序外部向程序传递参数。
例:
howtouse_argv.py
小结:
1:sys.argv 实现从程序外部向程序传递参数
2:传入的第一个参数为脚本文件名
3:传入程序的每一个参数以空格 隔开
4:传入程序的参数均以字符串的类型存储,命令行中不需要加引号
三、自动化测试项目中如何一套代码多套环境运行
需求1:一套代码可以测试多个环境,不希望每次测试不同环境的时候都要去改代码里面的URL,希望把代码里面的URL参数化
以UI自动化为例:
testmultipleenv.py
运行命令行:
---------------------------------------------------------------
注:我这有个学习基地,里面有很多学习资料,感兴趣的+Q群:895817687
---------------------------------------------------------------python test_multiple_env.py https://www.baidu.com/
运行结果:
打开浏览器,导航到百度页面
需求2:有些用例不能在预发布环境或者生产环境运行,怎么跳过该用例
UI自动化为例:
testmultipleenv_skip.py
运行命令行:
运行结果:
小结
从上面的例子可以了解,如何通过sys.argv传入环境参数,虽然上文是用百度首页作为例子,但同时引出,我们在做自动化测试时候,实现一套代码多环境运行思路
命令行带参数启动脚本,在Unittest中,可以实现不同的测试环境可以跳过用例
Python Unittest-根据不同测试环境跳过用例详解相关推荐
- 模拟器真机环境_Appium+python自动化(二)- 环境搭建—下(超详解)
上一篇android测试开发环境已经准备好, 那么接下来就是appium的环境安装和搭建了. 菲哥和小伙伴们开个玩笑,不要觉得自人品不好,就不会成功那都是骗人的.搭建环境和人品半毛钱关系也没有,搭建环 ...
- Python unittest中初始化固件setUp和销毁固件tearDown详解
unittest.TestCase 包含了 setUp() 和 tearDown() 两个方法,其中 setUp() 方法用于初始化测试固件:而 tearDown() 方法用于销毁测试固件.程序会在运 ...
- Appium+python自动化(一)- 环境搭建—上(超详解)
简介 最近整理了一下自动化的东西,先前整理的python接口自动化已经接近尾声.即将要开启新的征程和篇章(Appium&python).那么首相的问题就是搭建环境了.好久没搭建环境又踩了不少坑 ...
- A/B 测试的统计学原理及用例详解
统计学在 A/B 测试中的作用 A/B 测试是一种对比试验(下文中对比试验特指 AppAdhoc 平台上的 A/B 测试),而试验就是从总体中抽取一些样本进行数据统计,进而得出对总体参数的一个评估.可 ...
- (渗透测试后期)Linux进程隐藏详解
文章目录 (渗透测试后期)Linux进程隐藏详解 前言 Linux进程基础 Linux进程侦查手段 Linux进程隐藏手段 一.基于用户态的进程隐藏 方法1:小隐隐于/proc/pid--劫持read ...
- python2.7除法_对python中的float除法和整除法的实例详解
从python2.2开始,便有两种除法运算符:"/"."//".两者最大区别在: python2.2前的版本和python2.2以后3.0以前的版本的默认情况下 ...
- Python中常见的__init__.py是什么意思?详解Python import的方式和原理
Python中常见的__init__.py是什么意思?详解Python import的方式和原理 1 什么是模块化编程? 2 __init__.py文件的作用 3 Python如何import第三方库 ...
- Android studio 多渠道(多环境)打包grade配置详解
Android studio 多渠道(多环境)打包grade配置详解 场景:开发app,我们需要两套环境或者两套环境以上的apk,每套环境的apk分两个版本debug版和release版. 公司有套平 ...
- pythonprint字节按照16进制输出_对python以16进制打印字节数组的方法详解
对python以16进制打印字节数组的方法详解 一.问题描述 如果直接用print打印bytes的话,有时候会直接显示ascii对应的字符,看起来很蛋疼. 二.运行效果 上面一行是直接用print打印 ...
最新文章
- [综合面试] 大牛的面试神级总结之总结篇
- aix系统32位和64位切换
- [蓝桥杯][历届试题]网络寻路(DFS)
- 如何在 C# 中使用 反射
- Python | 程序以字符串长度打印单词
- 单链表的按位置插入和删除
- ios 扫码枪外设 键盘模式_多平台连接:雷柏XK100蓝牙键盘评测
- 云小课|云小课带你快速掌握云数据迁移CDM
- pycharm终端运行python文件_在PyCharm终端中执行python manage.py..._慕课问答
- JavaSE| 面向对象-类的五大成员
- 小型网站项目完整部署流程(Windows操作系统)
- python opencv车辆测速视频汽车速度检测入侵检测测速
- 试验一:网络扫描与网络侦查
- 全球票房73亿的《海王》,是怎么炼成的!
- python转xlsx为xls 或重新保存xls
- 包转发率交换容量详解
- RHadoop实验 – 统计邮箱出现次数
- 朱阿兴教授报告——SCI文章写作要点与案例分析
- Ubuntu Linux 3D桌面完全教程(转贴)
- HEVC (H.265)介绍(转)
热门文章
- android string json,安卓之String json解析
- redismanager 获取不到yml中的密码_SpringBoot敏感信息加密,springboot配置文件密码加密jasypt...
- Spring相关API-getBean()方法的使用
- 「中间件系列二」redis缓存
- PaddleOCR——Visual Studio 2019 环境下C++推理部署 CMake 编译解决方案
- 汇编语言——计算Z=(W * X)/ (Y+6),R=余数
- Spring——Spring工具类
- CG CTF WEB SQL注入2
- xSocket 通讯框架 demo
- 软件工程概论 课堂练习【用例图——客户提出申请要求贷款...】