web端自动化——Python读取txt文件、csv文件、xml文件
1、读取txt文件
txt文件是我们经常操作的文件类型,Python提供了以下几种读取txt文件的方式。
1)read(): 读取整个文件。
2)readline(): 读取一行数据。
3)readlines():读取所有行的数据。
首先,使用找txt文件来存放用户名和密码数据,并通过读取该文件中的数据作为用例的测试数据。

open()方法一般返回一个file文件对象 例子:
f=open(file,mode='r',encoding=None)
open()方法里的参数还有其他,一定要用户设定的只有文件路径。在这里我们讨论一下mode和encoding这两个参数。 第一个参数是string类型的文件地址,第二次参数代表文件被打开的模式。
有以下几种模式:
‘r’:(read)文件只能被读(默认)
‘w’:(write)文件只能被写(如果写入一个已存在的文件中,原来的数据会被删除)
‘x’:创建新文件,如果文件原本存在则不创建
‘a’:(append)自动添加新内容到文件结尾
‘b’:(binary)二进制模式
‘t’:(text)文本模式(默认)
‘+’:读和写
‘U’:(universal newlines mode)通用换行模式
当使用open()方法的时候,如果不设定参数encoding的值,该方法会默认encoding为系统默认的编码格式。
首先通过open()方法以读(“r” )的形式打开此user_info.txt文件,使用readlines()方法按行读取txt文件,将获取到的每一行数据通过split()方法拆分出用户名和密码。
split()可以将一个字符串通过某一个字符为分割点拆分成左右两部分。

备注:一定要把做好的txt文件放在项目里面。
2、读取csv文件
那么新的问题来了,假设现在每次要读取的是一组用户数据,这一组数据包括用户名、 邮箱、年龄、性别等信息,这时再使用txt文件来存放这些数据,读取起来就没那么方便了。 对于这种类型的数据可以通过CSV文件来存放。
创建info.csv文件,首先通过WPS表格或Excel创建表格,文件另存为CSV格式进行保存。注意不要通过直接修改文件的后缀名来创建csv文件,这样创建的并非真正的csv类型的文件。
通过这种csv文件来存放数据可以方便地解决读取多列数据的问题。

首先导入cvs模块,通过reader()方法读取csv文件。

备注:一定要把做好的csv文件放在项目里面。
3、读取xml文件
有时候我们需要读取的数据是不规则的,这时候就可以考虑选择使用XML 文件来存放这些信息。例如,我们需要一个配置文件来配置当前自动化测试脚本的url、浏览器、登录的用户名和密码等。
什么是XML文件?
xml文件和html文件一样,实际上是一个文本文件。显然大家立刻就会明白,创建xml文件最普通的工具和html一样,就是“记事本”了。
xml目的是用来保存数据的,并且便于程序快速读取,打个比方,xml文件就像是txt文本文档,放在程序里面,供程序使用,这样可以避免把这些数据放在内存里面。 html是网页的页面语言,你上网打开的多数页面都是html页面,html是属于静态页面,主要目的是用来展示用的(文字,图片,画面等信息)。 xml跟html都属于标记语言,也就是最后两个字母ml(marked language),他们俩遵循相同的语言规范。
先创建xml文件如下:

首先导入xml的minidom模块,用来处理XML文件,parse()用于打开一个XML文件, documentElement用于得到XML文件的唯一根元素。
(每一个节点都有它的nodeName、nodeValue、nodeType等属性。nodeName为节点名称,nodeValue为此为节点的值,只对文本节点有效,nodeType为节点的类型。)
getElementsByTagName可以通过标签名获取标签,它所获取的对象是以数组形式存放。假如“login”和“province”标签在info.xml文件中有多个,则可以通过指定数组的下标的方式获取某个具体标签。
getAttribute()方法用于获取元素的属性值。
firstChild属性返回被选节点的第一个子节点。data表示获取该节点的数据,它和 WebDriver中提供的text方法类似。

