selenium-基于unittest的excel数据驱动

简介: selenium-基于unittest的excel数据驱动

这里是清安,上一章我们讲了Yaml数据驱动,本章我们来说说Excel的数据驱动。

我们只需要写一个函数方法进行调用即可,读取Excel文件,将值进行返回便于下一个接口使用。

import xlrd
class Excel_Login:
    def excel_login(self):
        file_name = xlrd.open_workbook(r'F:\111.xlsx')
        # 读取表单
        sh1 = file_name.sheet_by_index(0)
        # 读取行数
        rows = sh1.nrows
        datalist = []
        for i in range(1, rows):
            # 遍历每行的值,添加到空列表
            datalist.append(sh1.row_values(i))
        return datalist

excel中的表数据是这样的:

学了Yaml的数据驱动,我们直接将代码copy过来即可。

"""元素定位登录界面代码"""
class T_test():
    def __init__(self,fox):
        self.fox = fox
    def login(self,f_get,username,password):
        self.fox.get(f_get)
        if_rame = self.fox.find_elements_by_tag_name('iframe')[0]
        self.fox.switch_to.frame(if_rame)
        self.fox.find_element_by_id('switcher_plogin').click()
        self.fox.find_element_by_id('u').send_keys(username)
        self.fox.find_element_by_id('p').send_keys(password)
        self.fox.find_element_by_id('login_button').click()

这里也就写到了,接下来是unittest模块,与Yaml的会稍微有一点点的不同:

@ddt
class LoginTest(unittest.TestCase,T_test):
    i = Excel_Login().excel_login()
    def setUp(self) -> None:
        self.fox = webdriver.Firefox()
        self.fox.implicitly_wait(5)
    def tearDown(self) -> None:
        self.fox.quit()
    @data(*i)
    @unpack
    def test01(self,username,password):
        self.login('https://qzone.qq.com/',username,password)
        self.ele = self.fox.title
        self.assertEqual(self.ele, 'QQ空间-分享生活,留住感动',msg='不符合')

包记住该有的还得有,别少了,这里在模块内的添加了实例化对象,然后再去进行数据驱动,用两个参数进行接收解析出来的值用于账号登录。与Yaml数据驱动还有有着一些异曲同工之妙的。

目录
相关文章
|
6月前
|
存储 测试技术 Python
软件测试/测试开发全日制|Pytest结合Excel实现数据驱动
软件测试/测试开发全日制|Pytest结合Excel实现数据驱动
|
1月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
|
14天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
55 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
3月前
|
存储 测试技术 数据安全/隐私保护
自动化测试小技巧之Airtest-Selenium和Excel的无缝协作
【8月更文挑战第26天】在自动化测试中,Airtest-Selenium 与 Excel 的无缝协作能显著提升测试效率与可维护性。通过将 Excel 作为数据源,可轻松存储和读取测试用例数据;测试结果可自动记录在 Excel 中,便于跟踪与分析;利用 Excel 管理测试用例,简化了用例的增删改查;此外,还能自动截图并记录日志,方便问题定位。这种方式不仅提高了自动化测试的灵活性,还使得测试过程更加透明与高效。
|
5月前
|
XML 测试技术 数据格式
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(下)
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(下)
65 3
|
5月前
|
Java 测试技术 程序员
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(上)
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(上)
61 1
|
5月前
|
XML Java 测试技术
《手把手教你》系列技巧篇(六十七)-java+ selenium自动化测试 - 读写excel文件 - 中篇(详细教程)
【6月更文挑战第8天】本文介绍了Java中操作Excel的工具,包括POI和JXL。POI支持处理Office 2003及以下的OLE2格式(.xls)和2007以上的OOXML格式(.xlsx)。而JXL只能处理2003版本的Excel文件。文章详细讲解了如何下载和使用JXL库,并给出了一个简单的Java代码示例,展示如何读取2003版Excel文件中的数据。在实际项目中,由于JXL对新版本Excel的支持限制,通常推荐使用POI。
68 5
|
5月前
|
Java 测试技术 Apache
《手把手教你》系列技巧篇(六十八)-java+ selenium自动化测试 - 读写excel文件 - 下篇(详细教程)
【6月更文挑战第9天】本文介绍了如何使用Java处理Excel文件中的不同数据类型,包括日期、数字、布尔值和标签(常规字符串)。文章提供了两个示例,分别使用JXL库和Apache POI库来读取Excel文件。
48 1
|
5月前
|
Java 测试技术 Apache
《手把手教你》系列技巧篇(六十六)-java+ selenium自动化测试 - 读写excel文件 - 上篇(详细教程)
【6月更文挑战第7天】本文介绍了在Java自动化测试中如何操作Excel数据。文章提到了当测试数据存储在Excel文件时,可以使用Apache的POI库来读写Excel。POI提供了对OLE2(.xls)和OOXML(.xlsx)格式的支持,比JXL库功能更全面。文章还详细讲解了如何下载和添加POI库到项目中,以及准备测试用的Excel文件。最后,给出了一个简单的Java代码示例,演示如何读取Excel文件的内容。
56 1
|
6月前
|
前端开发 测试技术 C++
Python自动化测试面试:unittest、pytest与Selenium详解
【4月更文挑战第19天】本文聚焦Python自动化测试面试,重点讨论unittest、pytest和Selenium三大框架。unittest涉及断言、TestSuite和覆盖率报告;易错点包括测试代码冗余和异常处理。pytest涵盖fixtures、参数化测试和插件系统,要注意避免过度依赖unittest特性。Selenium的核心是WebDriver操作、等待策略和测试报告生成,强调智能等待和元素定位策略。掌握这些关键点将有助于提升面试表现。
376 0

热门文章

最新文章

下一篇
无影云桌面