• 【原创】python+selenium,用xlrd,读取excel数据,执行测试用例


     1 # -*- coding: utf-8 -*-
     2 import unittest
     3 import time
     4 from selenium import webdriver
     5 import xlrd,xlwt
     6 import HTMLTestRunner
     7 from openpyxl import load_workbook
     8 class mylogintest(unittest.TestCase):#定义一个mylogintest类继承unittest.TestCase类
     9     '''打开百度测试'''
    10     # @classmethod
    11     # def tearDownClass(cls):#用例执行后的初始化工作
    12     #      print('结束测试')
    13 
    14     def setUp(self):#用例执行前的初始化工作
    15         print("开始测试")
    16         self.driver = webdriver.Firefox()
    17 
    18     def tearDown(self):#用例执行后的初始化工作
    19         print("结束测试")
    20         self.driver.quit()
    21 
    22     def testopenBD(self):
    23         '''打开百度'''
    24         book = xlrd.open_workbook("mylogintest.xlsx")  # 新建文件对象
    25         sheet = book.sheet_by_name("Sheet1")  # 获取文件对象中sheet名为login的sheet对象
    26         #     # # url1 = sheet.cell(1, 0).value 获取第2行第1列的值
    27         #     # # url2 = sheet.cell(1, 1).value获取第2行第2列的值
    28         nrows = sheet.nrows  # 获取总行数
    29         urllist = []
    30         for i in range(1, nrows):
    31             print(i)
    32             nrowsvalue = sheet.row_values(i, 0)#获取第i+1行 第1列的值
    33             urllist.append(nrowsvalue)  # 这里添加元素不能用list = list.append(nrowsvalue);否则会出现nonetype的错误;
    34             print(urllist)
    35         driver = self.driver
    36         for i in range(len(urllist)):  # 获取list长度;range表示默认0开始的整数迭代
    37             print(urllist[i])
    38             driver.get(''.join(urllist[i]))#将list类型转换成字符串类型
    39             print(driver.title)
    40             self.assertEqual(driver.title,'百度一下,你就知道','失败')#添加断言;当driver.title的值为‘百度一下,你就知道’时,断言通过,否则不通过,程序将会终断
    41             time.sleep(3)
    42 
    43     # @classmethod
    44     # def setUpClass(cls):##用例执行前的初始化工作
    45     #     print('开始测试')
    46     
    47 if __name__=='__main__':
    48     filename = './'+'mylogintestresult.html'#定义文件名与路径
    49     fp = open(filename,'wb')#生成文件
    50     ut = unittest.TestSuite()  # 创建测试套件;TestSuite不加括号的结果:addTest() missing 1 required positional argument: 'test'
    51     ut.addTest(mylogintest('testopenBD'))#将要执行的用例加入测试套件中
    52     runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='分别打开百度51网站',description='百度51') #如果引用的是from HTMLTestRunner import HTMLTestRunner,这里就不需要写两个HTMLTestRunner,一个就够了
    53     runner.run(ut)#运行测试套件
    54     fp.close()

    EXCEL表格内容为:

    生成的测试报告如下:

  • 相关阅读:
    Haproxy 配置项及配置实例-Haproxy入门教程
    Spring Boot 配置-Spring Boot教程深入浅出系列
    RMI 接口和类概述-RMI快速入门教程
    分布式和非分布式模型对比-RMI快速入门教程
    RMI分布式对象模型-RMI快速入门教程
    RMI介绍-RMI快速入门教程
    Qt编写可视化大屏电子看板系统17-柱状堆积图
    Qt开发经验小技巧161-165
    Qt编写安防视频监控系统60-子模块4云台控制
    MyBatis的关联映射,resultMap元素之collection子元素,实现一对多关联关系(节选自:Java EE企业级应用开发教程)
  • 原文地址:https://www.cnblogs.com/lelexiong/p/8990112.html
Copyright © 2020-2023  润新知