首页 > 编程语言 > 详细

python3.6+selenium_使用ddt执行数据驱动测试

时间:2019-02-26 11:36:28      阅读:319      评论:0      收藏:0      [点我收藏+]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/12/26 10:42
# @File : unittest_test8_1.py
‘‘‘
使用ddt执行数据驱动测试,其中我们在测试类上使用@ddt修饰符,在测试方法上用@data装饰符,可以把参数当测试数据,
参数可以是单个值,列表,数组,字典,对于列表,需要用@unpack装饰符把元组和列表解析成多个参数
注:运行的时候光标的位置放在 test_search 方法里面会报错,将光标放到外面,则运行通过
‘‘‘
import unittest
from ddt import ddt,data,unpack
from selenium import webdriver
@ddt
class SearchDDT(unittest.TestCase):
    #初始化浏览器和url
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(30)
        self.driver.maximize_window()
        self.driver.get("https://www.baidu.com/?tn=78000241_12_hao_pg")

    #创建一个测试用例
    @data(("phones",1),("salt shaker",1))
    @unpack
    def test_search(self,search_value,expected_count):     #参数值和期望结果
        self.search_file = self.driver.find_element_by_name(wd)
        self.search_file.clear()
        self.search_file.send_keys(search_value)
        self.search_file.submit()
        product = self.driver.find_elements_by_xpath(//*[@id="1"]/h3/a)
        #p = [product,]
        self.assertEqual(expected_count,len(product))

    #清理所有的 初始化值
    def tearDown(self):
        self.driver.quit()

#运行测试,传递verbosity参数,以便使详细的测试总量显示在控制台
if __name__==__main__:
    unittest.main(verbosity=2)

 

python3.6+selenium_使用ddt执行数据驱动测试

原文:https://www.cnblogs.com/xiuxiu123456/p/10435918.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!