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文件的更多相关文章

  1. python读取txt、csv和excel文件

    一.python读取txt文件:(思路:先打开文件,读取文件,最后用for循环输出内容) fp = open('test.txt','r') lines = fp.readlines() fp.clo ...

  2. python读取txt、csv、xml

    读取txt,无需引入任何包: user_file = open('user_info.txt','r') lines = user_file.readlines() user_file.close() ...

  3. web端自动化——Python的smtplib发送电子邮件

    SMTP (Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. Python的smtplib模块提 ...

  4. web端自动化——python多线程

    Python通过两个标准库thread和threading提供对线程的支持.thread提供了低级别的.原始的线程以及一个简单的锁.threading基于Java的线程模型设计. 锁(Lock)条件变 ...

  5. python读取与写入csv,txt格式文件

    python读取与写入csv,txt格式文件 在数据分析中经常需要从csv格式的文件中存取数据以及将数据写书到csv文件中.将csv文件中的数据直接读取为dict类型和DataFrame是非常方便也很 ...

  6. Python读取txt文件

    Python读取txt文件,有两种方式: (1)逐行读取 data=open("data.txt") line=data.readline() while line: print ...

  7. python读取txt批量创建文件

    python读取txt批量创建文件 pythonbatchfile 前几天有个小问题, 需要批量建立很多文件夹,, 所以手动写了个小的脚本, 后续可以直接使用 读取目录文件, 然后直接创建相应的文件 ...

  8. 接口自动化、移动端、web端自动化如何做?

    1.<Python+Appium移动端自动化项目实战>-带您进入APP自动化测试的世界https://yuedu.baidu.com/ebook/765b38a5690203d8ce2f0 ...

  9. Java读取CSV和XML文件方法

    游戏开发中,读取策划给的配置表是必不可少的,我在之前公司,策划给的是xml表来读取,现在公司策划给的是CSV表来读取,其实大同小异,也并不是什么难点,我就简单分享下Java如何读取XML文件和CSV文 ...

随机推荐

  1. Session的应用——三天免登录

    1.使用Cookie实现的登录的不足: protected void doGet(HttpServletRequest request, HttpServletResponse response) t ...

  2. zabbix的历史数据存储到elasticsearch中

    基本配置项 https://www.jianshu.com/p/bffca8128e8f 官方说这个实验性的功能支持es的版本是5.0.x - > 6.1.x,如果使用早期或更高版本的Elast ...

  3. AtCoder Grand Contest 017题解

    传送门 \(A\) 直接转移就是了 typedef long long ll; const int N=55; ll f[N][2];int a[N],n,p; int main(){ scanf(& ...

  4. 原创:C++实现的可排序的双向链表

    学习C++有一周了,今天用C++设计了一个双向链表,这个链表有排序功能,默认按升序排列,接受的参数可以是数字,也可以是字符串.现在把自己写的代码,分享出来.如果链表中接受的对象为Lexeme,可以用于 ...

  5. 64位内核开发第二讲.内核编程注意事项,以及UNICODE_STRING

    目录 一丶驱动是如何运行的 1.服务注册驱动 二丶Ring3跟Ring0通讯的几种方式 1.IOCTRL_CODE 控制代码的几种IO 2.非控制 缓冲区的三种方式. 三丶Ring3跟Ring0开发区 ...

  6. php之简单socket编程

    一.什么是套接字 源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字.其用于标识客户端请求的服务器和服务. 二.php套接字实例 服务端代码:socket.php <?php er ...

  7. 在应用中显示的图片很多情况不满足业务需求,我们需要动态根据图片的宽高进行缩放或加载中显示的缺省图片,这是我没就需要监听图片加载完成回调,来看看微信小程序怎么实现图片加载完成回调。

    <swiper-item> <image src="{{item.image}}" class="slide-image" mode=&quo ...

  8. NAT双线路配置详解

  9. CRMEB中因为重写规则导致的服务器异常和404之解决办法

    问题描述:安装CRMEB后,只能通过https://域名//index.php/admin访问到后台,而不能直接通过https://域名/admin访问到后台,以至于导致进入系统后台出现有的功能界面可 ...

  10. Python-matplotlib画图(莫烦笔记)

    https://www.zhihu.com/collection/260736383 https://blog.csdn.net/gaotihong/article/details/80983937 ...