建两个.py文件分别是是读取xlsx文件内容,一个是测试用例使用ddt驱动

  • 获取xlsx文件内容
import xlrd

class ParseExcel(object):
def __init__(self,path,sheelName):
self.wa = xlrd.open_workbook(path)
self.sheet = self.wa.sheet_by_name(sheelName)
self.max = self.sheet.nrows def getDatasFromSheet(self):
dataList = []
list = 0
for list in range(1,self.max):
print(self.sheet.row_values(list))
lin = self.sheet.row_values(list)
print(lin[1])
tmpList = []
tmpList.append(lin[1])
tmpList.append(lin[2])
dataList.append(tmpList)
return dataList
  • 自动化测试用例
import ddt
from selenium import webdriver
import unittest
from Extel import ParseExcel
import time
from selenium.common.exceptions import NoSuchElementException path = "D:\\测试数据.xlsx"
sheelName = "Sheet1"
excel = ParseExcel(path,sheelName) @ddt.ddt
class TestDemo(unittest.TestCase):
def setUp(self):
self.deriver = webdriver.Chrome() @ddt.data(*excel.getDatasFromSheet())
def test_dataDrivenByFile(self,data):
TestData,expectData = tuple(data)
url = "http://www.baidu.com"
self.deriver.get(url)
self.deriver.maximize_window()
print(TestData,expectData)
self.deriver.implicitly_wait(10) try:
self.deriver.find_element_by_id("kw").send_keys(TestData)
print('执行了')
self.deriver.find_element_by_id("su").click()
time.sleep(3)
print('执行了')
source = self.deriver.page_source
self.assertTrue(expectData in source)
except NoSuchElementException:
print("查找页面元素不存在")
except AssertionError:
print(u"搜索%s期望%s,失败" % (TestData, expectData))
except Exception:
print('报错')
else:
print(u"搜索%s期望%s,通过"%(TestData,expectData)) def tearDown(self):
self.deriver.quit() if __name__ == "__main__":
unittest.main()

表格内容

后期可以接入logging打印日志

DDT驱动selenium自动化测试的更多相关文章

  1. 《手把手教你》系列基础篇(七十五)-java+ selenium自动化测试-框架设计基础-TestNG实现DDT - 中篇(详解教程)

    1.简介 上一篇中介绍了DataProvider如何传递参数,以及和一些其他方法结合传递参数,今天宏哥接着把剩下的一些常用的也做一下简单的介绍和分享. 2.项目实战1 @DataProvider + ...

  2. 《手把手教你》系列基础篇(七十六)-java+ selenium自动化测试-框架设计基础-TestNG实现DDT - 下篇(详解教程)

    1.简介 今天这一篇宏哥主要是结合实际工作中将遇到的测试场景和前边两篇学习的知识结合起来给大家讲解和分享一下,希望以后大家在以后遇到其他的测试场景也可以将自己的所学的知识应用到测试场景中. 2.测试场 ...

  3. JavaScript(Node.js)+ Selenium自动化测试

    Selenium is a browser automation library. Most often used for testing web-applications, Selenium may ...

  4. selenium自动化测试学习(一)

    在学习selenium自动化测试前,我们需要先了解一点自动化测试的相关知识. (一)什么是自动化测试 (二)为什么要做自动化测试 (三)自动化测试优缺点 (1)什么是自动化测试 自动化测试是把以人为驱 ...

  5. Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通

    Selenium自动化测试,接口自动化测试开发,性能测试从入门到精通Selenium接口性能自动化测试基础部分:分层自动化思想Slenium介绍Selenium1.0/2.0/3.0Slenium R ...

  6. Selenium自动化测试框架入门整理

    ​​关注嘉为科技,获取运维新知 本文主要针对Selenium自动化测试框架入门整理,只涉及总体功能及框架要点介绍说明,以及使用前提技术基础要求整理说明.作为开发人员.测试人员入门参考. 本文参考:Se ...

  7. Selenium自动化测试Python五:WebDriver设计模式

    WebDriver 设计模式 欢迎阅读WebDriver进阶讲义.本篇讲义将会重点介绍Selenium WebDriver 自动化框架的设计,着重使用Page Object设计模式,以及使用HTML测 ...

  8. Selenium自动化测试Python一:Selenium入门

    Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识. 自动化测试的基础 在Selenium的课程以前,我们先回顾一下软件 ...

  9. Python3 Selenium自动化测试赋值出现:WebDriverException: Message: unknown error: call function result missing 'value'

    Python3 Selenium自动化测试赋值出现:WebDriverException: Message: unknown error: call function result missing ' ...

随机推荐

  1. 启动django时报错Watching for file changes with StatReloader(使用状态加载程序监视文件更改 )

    原因:可能是Django版本和Python版本或者PyMysql版本不一致 解决:升级或者降级Django版本 命令如下: pip install django==2.1.7 #django==版本号 ...

  2. xgboost 非官方每天编译

    xgboost  http://ssl.picnet.com.au/xgboost/ 非官方每天编译

  3. Oracle篇 之 数据操作

    一.DML 数据操作语言(Data Manipulation Language) 1.insert insert into student values(1,'briup1',20,'Male'); ...

  4. 【pytorch】关于Embedding和GRU、LSTM的使用详解

    1. Embedding的使用 pytorch中实现了Embedding,下面是关于Embedding的使用. torch.nn包下的Embedding,作为训练的一层,随模型训练得到适合的词向量. ...

  5. tornado之用户验证装饰器

    authenticated装饰器 为了使用Tornado的认证功能,我们需要对登录用户标记具体的处理函数.我们可以使用@tornado.web.authenticated装饰器完成它.当我们使用这个装 ...

  6. java网页爬数据获取class中的空格

    <ul class=""> <li class="avatar_img"><img src="http://avatar ...

  7. Apache POI 示例

    Apache POI 3.17 Javadocs 用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office(Excel.WO ...

  8. luoguP3598 Koishi Loves Number Theory

    题目 题解 等比数列,最后统一除以(x-1)(这里数据都存在逆元....) (不存在逆元可以考虑表示成:x*p^y的pair形式,最后上下把p的次数相减(类似扩展Lucas)) 求:lcm(x^(ai ...

  9. anacodna/python 安装 tensorflow

    study from : https://www.cnblogs.com/HongjianChen/p/8385547.html 执行1-6 7 安装jupyter 每次使用tensorflow,都要 ...

  10. plsql 永久注册码适用个版本

    注册码:Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqzserial Number:601769 password:xs374ca