虽然我也是一个没有毅力,更没有学习精神的人,但为可以提升测试效率,也是强忍的学习python。

也在网上查过很多资料,总的来说,用python做web自动化是最普遍,也兼容性最好的,我个人认为也是最容易学的

话不多说,直接进入主题

自动化测试去调用xls文件的数据是为了让自动化脚本更灵活更能提高工作效率

我们要知道一些python对xls文件的操作,其实我测试的话只用到了xlrd第三方库中一小部分的方法(因为我就是那种不到非用不可以的情况就不会去学无关知识的)

只要知道如何打开xls文件-如何提取文件中的数据就可以了

首先我们要调用第三方库import xlrd

“打开文件”操作可以调用这个方法,如下图所示

里面的注释已经足够解释清楚哈!我也是参考了Python 对 Excel 操作用法详解 - 长安镖局 - 博客园

更多的excel文件的操作方法里面也用哦!

那接下来就是取出文件中的数据了

#导入 xlrd 第三方库
import xlrd#打开xls文件地址,定了一个xls_file的对象,小r是转义“\”为“/”
xls_file = (r"E:\PycharmProjects\python自动化测试\资源文件\username.xls")#打开xls文件
data = xlrd.open_workbook(xls_file)#打开xls文件标签页的方法
table1 = data.sheets()[0]  #通过索引顺序获取
table2 = data.sheet_by_index(0) #通过索引顺序获取table=data.sheet_by_name(u'Sheet1') #通过名称获取,之所以加个小u是因为怕出现乱码#获取行的数目,就是有多少行
rows = table.row_values(0) #参数为0,标识第一列有多少行#直接获取单用格的数据
cell_A1 = table.cell_value(0,0)#左边参数为行数,右边为列数,记住了哈

红框中就是取出文件单元格中的数据的方法,注释中已经解释清楚了哈,不懂可以再百度哈!

这些方法调用的原理我也不太清楚,因为源码我也看不懂哈!
注意:如果xls文件是直接通过修改文件后缀名得到的会报错,文件类型不支持

最后我就可以通过函数、循环等操作手段将整个调用xls文件中的数据进行自动化测试的流程

(新手哈!对面向对象的编程也在学习中哈!只能用一些简单的逻辑函数进行自动化操作)

cell_A = [] #定义第一个列表空列表
cell_B = []#定义第二个列表空列表
#定义一个函数,将第一列的数据输出在一个cell_A的列表中
def username():for a in range(1,(table.nrows)):#foe循环,1到第一列的行数目cell_A1 = table.cell_value(a, 0) #生成cell_A1的单元格中第一列的内容cell_A.append(cell_A1) #将每次循环好的单元格数据一个一个加到cell_A的列表中return cell_A #函数结果返回一个cell_A的列表#这个函数,将第二列的数据输出在一个cell_B的列表中
def userword():for a in range(1,(table.nrows)):cell_B2 = table.cell_value(a,1)cell_B.append(cell_B2)return cell_B#将得到的数据列表在web点击输入的时候循环使用两个列表中的函数
for i in range(0, (table.nrows)-1):#循环0到行数减一,因为列表切片中获取数据是要与相对位置数目要小1的driver.find_element_by_id("loginName").send_keys(username()[i]) #点击用户名输入框,输入第一列中的单元格数据driver.find_element_by_id("passWord").send_keys(userword()[i]) #点击密码输入框,输入第二列中的单元格数据time.sleep(1)  #设置一个等待时间driver.find_element_by_name("loginNow").click() #点击登录

以上就是我个人的一些分享,写代码的过程中,我也有很多细节的地方没有考虑到位,比如说用户登录成功的情况,是不是就会打断程序的执行,如果xls单元格为空值的情况,登录失败要打印日志和测试记录,这些地方都没有做考虑(其实因为我是一个菜狗,一下子无法掌握那么多知识)

还有就是面向对象的编程才会让代码更加灵活变通,更新迭代自动化脚本比较方便,我还没有掌握到位

后面我也会继续跟进的

