Yaml是一种文件格式
python中使用yaml需要安装Yaml模块 : pip install pyyaml
yaml格式:
dic1:
name: zff
age: 15
dic2:
name: ttt
age: 98
dic3: "测试数据"
list1:
- 1
- 2
- 3
- 4
用冒号+空格 : 代表对象/字典
用 岗+空格 - 代表列表
使用yaml 需要导包使用load方法
import yaml
# 打开yaml文件
file = open('test.yaml','rb')
#使用yaml
data = yaml.load(stream=file, Loader=yaml.FullLoader)
print(data)
print(type(data))
使用ddt +file_data循环读取yaml数据
import pytest
from ddt import ddt, file_data
@ddt
class TestYaml():
@file_data('test.yaml')
def test_1(self,**kwargs):
a = kwargs['data1']
b = kwargs['data2']
c = kwargs['data3']
print(a)
print(b)
print(c)
if __name__ == '__main__':
pytest.main(['-s','testyaml2.py'])
yaml数据
-
data1: a
data2: b
data3: c
-
data1: 1
data2: 2
data3: 3
-
data1: aaaa
data2: bbb
data3: ccc
基于yaml驱动selenium:
#正确的账号名密码
-
url: http://XXXX.sm.chinajzhl.com/User/Login
text:
- 1709348XXXX
- 123456
element:
input: /html/body/div[2]/div[1]/input
pasw: /html/body/div[2]/div[2]/input
button: /html/body/div[2]/button[2]
#错误的账号名密码
-
url: http://XXXXX.sm.chinajzhl.com/User/Login
text:
- 1709348XXXX
- 123457
element:
input: /html/body/div[2]/div[1]/input
pasw: /html/body/div[2]/div[2]/input
button: /html/body/div[2]/button[2]
import pytest
from ddt import ddt, file_data
from selenium import webdriver
import time
@ddt
class TestYaml():
@file_data('test.yaml')
def test_1(self,**kwargs):
driver = webdriver.Chrome()
driver.get(kwargs['url'])
driver.find_element_by_xpath(kwargs['element']['input']).send_keys(kwargs['text'][0])
driver.find_element_by_xpath(kwargs['element']['pasw']).send_keys(kwargs['text'][1])
driver.find_element_by_xpath(kwargs['element']['button']).click()
time.sleep(5)
driver.quit()
if __name__ == '__main__':
pytest.main(['-s','testyaml2.py'])