import csv
import yaml
# pip install PyYAML
class ConfigData(object):
# 读取csv文件
def getDatacsv(self, csvpath):
with open(csvpath, 'r') as csvfile:
csvdata = csv.reader(csvfile)
datalist = []
for item in csvdata:
datalist.append(item)
print('csv数据测试%s' % datalist[1:])
return datalist[1:]
# 读取yaml文件管理页面元素
def getDateyaml(self, page_file):
with open(page_file, 'r', encoding='utf-8') as f:
element = yaml.safe_load(f)
return element
# csv编写步骤可以 先用excel编写好,然后编写存为csv格式
# 以列表的形式写入csv
def datacsvwrite(self):
data = [['004', '莉莉', '1998050999'], ['003', '莉liiu', '199805022999']]
# 打开文件,并w表示写 入
csvFile2 = open('用户表testcsv.csv', 'w', newline='', encoding='utf-8')
# 创建writer对象
writer = csv.writer(csvFile2)
m = len(data)
for i in range(m):
# 写入数据
writer.writerow(data[i])
csvFile2.close()
# 从字典写入csv文件
def writeDicCsv(self, page_file):
# 用户表testcsv.csv
dic = {'姓名': '密码', '张1': 123, 'd2': 321, '张31': 123}
with open(page_file, 'w', newline='', encoding='utf-8') as csvfile4:
writer3 = csv.writer(csvfile4)
for key2 in dic:
print(dic[key2])
writer3.writerow([key2, dic[key2]])
使用csv
#读取csv错误信息
def rt_login_001(self):
self.logger.info('=====test_login_001=====')
csv_file = '../data/account.csv'
#实例化读取数据类
data= config.ConfigData()
d=data.getDatacsv(csv_file)
# 实例化登录页面对象
lp = LoginPage(self.driver)
lp.login(d[0], d[1])
使用yaml
file =os.path.abspath(os.getcwd())
yaml_file = os.path.join(file, 'data\\login_page.yaml')
elements = GetPageElements().getDateyaml(yaml_file)
url = elements['url']
user = (elements['username']['type'], elements['username']['value'])
pwd = (elements['password']['type'], elements['password']['value'])
login_button = (elements['login_button']['type'], elements['login_button']['value'])