自动化测试教程(14)使用数据驱动

1.任务目标

我们上节课我们了解了数据驱动的基本概念以及安装,我们这一节学习一下如何使用数据驱动。

2.使用数据驱动前提

1.安装ddt并且导入ddt。
2.(1)在头部导入ddt代码库:import ddt;
(2)在测试类前添加一个装饰器,表示这个类采用ddt代码库的方式实现数据驱动(@ddt.ddt);
(3)在测试方法前使用@ddt.data( )指定数据来源。
3.代码编写思路:首先将测试数据单独存放,然后在编写脚本时调用存放的数据,逐条进行数据的读取。

3.任务实操

文件目录如下
在这里插入图片描述
读取csv文件代码

import csv


def read():
    test = r"E:\test_day\test01_day\test_03\testdata.csv"
    date = open(test, 'r')
    tat = csv.reader(date)
    list = []
    i = 0

    for row in tat:
        if i != 0:
            list.append(row)
        i += 1
    return list


if __name__ == '__main__':
    da = read()
    for row in da:
        print(row)

数据驱动代码如下

from time import sleep

import ddt
import unittest
from selenium import webdriver
#引入读取csv文件包
from test02 import rend


# 装饰ddt
@ddt.ddt
#使用unittest框架
class Data_ddt(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.maximize_window()
        self.driver.implicitly_wait(3)

    stem_info = rend()

    @ddt.data(*stem_info)
    def test_id(self, list):
        self.driver.get("http://test.pandabrother.cn/gpracticef/my/login.html")
        self.driver.find_element_by_xpath('//*[@id="input-name"]').send_keys("liufengning")
        self.driver.find_element_by_xpath('//*[@id="input-password"]').send_keys("123456")
        self.driver.find_element_by_xpath('/html/body/div/div/div[1]/section/form/div[3]/button').click()
        self.driver.find_element_by_xpath('//*[@id="sidebar-menu"]/div/ul/li/a').click()
        self.driver.find_element_by_xpath('//*[@id="sidebar-menu"]/div/ul/li/ul/li[2]/a').click()
        self.driver.find_element_by_id('input-name').send_keys(list[0])
        sleep(10)
        self.driver.find_element_by_xpath('/html/body/div[1]/div/div[3]/div/div[3]/div[2]/div/form/button[1]').click()


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


if __name__ == '__main__':
    unittest.main()


结果如下
在这里插入图片描述

4.小结

本小结讲到了数据驱动,我们使用数据驱动配合读取csv文件再测试的时候不用再手动输入内容,交给自动化完成就可以了,更大的节省了测试时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值