python UI自动化实战记录一:测试需求与测试思路
测试需求:
项目包含两个数据展示页面,数据均来自于四个数据源接口。 测试操作步骤: 选择5个大类型中的一个,每个大类型下有3个子类型,选择任一子类型,页面数据更新。需验证页面上的数据与数据源接口数据一致。
自动化必要性:
1 更新频率:接口数据每天更新 2 数据量:单个子类型页面的数据量较大 ,且需全量覆盖15个子类型的数据验证
测试思路:分别获取页面和接口数据,对比是否一致
dinghanhua 2019-01 一 获取接口数据 【预期结果】
--requests
--发送请求,获取响应
--提取响应数据 二 获取页面数据 【实际结果】
--selenium
--打开浏览器,请求网页
--识别页面元素
--获取元素属性、操作页面元素 三 接口数据与页面数据对比 【实际结果与预期结果对比】
--接口数据和页面数据转化成相同的数据类型,对比是否相等 四 脚本优化
--接口封装成apiclass类
--数据源api请求和响应
--提取接口数据的操作 --页面封装成pageclass类
-- 页面基类,所有页面共通的方法放在该类中(如打开页面、关闭页面、截图、获取元素、页面刷新等)
-- 一个页面一个page子类;当前页面的元素识别、获取元素属性、操作元素的操作均写在类里面 --unittest:组织和运行测试用例 --logging:日志 --config:配置文件
the end!
python UI自动化实战记录一:测试需求与测试思路的更多相关文章
- python UI自动化实战记录十:执行测试及测试报告
使用简单的unittest.TextTestRunner. 思路: 1 在report目录下创建当日测试报告目录 20190113 2 创建测试报告文件 f = 时间戳.txt 3 加载测试集,运行测 ...
- python UI自动化实战记录五:测试页面2 pageobject
该部分记录测试页面2-StrategyPage,所有页面2上的元素定位.操作.获取属性等方法都写在该类中. 1 页面2继承自BasePage: 2 页面2第一部分写的是所有的定位器 3 页面2第二部分 ...
- python UI自动化实战记录四:测试页面1-pageobject
该部分记录测试页面1-IndexPage,所有首页上的元素定位.操作.获取属性等方法都写在该类中. 1 首页类继承自BasePage 2 首页类第一部分写的是所有的定位器 3 首页类第二部分类的方法, ...
- python UI自动化实战记录三:pageobject-基类
脚本思路: 使用pageobject模式,写一个basepage基类,所有页面的通用方法封装到基类中.比如打开页面,关闭页面,等待时间,鼠标移到元素上,获取单个元素,获取一组元素,获取元素的子元素,截 ...
- python UI自动化实战记录二:请求接口数据并提取数据
该部分记录如何获取预期结果-接口响应数据,分成两步: 1 获取数据源接口数据 2 提取后续页面对比中要用到的数据 并且为了便于后续调用,将接口相关的都封装到ProjectApi类中. 新建python ...
- python UI自动化实战记录十一: 总结
首先说说为什么想起来用自动化脚本来实现该项目的自动化. 工作还是以手工测试为主,业务驱动型的项目大概就是这样,业务不停地变,不断的迭代. 自动化测试实施的先决条件: 一 得有时间. 如果有时间大部分的 ...
- python UI自动化实战记录八:添加配置
添加配置文件写入测试地址等,当环境切换时只需修改配置文件即可. 1 在项目目录下添加文件 config.ini 写入: [Domain] domain = http://test.domain.cn ...
- python UI自动化实战记录七:页面2用例编写
使用python自带的unittest测试框架,用例继承自unittest.TestCase类. 1 引入接口类和页面类 2 setUp函数中打开页面,定义接口对象 3 tearDown函数中关闭页面 ...
- python UI自动化实战记录六:页面1用例编写
使用python自带的unittest测试框架,用例继承自unittest.TestCase类. 1 引入接口类和页面类 2 setUp函数中打开页面,定义接口对象 3 tearDown函数中关闭页面 ...
随机推荐
- PIE SDK均值滤波
1.算法功能简介 均值滤波是最常用的线性低通滤波,它均等地对待邻域中的每个像素.对于每个像素,取邻域像素值的平均作为该像素的新值.均值滤波算法简单,计算速度快,对高斯噪声比较有效.从频率域的角度看,相 ...
- PHP CURL_ERRNO 77
项目中碰到curl https偶尔出现false,错误码77,可以尝试下面两种解决方法: 1.确认安装机器ca-certificates,重启PHP.设置curl_setopt($ch, CURLOP ...
- 转载收藏(js数组方法大全)
js数组方法大全 JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Arra ...
- nginx 服务器配置文件指令
localtion 配置 语法结构: location [ = ~ ~* ^~ ] uri{ ... } uri 变量是带匹配的请求字符, 可以是不含正则表达的字符串, ...
- elastic 集群安装
Elastic Search 安装和配置 1.下载 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6. ...
- Android 中判断网络状态
首先在AndroidManifest.xml添加权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_ ...
- filter 静态资源
package com.itheima.web.filter; import java.io.IOException; import javax.servlet.Filter; import java ...
- oracle trim不掉空白字符分享(转)
本文转自:http://www.2cto.com/database/201306/223558.html 问题背景:一个工商注册号,正常的用trim能解决的问题,但是这个case,trim后和肉眼看到 ...
- PHP一维数组去重方法array_unique()
array_unique() :去除数组中的重复项,只适用于一维数组 它不像 sort()方法, eg: $arraytest = array('tommy','tommy','abcd'); so ...
- this,super,和继承
this是指当前对象的引用,super是指直接父类的引用 比如 我建造一个类 public class Person(){ private String name; private int age; ...