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. Centos7 docker pull速度特别慢

    vim /etc/docker/daemon.json { "registry-mirrors" : ["https://docker.mirrors.ustc.edu. ...

  2. 1.5 synchronized其他概念

    synchronized锁重入: 关键字synchronized拥有锁重入的功能,也就是使用synchronized时,当一个线程得到了一个对象的锁后,再次请求此对象时是可以再次得到对象的锁. 输出结 ...

  3. Excel、CSV文件处理

    1.Excel中以\t做为列分隔符,换行符作为行分隔符 使用c#导出excel的时候,当数字太长时,如身份证号,导出后的excel就会显示为科学计数法.如“511122154712121000”会显示 ...

  4. IIS相关的常见报错

    1.错误消息 401.3: 无权限 您无权使用您提供的凭据查看此目录或页(由于访问控制列表而导致访问被拒绝).请让 Web 服务器的管理员授予您访问“E:\IIS_Deploy\WebServices ...

  5. AtCoder Grand Contest 005题解

    传送门 \(A\) 咕咕 const int N=5e5+5; char s[N];int res,n,sum; int main(){ scanf("%s",s+1),res=n ...

  6. java https

    1. 异常突现 在这普通的一天,我写普通的代码,却突然收到不普通的报警 javax.net.ssl.SSLHandshakeException: server certificate change i ...

  7. 《挑战30天C++入门极限》在c/c++中利用数组名作为函数参数传递排序和用指针进行排序的例子。

        在c/c++中利用数组名作为函数参数传递排序和用指针进行排序的例子. 以下两个例子要非常注意,函数传递的不是数组中数组元素的真实值而是数组在内存中的实际地址. #include <std ...

  8. mysql连接数

    如何实时查看mysql当前连接数? 如何实时查看mysql当前连接数? 1.查看当前所有连接的详细资料: ./mysqladmin -uadmin -p -h10.140.1.1 processlis ...

  9. OpenFOAM在原有算例上新建算例(只拷贝0,system,constant)

    原视频下载地址: https://yunpan.cn/cMpyBHSEvC7T4  (提取码:dca4)

  10. 【Vue.js游戏机实战】- Vue.js实现老虎-机抽奖总结

    大家好!先上图看看本次案例的整体效果. 完整版实战课程附源码:[Vue.js游戏机实战]- Vue.js实现老虎-机抽奖 实现思路: Vue component实现老虎-机组件,可以嵌套到任意要使用的 ...