采用 excel 的方式写测试用例,格式比较死板,比较容易出错,采用 yaml / yml 格式来写用例。

首先安装 pyyaml:pip install pyyaml

建立一个 login.yaml 文件(或login.yml,这两种后缀是一样的),内容如下,可见内容中的key会变颜色,如果没有变颜色,冒号后面加个空格。

username: joseph
passwd: 123456
cpasswd: 123456
name: joseph

建立 a.py 文件读取 login.yaml

1 import yaml
2 f = open('login.yaml',encoding='utf-8')
3 res = yaml.load(f)
4 print(res)

运行结果如下:可见,从 yaml 文件中读出来的是一维字典。

{'username': 'joseph', 'name': 'joseph', 'passwd': 123456, 'cpasswd': 123456}

 

修改 login.yaml 文件,再次执行 a.py 查看运行结果。

url: /api/user/login
method: post
data:
  username: joseph  #顶头使用一个tab,否则会报错
  passwd: aA123456  #冒号后面加一个空格
headers:
  user-agent: Firefox
cookies:
  sign: ssassssss
check:
  error_code: 0

运行结果:可见,增加一个tab 后,就变成了二维字典。

{'check': {'error_code': 0}, 'data': {'username': 'joseph', 'passwd': 'aA123456'}, 'cookies': {'sign': 'ssassssss'}, 'url': '/api/user/login', 'headers': {'user-agent': 'Firefox'}, 'method': 'post'}

但是,这种方法有一个弊端,在 yaml 中录入多个用例时,后面的用例会把前面的用例覆盖,如下文中的两个用例。(在 yaml 中注视同 python一样,前面加 #)

#正常登录
url: /api/user/login
method: post
data:
  username: joseph
  passwd: aA123456
headers:
  user-agent: Firefox
cookies:
  sign: ssassssss
check:
  error_code: 0
#密码错误
url: /api/user/login
method: post
data:
  username: joseph
  passwd: aaaaaaa
headers:
  user-agent: Firefox
cookies:
  sign: ssassssss
check:
  error_code: 3007
View Code

相关文章: