博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Selenium--数据驱动(python)
阅读量:6641 次
发布时间:2019-06-25

本文共 2795 字,大约阅读时间需要 9 分钟。

前言:

什么是数据驱动?

从它的本意来解释,就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。其实就是参数化。


本次介绍2种文件驱动:ini文件和yaml文件


一、ini文件

1、定义

程序没有任何配置文件,那么它对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,为了让程序出厂后还能根据需要进行必要的配置,所以要用配置文件;配置文件有很多种,如INI配置文件,XML配置文件,cfg配置文件,还有就是可以使用系统注册表等。

INI ”就是英文 “initialization”的头三个字母的缩写;当然INI file的后缀名也不一定是".ini"也可以是".cfg",".conf ”或者是".txt"。

2、经典格式

INI文件的格式很简单,最基本的三个要素是:parameters,sections和comments。

INI所包含的最基本的“元素”就是parameter;每一个parameter都有一个name和一个value

所有的parameters都是以sections为单位结合在一起的。所有的section名称都是独占一行,并且sections名字都被方括号包围着,在section声明后的所有parameters都是属于该section

在INI文件中comments注释语句是以分号“;”开始的

3、具体文件举例

image

4、python读写ini方法

需要导入Python自带的模块, 用来读写配置文件:

import ConfigParser**读取ini文件**:read(filename):读取ini文件中的内容sections():得到所有section,返回列表形式options(section):得到给定section的所有optionitems(section):得到指定section的所有key-valueget(section,option):得到section中的option值,返回str类型getint(section,option):得到section中的option值,返回int类型

写入ini文件

write(filename):写入ini文件中的内容add_section(section):写入指定sectionSet(section,option,value):写入指定section中的option的值

5、读取ini文件具体代码范例

import configparser# ======== Reading mail_config.ini setting ===========cf = configparser.ConfigParser()cf.readfp(open("D:\\API\\config\\mail_config.ini"))smtpserver = cf.get("mail", "smtpserver")sender = cf.get("mail", "sender")receiver = cf.get("mail", "receiver")username = cf.get("mail", "username")password = cf.get("mail", "password")

6、写入ini文件具体代码范例

import configparser# ======== write 1.ini setting ===========config = configparser.ConfigParser()# set a number of parametersconfig.add_section("book")config.set("book", "title", "the python standard library")config.set("book","author", "fredrik lundh")config.add_section("ematter")config.set("ematter", "pages","250")# write to fileconfig.write(open('1.ini', "w"))

二、yaml文件

1、YAML定义

YAML的官方定义很简单,即“一种人性化的数据格式定义语言”,其主要功能用途类似于XML或JSON,YAML使用空白字符和分行来分隔数据,且巧妙避开各种封闭符号,如:引号、括号等,以避免这些符号在复杂层次结构中变得难以辨认。YAML的语法与高阶语言类似,可以很简单地表述“序列(java中的list)、杂凑表(java中的map)、标量(java中的基本类型等)”数据结构,它重点强调可阅读性。

2、YAML用途

YAML比较适合做序列化。因为它是宿主语言数据类型直转的。

YAML做配置文件也不错。写YAML要比写XML快得多(无需关注标签或引号),并且比ini文档功能更强。

3、YAML vs XML

与YAML相似的数据格式定义语言是XML,YAML比XML优越性表现在

  • YAML的可读性好
  • YAML和脚本语言的交互性好
  • YAML使用实现语言的数据类型
  • YAML有一个一致的信息模型
  • YAML易于实现

上面5条是XML不足的地方,同时,YAML也具有XML的下列优点:

  • YAML可以基于流来处理
  • YAML表达能力强,扩展性好

YAML类似于XML的数据描述语言,语法比XML简单很多,YAML试图用一种比XML更敏捷的方式,来完成XML所完成的任务。

4、YAML-对象示例

YAML 支持的数据结构有三种。

-对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)

-数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)

-纯量(scalars):单个的、不可再分的值

image

5、python读取YAML文件

代码片段如下:

import yaml# ======== Reading mail.yaml setting ===========fr = open("D:\\API\\config\\mail.yaml")get_config = yaml.load(fr)smtpserver = get_config["smtpserver"]sender = get_config["sender"]receiver = get_config["receiver"]username = get_config["username"]password  = get_config["password"]

以上为最简单的用法,大家如有兴趣可以自行延伸学习~~

转载地址:http://peovo.baihongyu.com/

你可能感兴趣的文章
对,每个人有每个人的风格,每个人都是独一无二的,要活出自己的风采
查看>>
android使用shape stroke描边只保留底部
查看>>
Linux下存储多路径软件MultiPath配置指南
查看>>
ABBYY PDF Transformer+的安装方法
查看>>
Python之禅
查看>>
重逢Windows从powerShell开始
查看>>
JAVA 的异常那些事
查看>>
磁饱和
查看>>
Android Studio中如何打JAR包
查看>>
IDEA 快捷键 (OSX)
查看>>
Linux下单独编译安装php且支持mysql扩展
查看>>
转转数据平台部诚招 Java、大数据工程师、架构师
查看>>
LoadRunner的Socket脚本关联小技巧
查看>>
Qt学习(002-1)
查看>>
那些都是我们必须要经历的
查看>>
SAN系统拓扑
查看>>
如何调整Linux系统为正确时区
查看>>
mysql更新数据库中所有相同的某个字段的值
查看>>
生成图片缩略图
查看>>
hibernate查询数据库6种方法
查看>>