运行打印出来的结果如下:
info
None
1
browser
login
province
admin
123456
guest
654321
province
广东
深圳
珠海
备注:一定要把做好的xml文件放在项目里面。
web端自动化——Python读取txt文件、csv文件、xml文件的更多相关文章
- python读取txt、csv和excel文件
一.python读取txt文件:(思路:先打开文件,读取文件,最后用for循环输出内容) fp = open('test.txt','r') lines = fp.readlines() fp.clo ...
- python读取txt、csv、xml
读取txt,无需引入任何包: user_file = open('user_info.txt','r') lines = user_file.readlines() user_file.close() ...
- web端自动化——Python的smtplib发送电子邮件
SMTP (Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. Python的smtplib模块提 ...
- web端自动化——python多线程
Python通过两个标准库thread和threading提供对线程的支持.thread提供了低级别的.原始的线程以及一个简单的锁.threading基于Java的线程模型设计. 锁(Lock)条件变 ...
- python读取与写入csv,txt格式文件
python读取与写入csv,txt格式文件 在数据分析中经常需要从csv格式的文件中存取数据以及将数据写书到csv文件中.将csv文件中的数据直接读取为dict类型和DataFrame是非常方便也很 ...
- Python读取txt文件
Python读取txt文件,有两种方式: (1)逐行读取 data=open("data.txt") line=data.readline() while line: print ...
- python读取txt批量创建文件
python读取txt批量创建文件 pythonbatchfile 前几天有个小问题, 需要批量建立很多文件夹,, 所以手动写了个小的脚本, 后续可以直接使用 读取目录文件, 然后直接创建相应的文件 ...
- 接口自动化、移动端、web端自动化如何做?
1.<Python+Appium移动端自动化项目实战>-带您进入APP自动化测试的世界https://yuedu.baidu.com/ebook/765b38a5690203d8ce2f0 ...
- Java读取CSV和XML文件方法
游戏开发中,读取策划给的配置表是必不可少的,我在之前公司,策划给的是xml表来读取,现在公司策划给的是CSV表来读取,其实大同小异,也并不是什么难点,我就简单分享下Java如何读取XML文件和CSV文 ...
随机推荐
- mysql在group by分组后查询第二条/第三条乃至每组中任意一条数据
昨天老板让我查询项目中(众筹),没人刚发起感召后,前三笔钱的入账时间和金额,这把大哥整懵逼了,group by在某些方面是好使,但这次不能为我所用了,获取第一笔进账是简单,可以用group by 直接 ...
- VS - ActionFilterAttribute
Global.asax.cs public class MvcApplication : System.Web.HttpApplication { public static void Registe ...
- learning java Date类
var d1 = new Date(); var d2 = new Date(System.currentTimeMillis() + 1000); System.out.println(d1); S ...
- Session的应用——三天免登录
1.使用Cookie实现的登录的不足: protected void doGet(HttpServletRequest request, HttpServletResponse response) t ...
- easyui181版本使用记录
easyui181版本下载地址 简单java+easyui181版本demo下载 注意前端页面的ajax请求路径对应后端 如果再加强样式可使用adminLTE
- C语言定义结构体指针数组并初始化;里面全是结构体的地址
#include <stdio.h> #include <string.h> struct tells;//声明结构体 struct info { char *infos; } ...
- Codevs 2185【模板】最长公共上升子序列
题目描述 Description 熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目.小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们要研究最长公共上升子序列了.小沐沐说,对于 ...
- 贪心算法训练(九)——Best Cow Line(字典序最小问题)
原题链接:Best Cow Line 1. 问题描述 2. 输入 6 A C D B C B 3. 输出 ABCBCD 4.思路分析 不断地取原字符串 S 中开头和末尾比较小的字符串放到 T 的末尾 ...
- C Primer Plus--C存储类、链接和内存管理之动态分配内存及类型限定词
目录 存储类说明符 存储类和函数 动态分配内存 malloc函数 free函数 calloc函数 动态分配内存的缺点 C类型限定关键字 constant定义全局常量 volatile关键字 restr ...
- Intellij IDEA中maven项目打包问题
学习使用java写项目的时候,java的jar包对我来说是很神奇又很复杂不想去了解的东西,如今形势所迫开始写java项目,做了些了解,也有几个问题. 1.其中一个打包方式 在pom文件中输入如下插件( ...