# python-自动化UI测试之---数据驱动

encoding =utf -8

from selenium import webdriver
import unittest, time, os
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 % (massage)s’,
# 打印日志的时间
datefmt=’%a, %d %b %Y %H: %M: %S’,
# 日志文件存放的目录()
filename=‘D:/python1/自动化测web/书籍selenium/错误日志/report.log’,
# 打开日志文件的方式
filemode=‘w’
)

@ddt.ddt
class TestDataDrive(unittest.TestCase):
“”“数据驱动测试”""

def setUp(self) -> None:
    self.dr = webdriver.Chrome()
    self.dr.maximize_window()
    print('----------用例准备就绪-----------')

@ddt.data(['我是菜鸟', '《刺客伍六七》'],
          ['我长得挺帅', '一双明亮有神的眼睛,高挺俏丽的鼻梁,白净的脸蛋,很着'
                    '人喜欢的嘴唇,我看你挺帅气...'],
          ['你该不会是个傻子吧', '鹦鹉兄弟']
          )
@ddt.unpack
def test_data_drive(self, testData, expectData):
    url = 'https://www.baidu.com/'
    self.dr.get(url)
    self.dr.implicitly_wait(20)
    try:
        self.dr.find_element_by_id('kw').send_keys(testData)
        self.dr.find_element_by_id('su').click()
        time.sleep(3)
        # 断言期望结果是否出现在页面源码中
        self.assertTrue(expectData in self.dr.page_source)

    except NoSuchElementException as e:
        logging.error('查找的元素不存在,异常堆栈信息:'
                      + str(traceback.format_exc()))

    except AssertionError as e:
        logging.info('失败---搜索:%s,期望:%s' % (testData, expectData))

    except Exception as e:
        logging.info('未知错误,错误信息:' + str(traceback.format_exc()))

    else:
        logging.info('成功---搜索:%s,期望:%s' % (testData, expectData))

def tearDown(self) -> None:
    self.dr.quit()
    print('-----------用例执行结束-----------')

if name == ‘main’:
unittest.main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值