自动化测试-16.selenium数据的分离之Excel的使用

前言

  在自动化测试中,单纯写得测试脚本,数据往往是写死的,这样会给程序的可扩展性降低,以及成本的增加,将程序和数据进行剥离有利于提高代码的执行效率,提升工作量,因此将数据写入到Excel文件中,前置条件已在本地搭建BugFree,若没有搭建可参考BugFree本地搭建。

  下列代码实现创建Excel文件的数据,和从Excel中读取数据,并将数据传值给脚本:

 1 #encoding=utf-8
 2 
 3 from selenium import webdriver
 4 
 5 import xlsxwriter #往Excel表格写数据 安装cmd输入: pip install XlsxWriter,前置条件已安装pip
 6 
 7 import xlrd,os # xlrd模块用于读EXCEL文档数据,安装xlrd在cmd中输入pip install xlrd,前置条件已安装pip
 8 
 9 # 新建Excel表格
10 def write_content():
11     # 新建Excel表格
12     xl = xlsxwriter.Workbook(os.getcwd()+'\\testData\\testResult.xlsx') # 新建Excel表格,注意需要在当前目录下新建testData文件夹
13     table = xl.add_worksheet('result') # 新建一个名为result的页签
14     # 设置格式:行高、列宽、底色、字号等格式
15     blue = xl.add_format({'font_name': 'Arial', 'font_size': 10,'color': 'blue'})
16     red  = xl.add_format({'font_name': 'Arial', 'font_size': 10,'color': 'red'})
17     # 设置第一行的行高为30
18     table.set_row(0,15)
19     # 设置第1列到第3列的列宽为50
20     table.set_column(0,2,50)
21     # 写数据
22     table.write_string(0,0,'url',blue)
23     table.write_string(0,1,u'用户名',blue) # 往第一行第一列写入字符串数据
24     table.write_string(0,2,u'密码',red)
25     table.write_string(1,0,u'http://localhost/index.php/site/login',blue) # 往第二行第一列写入数字,本地搭建的bugfree地址
26     table.write_string(1,1,'admin',blue)
27     table.write_string(1,2,'123456',red)
28     # 关闭Excel表格
29     xl.close()
30 
31 # 读取数据
32 def read_content():
33     # 一下脚本实现bugfree登录,测试数据从Excel读取
34     data = xlrd.open_workbook(os.getcwd()+'\\testData\\testResult.xlsx')
35     tableGet = data.sheet_by_name('result')
36     testData = tableGet.row_values(1) #读取第二行数据
37     url,username,password = testData[0],testData[1],testData[2]
38     print url,username,password
39     return url,username,password
40 
41 # 定义测试脚本
42 def bugFreeLogin(driver,url,username,password):
43     driver.get(url)
44     driver.find_element_by_id('LoginForm_username').send_keys(username)
45     driver.find_element_by_id('LoginForm_password').send_keys(password)
46     driver.find_element_by_id('SubmitLoginBTN').click()
47 
48 # 启动脚本
49 if __name__ == '__main__':
50     # 数据的写入
51     write_content()
52     # 数据的读取
53     tup_result = read_content()
54     # 启动脚本去执行
55     driver = webdriver.Firefox()
56     bugFreeLogin(driver,tup_result[0],tup_result[1],tup_result[2])

 

posted @ 2018-05-24 13:24  JustLittle  阅读(1088)  评论(0编辑  收藏  举报