温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

数据驱动ddt 示例,数据在代码中

发布时间:2020-07-21 19:02:35 来源:网络 阅读:481 作者:qq5a16e6241946e 栏目:编程语言
#coding=utf-8
from selenium import webdriver
import unittest,time
import logging,traceback
import ddt
from selenium.common.exceptions import NoSuchElementException

logging.basicConfig(
    #日志级别
    level = logging.INFO,

    #日志格式
    #时间、代码所在文件名、代码行号、日志级别、日志信息
    format = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',

    #打印日志的时间
    datefmt = '%a, %d %b %Y %H:%M:%S',

    #日志存放文件
    filename = 'report.log',

    #日志打开方式
    filemode = 'w'

)
#使用ddt数据驱动
@ddt.ddt
class TestDemo(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome(executable_path = "e:\\chromedriver")

    #定义测试数,元组的元素是列表
    @ddt.data([u"测试开发",u"测试开发"],
              [u"疯狂动物城",u"古德温"],
              [u"光荣之路",u"光荣之路"])

    #解包测试数据,每个列表的数据分别对应下面的testdat、expectdata,每个数据会执行一次测试脚本
    @ddt.unpack
    def test_dataDriven(self,testdata,expectdata):
        url = "https://www.baidu.com"

        self.driver.get(url)

        #隐式等待
        self.driver.implicitly_wait(10)
        try:
            self.driver.find_element_by_id("kw").send_keys(testdata)

            self.driver.find_element_by_id("su").click()

            time.sleep(3)

            self.assertTrue(expectdata in self.driver.page_source)

        except NoSuchElementException,e:
            logging.error(u"查找的页面元素不存在,异常:" +str(traceback.format_exc()))

        except AssertionError,e:
            logging.info(u"搜索 %s ,期望%s,失败"  %(testdata,expectdata))

        except Exception,e:
            logging.error(u"错误信息: " + str(traceback.format_exc()))

        else:
            logging.info(u"搜索 %s ,期望%s,通过"  %(testdata,expectdata))

    def tearDown(self):
        self.driver.quit()

if __name__ == "__main__":
    unittest.main()
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI