ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

web自动化测试- json 数据驱动

2022-07-20 15:37:14  阅读:124  来源: 互联网

标签:web 封装 driver 点击 json 自动化 驱动 方法


今天目标:
1. 数据驱动

扩展:
1. 线性驱动
2. 模块驱动
3. 数据驱动
一、数据驱动
1.1 什么是数据驱动?
说明:
1. 通过测试数据控制用例的执行,直接影响测试结果;
2. 数据驱动是最好结合PO+参数化技术使用;
1.2 数据驱动优点
将维护关注点放到测试数上,而不去关注测试脚本代码;
1.3 数据驱动常用的格式
1. JSON(重点)
2. XML
3. EXCEL
4. CSV
5. TXT

1.4 JSON介绍
1. 一种纯文本格式,后缀.json ;
2. 一种轻量级数据交换格式;(接口数据传递基本使用json格式)
3. 由键值对组成,和python的字典格式一模一样,不同之处在于(json是文本格式)
4. json语法:花括号包含键值对,键与值之间使用冒号(:)分隔, 键值对之间使用逗号(,)分隔;

1.5 json与字典转换
1). 字典转为json字符串
方法:dumps()
操作:
1. 导包
2. 调用dumps方法
3. 打印类型
注意:
使用dumps方法,而不是dump方法;

 

 


2) json字符串转字典
方法: loads()
操作:
1. 导包
2. 调用loads方法
3. 打印类型
注意:
1. 使用loads方法而不是load方法
2. 字符串中的键名必须使用双引号;

 

 


1.6 json的写与读
1). 写入json
方法:dump(写什么文件, 往那写)
操作:
1. 导包
2. 获取文件流f,并调用dump方法写入
注意:
1. 写入时模式 w
2. 写入的方法 dump() 而不是 dumps()

2). 读取json 【重点】
方法:load()
操作:
1. 导包
2. 获取文件流f,并调用load方法读取
注意:
1.读取时模式 r
2. 读取的方法 load() 而不是 loads()

 

 


二、练习计算器
结构:
base
# 初始化方法
# 查找元素
# 点击
# 获取value属性方法封装
# 截图
page
# 点击数字
for n in num:
loc = By.ID, ""simple{}".format(n)"
# 调用baes内点击方法

# 点击加号
# 点击等号
# 获取结果
# 组装业务方法
scripts
# 初始化方法
# 获取计算页面页面对象
# 获取driver

# 结束方法
# 关闭driver
# 测试加法方法
# 调用加法运算业务方法
# 断言
# 截图
drvier封装
类名
# 定义类变量
driver = None

@classmethod
# 获取driver方法
如果 cls.driver is None:
# 获取浏览器驱动对象
# 最大化
# 打开url 注:url建议写入配置文件中
返回 cls.driver
@classm3thod
# 关闭driver方法
如果 cls.driver:
cls.driver.quit()
# 注意此处一定要置空
cls.driver = None

读取json数据封装
1. 读取工具封装
# 导包
# 打开json获取文件流 并 调用load方法

2. 组装读取出来数据格式封装
预期格式:[(),()]
默认实际格式:{"":"","":""}
思路:
1. 新建空列表
2. 使用字典.values()方法获取所有的字典值;
3. 使用列表的.append((字典.get("键名")))
4. 返回 arrs


查找元素判断是否操作成功 思路封装
def base_if_success():
try:
self.base_find_element(loc, timeout=2)
return True
except:
return False

如何区分正向逆向用例
思路:在测试数据中添加一一个标识正向用例或逆向用例的标记: 如:True/False
步骤:
1. 调用登录方法(此登录方法中,只有输入用户名、输入密码、输入验证码、点击登录按钮) 切记:不要封装点击登录连接地址;
2. 判断是否正向用例:
# 判断安全退出是否存在
# 点击安全退出
# 点击登录连接地址

标签:web,封装,driver,点击,json,自动化,驱动,方法
来源: https://www.cnblogs.com/yumi2021/p/16498191.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有