1. 定义
argparse 是 Python 标准库里面用来处理命令行参数的库
命令行参数分为位置参数和选项参数
位置(必选)参数:前面不需要-或者–-
可选参数:
通过一个-来指定的短参数, 例如:-h
通过–-来指定的长参数,例如:–help
import argparse
# 获取控制台传递的参数,可以使用 python test.py -h来查看可以传哪些参数
parser=argparse.ArgumentParser()
parser.add_argument('-k', '--keyword', help='只执行匹配关键字的用例,会匹配文件名、类名、方法名', type=str)
parser.add_argument('-ms', '--measured_server', help='指定被测服务器', type=str)
parser.add_argument('-n', '--thread', help='开启多少线程,默认为3', type=str)
parser.add_argument('-d', '--dir', help='指定要测试的目录', type=str)
parser.add_argument('-sq', '--priority_level', help='只运行符合给定的优先级别的测试用例', type=str)
parser.add_argument('-m', '--markexpr', help='只运行符合给定的mark表达式的测试', type=str)
parser.add_argument('-t','--try',help="try again",type=str)
args=parser.parse_args()
print(args)
2. 使用示例
python test.py -k=ui 表示执行优先级为1的case
Input内容
#可以通过传入关键词ui来执行以下的代码逻辑
if(args.keyword=="api"):
print("api")
elif(args.keyword=="ui"):
print("ui")
else:
pass
Output内容
输出结果:ui
3. 枚举类型
枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合。
在 Python 中,枚举和我们在对象中定义的类变量一样,即一个类变量一个枚举项。
enum模块是系统内置模块,一般使用的最多的就是 enum 模块中的 Enum、IntEnum、unique这几项。
使用时需注意:
- 枚举类不能用来实例化对象
- 访问枚举类中的某一项,直接使用类名访问加上要访问的项即可,比如 COLOR.YELLOW
- 枚举类里面定义的 Key = Value,在类外部不能修改 Value
- 枚举项可以用来比较,使用==或者is
- 导入 Enum 之后,一个枚举类中的 Key 和 Value,Key 不能相同,Value 可以相同,但是 Value 相同的各项 Key 都会当做别名
- 如果要枚举类中的 Value 只能是整型数字,那么可以导入IntEnum,然后继承IntEnum即可,注意此时,如果 value为字符串的数字,也不会报错
4. Python使用实例
class COLOR():
RED=0
GREEN=1
PINK=2
YELLOW=3
RED=4
print(COLOR.RED)#此处打印的类变量是最后定义的一个类变量值
#上面类变量定义重复后会覆盖掉前面定义的
#我们可以使用IntEnum来定义不重复的整形枚举值
from enum import IntEnum
class COLOR1(IntEnum):
RED=0
GREEN=1
PINK=2
YELLOW=0
# RED=4
print(COLOR1.RED==0) #枚举项==比较操作
print(COLOR1.RED is COLOR1.YELLOW) #枚举项is比较操作
print(COLOR1.RED)#此时为报错,因为类变量的值重复了
print(COLOR1.RED.name) #打印枚举名称
print(COLOR1.RED.value)#打开枚举值
#使用列表来存放枚举的值
from enum import Enum,unique
@unique
class test(Enum):
currency=["1","currency","RMB"]
hk=["2","hk","HK"]
usd=["3","usd","USD"]
if __name__ == '__main__':
print(test.currency.name)#打印枚举名称
print(test.currency.value)#打开枚举值
print(type(test.currency.value))
print(test.currency.value[0])#使用索引取值并打印
print(test.currency.value[1])
print(test.currency.value[2])
以上就是今天分享的全部内容了,为了更好的理解执行参数与枚举,建议多多练习!
资源分享
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走…
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!