开发者社区> 小喜_ww> 正文

Selenium--数据驱动(python)

简介: 前言: 什么是数据驱动? 从它的本意来解释,就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。其实就是参数化。 本次介绍2种文件驱动:ini文件和yaml文件 一、ini文件 1、定义 程序没有任何配置文件,那么它对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,为了让程序出厂后还能根据需要进行必要的配置,所以要用配置文件;配置文件有很多种,如INI配置文件,XML配置文件,cfg配置文件,还有就是可以使用系统注册表等。
+关注继续查看

前言:

什么是数据驱动?

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


本次介绍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的所有option

items(section):得到指定section的所有key-value

get(section,option):得到section中的option值,返回str类型

getint(section,option):得到section中的option值,返回int类型

写入ini文件

write(filename):写入ini文件中的内容

add_section(section):写入指定section

Set(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 parameters

config.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"]

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
软件测试|selenium+python基础方法封装(二)
软件测试|selenium+python基础方法封装(二)
36 0
软件测试|selenium+python基础方法封装(一)
软件测试|selenium+python基础方法封装(一)
25 0
python +selenium识别不来click事件,出现报错
python +selenium识别不来click事件,出现报错
75 0
Python selenium webdriver 基本使用
系列文章目录 selenium webdriver 的常用示例 前言 一、Pip安装&创建Bowser对象 1.Pip install selenium 2.创建Bowser对象 二、webdriver.ChromeOptions配置 配置浏览器的常用模式 三、常用代码 四、selenium的异常处理 总结
98 0
python selenium 自动化实现输入 加 点击按钮
打开网站自动输入要填写的信息
123 0
Python + Selenium + Chrome Driver 自动化点击+评论+刷弹幕(仅供学习)
Python + Selenium + Chrome Driver 自动化点击+评论+刷弹幕(仅供学习)
115 0
Selenium Python 教程
Selenium Python 教程
77 0
【Python自动化】selenium简单应用
【Python自动化】selenium简单应用
47 0
selenium python框架之获取email的参数
selenium python框架之获取email的参数
19 0
selenium python框架之Browser_engine 写法
selenium python框架之Browser_engine 写法
38 0
+关注
小喜_ww
一个勤勤恳恳做测试的软妹纸~~
文章
问答
文章排行榜
最热
最新
相关电子书
更多
给运维工程师的Python实战课
立即下载
Python 脚本速查手册
立即下载
ACE 区域技术发展峰会:Flink Python Table API入门及实践
立即下载