python数据驱动读取用例_Python Selenium 之数据驱动测试

本文介绍了Python下利用ddt库实现数据驱动测试的方法,通过示例展示了如何创建百度搜索的测试,包括如何使用@ddt和@data装饰器进行内部数据驱动,以及如何从CSV和Excel文件中读取外部数据进行测试。数据驱动测试能提高测试脚本的复用性和覆盖范围,简化维护工作。
摘要由CSDN通过智能技术生成

数据驱动模式的测试好处相比普通模式的测试就显而易见了吧!使用数据驱动的模式,可以根据业务分解测试数据,只需定义变量,使用外部或者自定义的数据使其参数化,从而避免了使用之前测试脚本中固定的数据。可以将测试脚本与测试数据分离,使得测试脚本在不同数据集合下高度复用。不仅可以增加复杂条件场景的测试覆盖,还可以极大减少测试脚本的编写与维护工作。

下面将使用Python下的数据驱动模式(ddt)库,结合unittest库以数据驱动模式创建百度搜索的测试。

ddt库包含一组类和方法用于实现数据驱动测试。可以将测试中的变量进行参数化。

可以通过python自带的pip命令进行下载并安装:pip install ddt . 更多关于ddt的信息可以参考:

https://pypi.org/project/ddt/

一个简单的数据驱动测试

为了创建数据驱动测试,需要在测试类上使用@ddt装饰符,在测试方法上使用@data装饰符。@data装饰符把参数当作测试数据,参数可以是单个值、列表、元组、字典。对于列表,需要用@unpack装饰符把元组和列表解析成多个参数。

下面实现百度搜索测试,传入搜索关键词和期望结果,代码如下:

import unittest

from selenium import webdriver

from ddt import ddt, data, unpack

@ddt

class SearchDDT(unittest.TestCase):

'''docstring for SearchDDT'''

def setUp(self):

self.driver = webdriver.Chrome()

self.driver.implicitly_wait(30)

self.driver.maximize_window()

self.driver.get("https://www.baidu.com")

# specify test data using @data decorator

@data(('python', 'PyPI'))

@unpack

def test_search(self, search_value, expected_result):

search_text = self.driver.find_element_by_id('kw')

search_text.clear()

search_text.send_keys(search_value)

search_button = self.driver.find_element_by_id('su')

search_button.click()

tag = self.driver.find_element_by_link_text("PyPI").text

self.assertEqual(expected_result, tag)

def tearDown(self):

self.driver.quit()

if __name__ == '__main__':

unittest.main(verbosity=2)

在test_search()方法中,search_value与expected_result两个参数用来接收元组解析的数据。当运行脚本时,ddt把测试数据转换为有效的p

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值