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

EXCEL表格内容为:

生成的测试报告如下:

最新文章

  1. DataGridView 在下拉框添加下来事件
  2. 查看linux [Fedora] 系统信息
  3. ArrayList Iterator remove java.lang.UnsupportedOperationException
  4. div+css知识点
  5. ./scripts/feeds update -a OpenWrt大招系列
  6. Jconsole: JAVA 监视和管理控制台简介
  7. BZOJ 1016: [JSOI2008]最小生成树计数( kruskal + dfs )
  8. PHP - 数学运算
  9. jsp的九大天王
  10. PHPCMS v9 实现首页,列表页,内容页调用点击量方法
  11. 转载: RAID详解[RAID0/RAID1/RAID10/RAID5]
  12. angular2 Http和websocket
  13. yum源配置的三种方法
  14. [Swift]LeetCode198. 打家劫舍 | House Robber
  15. 自适应电脑、手机和iPad的网页设计方法
  16. 性能测试二十三:环境部署之Redis安装和配置
  17. weblogic开启http访问日志并实时写入日志文件
  18. 微信小程序之授权 wx.authorize
  19. 【struts2】<s:url>标签
  20. [Pytorch]Pytorch中图像的基本操作(TenCrop)

热门文章

  1. Window及document对象
  2. ANR无法生成traces.txt文件
  3. python安装 错误 “User installations are disabled via policy on the machine”
  4. UE4 常用数学
  5. 实现简单的string类
  6. ai切片的完美解决方案
  7. jQuery基础事件处理
  8. Python爬虫之旅(一):小白也能懂的爬虫入门
  9. football Alternative form of foteball
  10. Glances - Linux上的实时系统监控工具(Centos安装)