zoukankan      html  css  js  c++  java
  • 自动化测试-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])
  • 相关阅读:
    java jar 后台运行
    【Objective-C】内存管理
    GitHub Gist 指南
    模板发送java邮件
    JDK环境配置
    新装mysql数据库登陆不上去(账号密码正确)
    一个简单的爬取b站up下所有视频的所有评论信息的爬虫
    hexo Nunjucks Errors 解决方法
    新版正方教务系统导出课程表-油猴脚本
    ACM-图论-同余最短路
  • 原文地址:https://www.cnblogs.com/cmnz/p/9082418.html
Copyright © 2011-2022 走看看