python自动化测试之如何解析excel文件

为了更好地讲解“python自动化测试之如何解析excel文件”的实例教程,我们将分为以下几个步骤进行:

1.准备Excel测试数据文件

首先我们需要准备一个测试数据文件,这里我们可以使用Excel来存储我们的测试数据。使用Excel存储数据有很多好处,比如数据可以被格式化整齐,而且可以直观地查看数据,方便日后测试人员进行修改、维护和管理。在这个教程中,我们将使用一个测试数据文件test.xlsx。测试数据文件的内容如下:

username password
user1 pwd1
user2 pwd2
user3 pwd3

上述表格中,我们可以看到我们模拟了3个测试用户的账号和密码数据。

2.使用Python读取Excel测试数据文件

我们可以使用openpyxl第三方库实现对Excel文件的读取和解析。使用openpyxl读取Excel文件非常方便,我们使用下面的Python代码块来读取我们的Excel测试数据文件:

import openpyxl

# 打开测试数据文件
workbook = openpyxl.load_workbook('test.xlsx')

# 选择测试的工作表
sheet = workbook.active

# 定义变量来存储解析后的测试数据
test_data = []

# 遍历测试数据行数,从第2行开始,第1行是表格头
for row in range(2, sheet.max_row + 1):
    # 定义一个测试用例
    data = {}
    # 解析测试用例参数
    data['username'] = sheet.cell(row=row, column=1).value
    data['password'] = sheet.cell(row=row, column=2).value
    # 将解析后的测试用例添加到测试数据列表中
    test_data.append(data)

# 打印解析后的测试数据
print(test_data)

上面的代码块实现了对Excel测试数据文件的解析。代码逐行解释如下:

  • import openpyxl:导入openpyxl

  • workbook = openpyxl.load_workbook('test.xlsx'):打开测试数据文件test.xlsx,获取工作簿对象

  • sheet = workbook.active:选择活动工作表(第一个工作表)

  • test_data = []:定义一个空的列表,用于存储解析后的测试数据

  • for row in range(2, sheet.max_row + 1)::从第2行开始遍历测试数据,因为第一行是表格头

  • data = {}:定义一个空的字典,用于存储解析后的单个测试用例数据

  • data['username'] = sheet.cell(row=row, column=1).value:读取单元格的行列信息,并将数据存储到字典中

  • data['password'] = sheet.cell(row=row, column=2).value:同上

  • test_data.append(data):将字典对象存储到测试数据列表中

  • print(test_data):打印解析后的测试数据

运行上面的程序,我们可以得到以下结果:

[{'username': 'user1', 'password': 'pwd1'},
 {'username': 'user2', 'password': 'pwd2'},
 {'username': 'user3', 'password': 'pwd3'}]

上面的输出结果就是我们解析后的测试数据。可以看出,我们成功地从Excel测试数据文件中读取了数据。

3.使用读取到的测试数据执行自动化测试

我们使用Python的selenium模块来执行一个简单的自动化测试,测试我们解析到的3个账号和密码是否都能够成功登录一个网站。

from selenium import webdriver

# 定义测试网站URL和登录表单信息
url = 'http://localhost:8080/login'
login_form = {
    'username': '//input[@name="username"]',
    'password': '//input[@name="password"]',
    'submit': '//button[@type="submit"]'
}

# 定义函数,用来执行自动化测试
def test_login(username, password):
    # 启动Chrome浏览器
    driver = webdriver.Chrome()
    try:
        # 打开待测试网站
        driver.get(url)
        # 输入账号密码并提交
        driver.find_element_by_xpath(login_form['username']).send_keys(username)
        driver.find_element_by_xpath(login_form['password']).send_keys(password)
        driver.find_element_by_xpath(login_form['submit']).click()
        # 判断是否登录成功
        assert '登录成功' in driver.page_source
    finally:
        # 关闭浏览器
        driver.quit()

# 遍历解析后的测试数据,分别进行自动化测试
for data in test_data:
    test_login(data['username'], data['password'])

上述代码块实现了使用自动化测试工具selenium自动登录一个网站,使用Excel中解析到的数据循环进行自动化测试,并判断测试用例是否执行成功。

运行上面的程序,我们可以在控制台看到如下输出结果:

```
[SELENIUM LOGS TO IGNORE]
[SELENIUM LOGS TO IGNORE]
[SELENIUM LOGS TO IGNORE]
[SELENIUM LOGS TO IGNORE]
[SELENIUM LOGS TO IGNORE]
[SELENIUM LOGS TO IGNORE]
[SELENIUM LOGS TO IGNORE]
[SELENIUM LOGS TO IGNORE]
[SELENIUM LOGS TO IGNORE]


AssertionError Traceback (most recent call last)
in
29 # 遍历解析后的测试数据,分别进行自动化测试
30 for data in test_data:
---> 31 test_login(data['username'], data['password'])

in test_login(username, password)
18 driver.find_element_by_xpath(login_form['submit']).click()
19 # 判断是否登录成功
---> 20 assert '登录成功' in driver.page_source
21 finally:
22 # 关闭浏览器

AssertionError:

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python自动化测试之如何解析excel文件 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python爬虫图片懒加载技术 selenium和PhantomJS解析

    Python爬虫图片懒加载技术 selenium和PhantomJS解析 本文将介绍如何利用Python爬虫对使用懒加载技术的网页上的图片进行爬取。在这里我将使用selenium和PhantomJS解析器作为我们工具。其中selenium是一个流行的Web自动化测试框架,可以模拟用户在浏览器上的各种操作,而PhantomJS是一个无界面的,基于WebKit的…

    python 2023年5月14日
    00
  • 如何在Python中执行SQL查询语句?

    以下是如何在Python中执行SQL查询语句的完整使用攻略,包括连接数据库、执行查询操作等步骤。同时,提供了两个示例以便更好理解如何在中执行SQL查询语句。 步骤1:导入模块 在Python中,需要导入相应的模块连接数据库执行查询操作。是导入mysql-connector-python模块的基本语法: import mysql.connector 以下是导入…

    python 2023年5月12日
    00
  • 新年快乐! python实现绚烂的烟花绽放效果

    “新年快乐!Python 实现绚烂的烟花绽放效果”是一篇利用Python编程语言编写的烟花绽放效果生成的教程。本文将为大家提供完整的攻略,包含以下步骤: 1. 准备工作 在开始编写 Python 代码之前,需要准备一些工作。 安装 Python 首先,需要安装 Python 编程语言。官网(https://www.python.org/downloads/)…

    python 2023年5月23日
    00
  • Python爬虫之正则表达式的使用教程详解

    Python爬虫之正则表达式的使用教程详解 正则表达式是一种强大的文本处理工具,可以用于各种文本处理任务,如数据清洗、文本分析、信息提取等。在Python爬虫中,正则表达式也是一种常用的工具,可以用于从网页中提取所需的信息。本攻略将详细讲解Python爬虫中正则表达式的使用,包括正则表达式的基本语法、常用的正则表达式模式、如何使用正则表达式提取网页中的信息等…

    python 2023年5月14日
    00
  • Linux服务器网卡流量查看方法 shell和Python各一枚

    Linux服务器网卡流量查看方法 shell和Python各一枚 在Linux服务器上,我们经常会需要查看网卡的流量情况,以便了解网络带宽的使用情况和网络环境的波动情况。下面分别介绍使用shell脚本和Python脚本来查看网卡流量的方法。 使用Shell脚本查看网卡流量 在Linux系统中,我们可以通过/proc/net/dev文件来查看网卡的流量情况。我…

    python 2023年6月3日
    00
  • Python3 A*寻路算法实现方式

    Python3 A*寻路算法实现方式 A寻路算法是一种常用的路径规划算法,它可以用于游戏开发机器人导航等领域。在本文中,我们将详细介绍Python3中如何实现A路算法,并提供两个示例,以说明如何使用Python3实现A*寻路算法。 A*寻路算法的实现 Python3中,我们可以使用heapq库来实现A寻路算法。下面是一个使用heapq库实现A寻路算法示例: …

    python 2023年5月14日
    00
  • 微信跳一跳python代码实现

    下面是详细讲解“微信跳一跳Python代码实现”的完整攻略。 简介 “微信跳一跳” 是一款由腾讯推出的小程序游戏,用手指按住屏幕弹跳到下一级并收集积分。 本攻略将介绍如何使用 Python 代码实现自动跳一跳。 准备工作 在开始编写代码之前,需要先做好以下准备工作: 安卓模拟器 ADB 工具 Python 3.x 环境 相关 Python 库 实现步骤 步骤…

    python 2023年6月3日
    00
  • 如何在Excel工作表的一个单元格中应用多个数据验证

    以下是“如何在Excel工作表的一个单元格中应用多个数据验证”的完整攻略,包含两个示例说明。 如何在Excel工作表的一个单元格中应用多个数据验证 在Excel中,可以使用数据验证功能来限制用户在单元格中输入的数据类型和范围。如果需要在一个单元格中应用多个数据验证,可以使用自定义数据验证功能。下面是具体的步骤: 步骤一:打开Excel电子表格 首先需要打开E…

    云计算 2023年5月10日
    00
合作推广
合作推广
分享本页
返回顶部