pycharm自动化测试-调用xls文件数据相关推荐

  1. PyCharm+Python3转换xls文件为xlsx文件格式

    import os import os.path import win32com.client as win32""" ========================= ...

  2. 读取EXCEL文件数据,再调用第三方接口,将第三方数据重新写入到EXCEL文件

    读取EXCEL文件数据,再调用第三方接口,将第三方数据重新写入到EXCEL文件 工作中涉及很多提供文档数据,少则几条,多则上万,少的可以自己编辑一个,静态final来自己定义,一旦数太多得话,就得使用 ...

  3. python 读取excel格式xml,读取xml格式的xls文件、解析其中数据

    1.python 读取excel格式xml,解析其中数据 当excel文件的格式是xml的时候,window系统是可以正常打开的,但是使用pandas直接读取则会报错,原因就是现在已经是xml文件了, ...

  4. 爬取豆瓣音乐TOP250数据保存到csv文件和xls文件

    爬取的目标网址:https://music.douban.com/top250 利用lxml库,获取前10页的信息,需要爬取的信息包括歌曲名.表演者.流派.发行时间.评分和评论人数,把这些信息存到cs ...

  5. 客户端如何通过咏南中间件调用存储过程和数据分页查询和文件传输的演示

    客户端如何通过咏南中间件调用存储过程和数据分页查询和文件传输的演示 演示使用MSSQL 2000的存储过程,其它类型的数据库的存储过程的语法是有所不同的. 1)MSSQL2000通用数据分页存储过程, ...

  6. python写入mysql数据库_python调用http接口,数据写入mysql数据库并下载录音文件

    写个脚本一共完成了三件事: 第一,python调用http接口, 第二,把调用到的数据写入mysql数据库, 第三,python调用wsdl接口,获取录音文件, import time import ...

  7. python数据存储系列教程——xls文件的读写、追加(xlwt、xlwt、xlutils)

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python将数据存储到excel文件.本文不通过与操作excel办公软件而是偏向于excel文件的处理.如果你需要通过python控制exc ...

  8. Qt 读写xls文件(并将数据转为c风格

    参考文章:读写XLS文件 找了好久xls的读取库啥的,就这个比较好用.解决了出现的几个问题,并进一步封装. 定义的类 pro文件中加入 CONFIG += qaxcontainer QtExcel// ...

  9. 使用python操作excel的xls文件和xlsx文件之间的批量导出和填充数据

    引言 我前面的博客基本上已经把python批量操作excel的方法说了个八成.但是,今天突然又发现一个问题,于是在此继续记录我遇到的这个问题,以供以后的工作借鉴,同时也与各位网友共享.这个问题就是:有 ...

最新文章

  1. 兑换量子计算机,阅读 | 【量子计算机】构造置换量子门
  2. 最短路径算法 Floyd-傻子也能看懂的弗洛伊德算法(转)
  3. 真正的 AI 内行盛会!智源大会带你刷新“世界第一”记录!
  4. 如何实现手机自动适应网页
  5. modulenotfounderror: no module 或modulenotfounderror: no module named 'matplotlib._path' 原因详解及解决办法
  6. java中遍历map的几种方法介绍
  7. markdown分享
  8. linux 内核线程与普通进程的区别
  9. 如何通俗地理解 Gradle?
  10. IE 8 开发人员工具详解 【转载】
  11. hadoop中map和reduce的数量设置问题
  12. 业务逻辑?到底是什么
  13. GB28181-2016系统相关技术介绍
  14. IIS与ASP.NET Http Runtime Pipeline
  15. Redis commands 官方
  16. Telerik UI for Xamarin使用教程 - AndroidX使用指南
  17. ffmpeg java 使用教程_Java使用ffmpeg
  18. 怎么用python画世界地图_python如何画出漂亮的地图?
  19. 一定要计算机专业才能进华为吗,想去华为一定要报考这三所大学
  20. hp台式计算机怎么进bois,HP笔记本怎么进BIOS?惠普电脑进入BIOS方法

热门文章

  1. verilog将100mhz分频为1hz_verilog怎么实现分频?
  2. layer.open 弹窗 位置 修改 (layui)
  3. 电脑支付宝支付 vue.js+java
  4. rustwasmyew前端开发教程
  5. centos下搭建sockets5代理
  6. 项目防止脚本攻击sxx存储性漏洞
  7. 关于xss和csrf
  8. 问题 A: 圆柱的侧面积与体积(1级)输入输入圆柱的底面半径r与高h,用逗号分隔。输出s=<圆柱的侧面积>,v=<圆柱的体积>,保留4位小数。
  9. 简单的页面下载-----爬虫伊始
  10. orbslam2-基础理论(六)-g2o(常用的优化算法)