python自动化测试过程中遇到的问题
问题1:编写连接linux读取日志时,当需要执行多条命令时,一条一条执行,未调用close关闭连接,出现执行一次命令后就自动退出
解决办法:应该将多个命令放一起,用;分号隔开,
例如:cmd="cd /data/workspace/nova-iwms-station/logs/;cat iwms-station.log | tail -10"
问题2:当init属性名称与方法名称一致时,调用方法的时候出现会调用属性的情况,
根源:不能使用与方法同名的类属性,因为该方法将完全重写它(最后,方法只是可调用的类属性,并且会自动将类的实例作为第一个属性接收)。
解决办法:属性名称与方法名称不一致
问题3:bool 函数:用于将给定参数转换为布尔类型,如果没有参数,返回 False。 >>>bool() False >>> bool(0) False >>> bool(1) True >>> bool(2) True >>> issubclass(bool, int) # bool 是 int 子类 True >>>bool("false") True 将字符串false转化为bool类型 import json >>>json.loads("false") False
问题4:json文件中包含有中文,导致报编码错误
问题原因:json文件是以GBK的格式保存的,但读取的时候是以UTF-8的格式读取
filePath = r"D:\code\iwms-automation\baseParams\warehouse_logic\save_or_update_warehouse_logic.json" with open(filePath, encoding="UTF-8") as f: data = json.load(f) print(data)
5、feature文件与脚本里的步骤名称不一致
6 、
问题点:脚本在本地跑没有问题,在jenkins跑会每个用例跑俩次
原因:json文件放在包下,而封装的获取所有json文件(get_file_name)遍历所有json文件名,查找文件的时候只传了文件名称,未传路径
解决办法:在load jons文件的时候,拼接绝对路径,找到唯一路径