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

简介: 本小结讲到了数据驱动,我们使用数据驱动配合读取csv文件再测试的时候不用再手动输入内容,交给自动化完成就可以了,更大的节省了测试时间。(2)在测试类前添加一个装饰器,表示这个类采用ddt代码库的方式实现数据驱动(@ddt.ddt);3.代码编写思路:首先将测试数据单独存放,然后在编写脚本时调用存放的数据,逐条进行数据的读取。我们上节课我们了解了数据驱动的基本概念以及安装,我们这一节学习一下如何使用数据驱动。2.(1)在头部导入ddt代码库:import ddt;1.安装ddt并且导入ddt。

文章目录

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文件再测试的时候不用再手动输入内容,交给自动化完成就可以了,更大的节省了测试时间。

相关文章
|
8月前
|
人工智能 数据可视化 测试技术
Postman 性能测试教程:快速上手 API 压测
本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
Postman 性能测试教程:快速上手 API 压测
|
7月前
|
安全 数据管理 测试技术
告别蛮力:让测试数据生成变得智能而高效
告别蛮力:让测试数据生成变得智能而高效
613 120
|
10月前
|
数据采集 数据可视化 JavaScript
用 通义灵码和 PyQt5 爬虫智能体轻松爬取掘金,自动化采集技术文章和数据
本文介绍了如何利用智能开发工具通义灵码和Python的PyQt5框架,构建一个自动化爬取掘金网站技术文章和数据的智能爬虫系统。通过通义灵码提高代码编写效率,使用PyQt5创建可视化界面,实现对爬虫任务的动态控制与管理。同时,还讲解了应对反爬机制、动态内容加载及数据清洗等关键技术点,帮助开发者高效获取并处理网络信息。
|
10月前
|
JSON JavaScript 测试技术
用Postman玩转电商API:一键测试+自动化请求教程
Postman 是电商 API 测试的高效工具,涵盖基础配置、自动化测试、环境管理与请求自动化,助你快速提升开发效率。
|
9月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
1859 10
|
8月前
|
监控 测试技术 API
n8n自动化测试教程 (1):环境搭建与初识n8n
n8n是一款开源、可视化的工作流自动化工具,测试工程师可通过拖拽节点快速构建API测试流程,实现测试编排、数据管理、自动化监控与告警等功能,提升测试效率与覆盖率。
|
8月前
|
存储 测试技术 API
数据驱动开发软件测试脚本
今天刚提交了我的新作《带着ChatGPT玩转软件开发》给出版社,在写作期间跟着ChatGPT学到许多新知识。下面分享数据驱动开发软件测试脚本。
305 0
|
11月前
|
人工智能 缓存 自然语言处理
别再手搓测试数据了!AE测试数据智造系统揭秘
本文介绍如何通过构建基于大语言模型的测试数据智造Agent,解决AliExpress跨境电商测试中数据构造复杂、低效的问题,推动测试效率提升与智能化转型。
别再手搓测试数据了!AE测试数据智造系统揭秘
|
8月前
|
安全 Shell 持续交付
Debian Apache 自动化部署教程:4 种方法,从个人到企业批量装机
本文介绍在 Debian 系统中实现 Apache 自动化部署的 4 种实用方法,涵盖个人单机与企业批量部署场景。内容包括使用 Bash 脚本一键安装、通过 PXE 实现网络批量部署、借助 Ansible/Puppet 进行多机统一配置管理,以及利用 Preseed 文件自动完成安装配置。文章还提供操作示例与避坑建议,帮助用户提升部署效率,降低人为错误。
244 0
|
9月前
|
数据采集 运维 监控