Python3.6+selenium2.53.6自动化测试_读取excel文件的方法

  • Post category:Python

下面是“Python3.6+selenium2.53.6自动化测试_读取excel文件的方法”的完整实例教程,包含两条示例说明。

一、背景和目标

Python作为一门流行的语言,在自动化测试中越来越受欢迎。其中,Selenium是一个经典的自动化测试框架,它可以在各种浏览器中模拟用户的行为,来测试Web应用程序。而Excel作为一个广泛使用的办公软件,其中包含了大量的测试数据,因此很多时候我们需要将Excel中的数据读取出来,应用到Python中。本文将介绍如何用Python3.6和Selenium2.53.6来自动化测试,并且同时实现读取Excel文件的方法。

二、准备工作

在开始之前,我们要安装Python3.6和Selenium2.53.6,这里就不再赘述。另外,我们需要安装一个Python的库xlrd,它可以很方便地读取Excel文件。

pip install xlrd

三、代码实现

1.读取Excel文件

在本文中,我们使用的是一个包含测试数据的Excel文件,其中包含了测试用例编号、测试数据、期望结果等信息。下面是读取Excel文件的代码示例:

import xlrd
def read_excel(path):
    data = xlrd.open_workbook(path)
    test_data = []
    table = data.sheets()[0]
    for i in range(1, table.nrows):
        test_data.append(table.row_values(i))
    return test_data

这个函数的作用是读取一个位于“path”路径下的Excel文件,将其中Sheet1中除第一行外的所有内容保存到一个二维列表中,并返回这个列表。函数中,我们使用了xlrd库来读取Excel文件,使用data.sheets()[0]来访问第一个Sheet中的内容,并使用for循环将除第一行外的数据保存到一个列表中。至此,我们已经成功地读取了Excel文件中的测试数据。

2.使用Selenium自动化测试

Selenium可以在浏览器中模拟用户的行为,在Web应用程序中进行自动化测试。下面展示了一个示例代码,来模拟用户在百度搜索框中输入关键字“Selenium”,并且点击搜索按钮的过程:

from selenium import webdriver
def baidu_search(keyword):
    driver = webdriver.Chrome()
    driver.get("http://www.baidu.com")
    elem = driver.find_element_by_name("wd")
    elem.send_keys(keyword)
    elem.submit()
    driver.close()

这个函数的作用是打开百度搜索页面,然后在搜索框中输入一个关键字,并且点击搜索按钮。首先需要调用webdriver.Chrome()函数来创建一个Chrome浏览器对象,然后使用driver.get()函数访问百度搜索页面。接下来,使用driver.find_element_by_name()函数找到名为“wd”的搜索框,并使用elem.send_keys()函数输入关键字。最后,调用elem.submit()函数点击搜索按钮,完成搜索过程。最后别忘了使用driver.close()关闭浏览器对象,释放资源。

四、应用示例

下面展示了如何结合Excel和Selenium来进行自动化测试。本示例中,我们将读取Excel文件中的测试数据,然后使用Selenium来进行测试,并且将测试结果保存到Excel文件中。

def test_case(test_data):
    testcase_id = test_data[0]
    search_keyword = test_data[1]
    expected_result = test_data[2]
    print("Test Case ID:"+testcase_id+" Executing...")
    baidu_search(search_keyword)
    if expected_result in driver.title:
        print("Test Case ID:"+testcase_id+" Passed!")
        return "Passed!"
    else:
        print("Test Case ID:"+testcase_id+" Failed!")
        return "Failed!"
def run_test(path):
    data = read_excel(path)
    for i in range(0,len(data)):
        result = test_case(data[i])
        data[i].append(result)
    return data

在这个函数中,我们首先调用了read_excel()函数来读取测试数据。然后,使用for循环依次读取每一行测试数据,并调用test_case()函数执行各项测试。在test_case()函数中,我们首先读取测试用例编号、搜索关键字和期望结果,并输出“Test Case ID: xx Executing…”提示信息。接下来,我们调用baidu_search()函数在百度中搜索关键字,并且判断是否符合期望结果。符合期望结果则输出“Test Case ID: xx Passed!”信息,否则输出“Test Case ID: xx Failed!”信息。最后,将测试结果写入Excel文件中,并返回测试结果。

五、总结

通过本文,我们了解了如何在Python3.6和Selenium2.53.6中读取Excel文件,并且使用Selenium进行自动化测试。同时,我们还通过一个示例了解了如何将两者结合起来,使用Excel中的测试数据进行自动化测试,并且将测试结果保存到Excel文件中。

注:本文仅作为参考教程,如果您有更好的方法或意见,请指出。