数据驱动测试实例

本文详细介绍了如何在测试中实现数据驱动,分别演示了读取txt、CSV和XML文件的方法。首先,讲解了如何从txt文件中获取数据;接着,通过Excel创建并保存为CSV文件来读取数据;最后,展示了读取xml文件,如user_info.xml,进行数据驱动测试的操作步骤。
摘要由CSDN通过智能技术生成

1、读取txt文件

# 读取数据文件
# 打开
user_file = open('user_info.txt', 'r')
# 读取多行
lines = user_file.readlines()
# 关闭文件
user_file.close()
# 遍历拆分
for line in lines:
	username = line.split(',')[0]
	password = line.split(',')[1]
	print(username, password)

# user_info.txt
zhangsan,123
lisi,456
wangwu,789

2、读取CSV文件:先用Excel写,在保存为CSV格式

# 读取CSV格式
import csv
# 读取本地CSV文件
data = csv.reader(open('11.csv', 'r'))
# 循环输出每一行信息
for user in data:
	print(user)



# 11.csv
test,3333@qq.com,23,man
test2,2222@qq.com,34,woman
test3,34444@qq.com,22,man

3、读取xml文件

# 操作xml文件
from xml.dom import minidom

# 打开xml文档
dom = minidom.parse('user_info.xml')

# 得到文档元素对象。唯一根元素
root = dom.documentElement

# 打印节点名,node和tag一样
print(root.nodeName)
print(root.tagName)
# 打印节点值,只对文本节点有效
print(root.nodeValu
好的,以下是一个最简单的网页登录的数据驱动unittest测试实例: ```python import unittest from selenium import webdriver from selenium.webdriver.common.keys import Keys class TestLogin(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() def tearDown(self): self.driver.quit() def test_login(self): test_cases = [ ('user1', 'password1', 'Login was successful.'), ('user2', 'password2', 'Invalid username or password.'), ('user3', 'password3', 'Invalid username or password.') ] for username, password, expected in test_cases: with self.subTest(username=username, password=password, expected=expected): self.driver.get('http://www.example.com/login') username_elem = self.driver.find_element_by_name('username') username_elem.send_keys(username) password_elem = self.driver.find_element_by_name('password') password_elem.send_keys(password) password_elem.send_keys(Keys.RETURN) message_elem = self.driver.find_element_by_id('message') self.assertEqual(message_elem.text, expected) if __name__ == '__main__': unittest.main() ``` 这个测试案例使用了unittest框架和Selenium库,并测试了网页登录功能。我们创建了一个包含三个测试用例的列表,每个测试用例都是一个元组,包含用户名、密码和预期结果。我们使用for循环遍历测试用例,并模拟用户在网页上输入用户名、密码和回车键。然后,我们查找登录结果元素,并使用assertEqual()函数检查实际结果是否与预期结果相等。如果测试通过,则不会有任何输出,否则会输出失败消息,以便我们可以检查问题并进行修复。 在这个测试案例中,我们使用了unittest的数据驱动功能,即使用for循环遍历测试用例。为了使测试结果更加清晰,我们使用了with self.subTest()上下文管理器,并传入测试数据。这样,当测试用例失败时,unittest会输出具体的测试数据,方便我们进行调试。 要运行这个测试案例,我们需要先安装Selenium库,并下载对应浏览器的驱动程序。然后,在命令行中执行以下命令: ``` python test_login.py ``` 这会自动运行测试,并输出测试结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值