UI自动化之yaml格式介绍
yaml格式介绍
对象
这应该算是最简单的一种格式了,就是一组键值对
1. 新建data.yaml文件,内容如下:
脚本如下:
转换为python后:
{'code': 'cus001', 'type': 'market', 'name': 'waiqin365'}
修改yaml文件,格式如下:
转换为python后:
{'name': 'waiqin365', 'detail': {'code': 'cus001', 'type': 'market'}}
数组
一组连词线开头的行,构成一个数组
1.新建data.yaml,格式如下:
转换为python后:
['cus001', 'cus002', 'cus003']
修改yaml文件,格式如下:
转换为python后:
[{'cus001': {'code': 'code001'}}, {'cus002': {'code': 'code002', 'type': 'tyoe002'}}, 'cus003']
多个对象
1.新建data.yaml,格式如下:
备注:这是官方wiki文档的例子
需要修改python脚本,改用load_all来解析文档:
转换为python后:
{'name': "The Set of Gauntlets 'Pauraegen'", 'description': 'A set of handgear with sparks that crackle across its knuckleguards.'}
{'name': "The Set of Gauntlets 'Paurnen'", 'description': 'A set of gauntlets that gives off a foul,acrid odour yet remains untarnished.'}
{'name': "The Set of Gauntlets 'Paurnimmen'", 'description': 'A set of handgear, freezing with unnatural cold.'}
对象和数组结合
1.新建data.yaml,格式如下:
转换为python后:
{'cus': ['cus001', 'cus002', 'cus003'], 'detail': {'dept': 'dept1', 'type': {'type1': 'a'}}}
读取中文显示问题
当data.yaml文件中,含有中文时,读取后显示有问题:
如下,data.yaml文件为:
用上面脚本,直接打印出来结果为:
{'cus': [u'\u7ec8\u7aef001', u'\u7ec8\u7aef002', 'cus003'], 'detail': {'dept': 'dept1', 'type': {'type1': 'a'}}}
如何才能直接将 cus:['终端001','终端002','终端003'] 打印出来呢?
修改脚本如下:
对比一下,打印结果如下:
{'cus': [u'\u7ec8\u7aef001', u'\u7ec8\u7aef002', 'cus003'], 'detail': {'dept': 'dept1', 'type': {'type1': 'a'}}}
{'cus': [u'终端001', u'终端002', 'cus003'], 'detail': {'dept': 'dept1', 'type': {'type1': 'a'}}}
转自
作者:迈阿密小白
链接:https://www.jianshu.com/p/bba511a12896
推荐这些文章:
1、操作类:封装页面
2、配置类:日志、邮件、工程配置
3、错误截图文件夹
4、日志文件夹
5、运行脚本:读取excel测试用例,执行各个脚本文件
6、excel测试用例文件
7、单元类:
获取配置文件封装、
获取元素封装、
获取excel、
邮箱登录封装、
发送报告封装、
等待机制封装、
文件夹命名封装
脚本运行文件:
1、读取excel所有内容,运行脚本,写入结果汇总,进行发送email
2、获取所有的列,判断用例是否执行,判断当前框架的数据类型是关键字还是数据
3、切换到对应的sheet...
##前言
selenium参考链接:https://zhuanlan.zhihu.com/p/111859925
PO模式:页面定位和业务操作分开,也就是把页面对象的定位以及相关操作和测试脚本分开,从而增强可维护性。
参考链接:www.cnblogs.com/bigbigtong/p/10294516.html
## 框架使用介绍Test_framework|--config(配置文件)|--data(数据文件)|--drivers(驱动)|--log(日志)|--report(报告)|--test(测试用例) |--case(用例文件) &...
1、数据驱动
1.1概述
数据驱动:在自动化测试中,把测试中使用到的数据分离出来,后续使用时再进行调用的思想叫做数据驱动。如果单纯的写在我们的测试模块里面,不是一个好的设计,如果数据需要修改是非常麻烦的,所以不管是什么类型的自动化测试,都是需要把数据分离出来的。当然分离到具体的文件里面,文件的形式其实有很多的,这里主要说明JSON的文件和YAML的文件在UI自动化测试中的应用。
1.2JSON文件数据格式
(1)导入json库;
(2)以k:value形式写入内容,写入的内容是以字典的形式写入;
(3)通过反序列化读取并返回文件内容。
如果在调试读取文件的过程中,出现下图所示错误:
那么我...
一、学习内容
1. 常见操作系统:Android IOS HarmoneyOS
2. Appium 安装步骤:
2.1 JDK下载点这儿,下载后解压至指定位置即可
环境变量:JAVA_HOME your_jdk_path,
path %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
2.2 SDK下载...
配置环境略过
1、app相关配置代码如下
2、
webdriver.Remote (http://127.0.0.1:4723/wd/hub, desired_caps)这个地址的来源如下
3、运行 appium,启动 appium,右上角点三角形按钮,变成正方形,就是启动状态。
4、确认手机连上电脑:D:\Android\android-sdk-windows\platform-tools
命令行内 输入 adb devices
5、在 pycharm 运行脚本,随后在手机上会...
1、使用背景
2、分类
1、固定等待,也就是使用sleep()方法
2、隐式等待,使用到的方法是implicitly_wait的方法,可以把它理解为设置最长等待时间
3、显式等待,主要指的是程序每隔一段时间执行自定义的程序判断条件,
如果判断成立,程序就会继续执行,那么如果判断失败,就会报TimeOutExpection的异常信息
...
一、使用OpenCV图像识别函数
1 import time
2 import cv2
3 import requests
4 from selenium import webdriver
5 from selenium.webdriver import ActionChains
6 from selenium.webdriver.common.by import By
7
8 def FindPic(target="../lib/bj.jpg", block="../lib/block.jpg"):
9 """
10 找出图像中最佳匹配位置
11 ...
注册页面的基本测试:
page页面:---registry.py
from selenium.webdriver.common.by import Byfrom base.base import WebUIimport time as tclass Registry(WebUI): registry=(By.LINK_TEXT,'注册') emailAddress=(By.XPATH,'/html/body/div[2]/div/div/div/div/form[1]/div[2]/ul/li[1]/span/input') liJiReg=(By.XPATH,'/htm...
yaml格式介绍
首先看下yaml文件的格式,之前也写过一点关于yaml语法学习的文章
testcase部分是重点,其中:
element_info:定位元素信息
find_type:属性,id、xpath、text、ids
operate_type: click、sendkeys、back、swipe_up 为back就是返回,暂时就四种
上面三个必填,operate_type必填!!!!!!
send_content:send_keys 时用到
index:ids时用到
times: 返回次数或者上滑次数
作者:迈阿密小白链接:htt...
1.下载,解压,配置path路径https://github.com/allure-framework/allure2/releaseshttps://github.com/allure-framework/allure2
path路径配置:D:\allure-2.13.8\bin验证:allure --version
从.temp目录中获取文件 将./report目录下的文件先清除后,在./report目录下重新生成新的报告
问题:dos可以验证但是pycharm验证失败,怎么...
文章链接:https://www.dianjilingqu.com/51281.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。