python3 selenium web自动化测试之excel参数化
来源:互联网 发布:秩为1矩阵的几 编辑:程序博客网 时间:2024/06/15 23:05
简单来说,就是不把测试的数据(或者说用例的参数)直接写在代码里,而是写在excel中,代码从excel表格中读取出来,做到数据分离。简单举个例子,上代码:
#coding=utf-8from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.ui import WebDriverWaitimport timeimport xlrddef open_excel(file = 'login.xlsx'): try: data = xlrd.open_workbook(file) # 打开Excel文件读取数据 return data except Exception, e: print str(e)# 根据索引获取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的所以 ,by_index:表的索引def excel_table_byindex(file = 'login.xlsx',colnameindex=0,by_index=0): data = open_excel(file) table = data.sheets()[by_index] # 通过索引顺序获取获取一个工作表 nrows = table.nrows # 获取行数 colnames = table.row_values(colnameindex) # 获取某一行数据 list =[] for rownum in range(1, nrows): row = table.row_values(rownum) if row: app = {} for i in range(len(colnames)): app[colnames[i]] = row[i] list.append(app) return listdef Login(): listdata = excel_table_byindex("D:\\login.xlsx", 0) # listdata = excel_table_byindex("login.xlsx", 0) if(len(listdata) <= 0): assert 0, u"Excel数据异常" for i in range(1, len(listdata)): driver = webdriver.Firefox() driver.get("http://www.baidu.com") assert u"百度一下,你就知道" in driver.title # 点击登录按钮 driver.find_element_by_xpath(".//*[@id='u1']/a[7]").click() time.sleep(3) url = driver.current_window_handle driver.switch_to.window(url) time.sleep(3) driver.find_element_by_name("userName").clear() driver.find_element_by_name("userName").send_keys(listdata[i]['passname']) driver.find_element_by_name("password").clear() driver.find_element_by_name("password").send_keys(listdata[i]['password']) driver.find_element_by_name("memberPass").click() time.sleep(15) driver.find_element_by_id("TANGRAM__PSP_8__submit").click() # driver.find_element_by_id('passname').send_keys(listdata[i]['passname']) # driver.find_element_by_id('password').send_keys(listdata[i]['password']) # driver.find_element_by_xpath("//div[2]/div[2]/div/div[6]/input").click() time.sleep(5) try: elem = driver.find_element_by_id("kw") except NoSuchElementException: assert 0, u"登录失败,找不到右上角头像" driver.close()if __name__ == '__main__': Login()
表格中的数据为:
小编不保证你拷贝下来就能跑通过,因为环境有可能不一样。所以,请看明白后举一反三。谢谢您的浏览。
阅读全文
0 0
- python3 selenium web自动化测试之excel参数化
- python3+selenium,web自动化测试
- 自动化测试之Python + selenium = Web UI自动化测试
- 自动化测试之Python + selenium = Web UI自动化测试
- selenium 自动化web测试
- selenium自动化测试web
- selenium自动化测试中,采用jxl实现参数化(从Excel中读取数据)
- IronPython应用之Selenium(Web测试,AutoPyTest自动化测试)
- python3里使用selenium webdriver自动化测试
- Python3实现简单的selenium自动化测试
- Python3.4 + selenium + Firefox 自动化测试环境!
- 利用 Selenium 自动化 web 测试
- 利用 Selenium 自动化 web 测试
- 利用 Selenium 自动化 web 测试
- selenium web自动化测试工具
- Selenium+Python:Web自动化测试
- 自动化测试工具之 selenium
- 自动化测试工具selenium 之Selenium-IDE
- redis启动出错Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
- 【数据结构】对数运行时间算法(折半查找、最大公约、幂运算)
- Java中CAS详解,分析的通俗易懂
- hdu 4539 郑厂长系列故事——排兵布阵(状态压缩dp)
- BeanUtils 初探
- python3 selenium web自动化测试之excel参数化
- java经典面试题
- 【linux驱动分析】之dm9000驱动分析
- RHCE易忽视知识点补充
- Andrew Ng Neural-networks-deep-learning 课程笔记一
- 【memcache缓存专题(1)】memcache的介绍与应用场景
- 配置 gradle 当地目录。
- java服务器端图片转换webp以及批量转换webp脚本
- pat 乙级 1035. 插入与归并(25)