selenium python自动化测试 ddt数据驱动

安装ddt  pip install ddt

直接上代码:

 1 # coding:utf-8
 2 import ddt
 3 import time
 4 import excelunit
 5 import unittest
 6 from selenium import webdriver
 7
 8 # 测试数据
 9 data = excelunit.ExcelUtil("test.xlsx", "sheet1")
10 testData = data.dict_data()
11 print testData
12
13
14 @ddt.ddt
15 class Bolg(unittest.TestCase):
16     """登录博客"""
17     def setUp(self):
18         self.driver = webdriver.Firefox()
19         url = "https://passport.cnblogs.com/user/signin"
20         self.driver.get(url)
21         self.driver.implicitly_wait(10)
22
23     def login(self, username, psw):
24         """登录方法,账号和密码参数化"""
25         self.driver.find_element_by_id("input1").send_keys(username)
26         self.driver.find_element_by_id("input2").send_keys(psw)
27         self.driver.find_element_by_id("signin").click()
28         time.sleep(3)
29
30     def is_login_sucess(self):
31         """判断是否获取到登录账户名称"""
32         try:
33             text = self.driver.find_element_by_id("lnk_current_user").text
34             print text
35             return True
36         except:
37             return False
38
39     @ddt.data(*testData)
40     def test_login(self, data):
41         """登录案例"""
42         print ("当前测试数据%s" % data)
43         # 调用登录方法
44         self.login(data["username"], data["password"])
45         # 判断结果
46         result = self.is_login_sucess()
47         self.assertTrue(result)
48
49     def tearDown(self):
50         self.driver.quit()
51
52
53 if __name__ == "__main__":
54     unittest.main()
时间: 2024-08-27 04:48:37

selenium python自动化测试 ddt数据驱动的相关文章

selenium+python自动化测试--数据驱动

之前selenium+python自动化测试--登录  中,几个账号和密码登录就要写几个用例,感觉很麻烦~,所以下面介绍一下用数据驱动实现不同用例的登录. 话不多说,直接贴代码~~ 文件名称:test_ddtlogin.py import ddt import unittest from selenium import webdriver from common.base import Base testdata = [ {'user':'','psw':'','exp':'请输入手机号码'},

selenium+python自动化测试--读取excel数据

1.excel中数据(注意:数据是纯数字时,要将其设置成文本) 2.读取excel文件函数封装 文件名称:read_excel.py import xlrd class ReadExcel(): def __init__(self, excelPath, sheetName="Sheet1"): self.data = xlrd.open_workbook(excelPath) self.table = self.data.sheet_by_name(sheetName) # 获取第一

selenium + python自动化测试unittest框架学习(二)

1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py >test_case >__init__.py >test_case1..... >public >__init__.py >login.py >loginout.py test_case文件夹主要存放测试用例,且测试用例命名以test_开头 public文件夹是test

selenium + python自动化测试unittest框架学习(五)webdriver的二次封装

因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的<selenium +  python自动化测试>一书. 在与测试用例文件夹同一目录下新建一个文件夹package,用来放置封装方法的模块文件 我们将webdriver二次封装的文件命名为location.py from selenium import webdriver from test_case.pub

selenium+python自动化测试

F12: 右键   选择复制  path 在selenium+python自动化测试(一)–环境搭建中,运行了一个测试脚本,脚本内容如下: from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.baidu.com") print(driver.title) driver.find_element_by_id("kw").send_ke

selenium + python自动化测试环境搭建

selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点: *  免费,也不用再为破解QTP而大伤脑筋 *  小巧,对于不同的语言它只是一个包而已,而QTP需要下载安装1个多G 的程序. *  这也是最重要的一点,不管你以前更熟悉C. java.ruby.python.或都是C# ,你都可以通过selenium完成自动化测试,而QTP只支持VBS *  支持多平台:windows.linux.MAC ,支持多浏览器:ie.f

Selenium + Python 自动化测试框架搭建

这段时间在自学Python,主要是想接触自动化测试,在一番摸索下,觉得用selenium+python的自动化测试框架来开展自动化测试,第一步自然是要先搭建好环境.在网上搜了不少帖子,加上自己的摸索,做了一些记录,希望能够帮助到需要的小伙伴.具体步骤如下: Step1.安装python3.6.1 官网网址为https://www.python.org/downloads/windows/ (我不喜欢把软件装在C盘,影响内存,所以选择安装在D盘) 安装的时候选择的是自定义安装,勾选一下加入环境变量

Python(一)|selenium + python自动化测试环境搭建

selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多优点: *  免费,也不用再为破解QTP而大伤脑筋 *  小巧,对于不同的语言它只是一个包而已,而QTP需要下载安装1个多G 的程序. *  这也是最重要的一点,不管你以前更熟悉C. java.ruby.python.或都是C# ,你都可以通过selenium完成自动化测试,而QTP只支持VBS *  支持多平台:windows.linux.MAC ,支持多浏览器:ie.f

selenium + python自动化测试unittest框架学习(一)selenium原理及应用

unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻.unittest框架学习需要掌握以下知识点: (1)Selenium原理及工具使用 (2)webdriver元素定位,id,name,class name,css seletor,xpath (3)python语言基础,模块,参数化,语言,装饰器 (4)unittest框架认识及学习:模块化,断言,参数化,数