测试需求:

项目包含两个数据展示页面,数据均来自于四个数据源接口。

测试操作步骤: 选择5个大类型中的一个,每个大类型下有3个子类型,选择任一子类型,页面数据更新。需验证页面上的数据与数据源接口数据一致。

自动化必要性:

1 更新频率:接口数据每天更新

2 数据量:单个子类型页面的数据量较大 ,且需全量覆盖15个子类型的数据验证

测试思路:分别获取页面和接口数据,对比是否一致

dinghanhua  2019-01

一 获取接口数据 【预期结果】
--requests
--发送请求,获取响应
--提取响应数据 二 获取页面数据 【实际结果】
--selenium
--打开浏览器,请求网页
--识别页面元素
--获取元素属性、操作页面元素 三 接口数据与页面数据对比 【实际结果与预期结果对比】
--接口数据和页面数据转化成相同的数据类型,对比是否相等 四 脚本优化
--接口封装成apiclass类
--数据源api请求和响应
--提取接口数据的操作 --页面封装成pageclass类
-- 页面基类,所有页面共通的方法放在该类中(如打开页面、关闭页面、截图、获取元素、页面刷新等)
-- 一个页面一个page子类;当前页面的元素识别、获取元素属性、操作元素的操作均写在类里面 --unittest:组织和运行测试用例 --logging:日志 --config:配置文件

the end!

python UI自动化实战记录一:测试需求与测试思路的更多相关文章

  1. python UI自动化实战记录十:执行测试及测试报告

    使用简单的unittest.TextTestRunner. 思路: 1 在report目录下创建当日测试报告目录 20190113 2 创建测试报告文件 f = 时间戳.txt 3 加载测试集,运行测 ...

  2. python UI自动化实战记录五:测试页面2 pageobject

    该部分记录测试页面2-StrategyPage,所有页面2上的元素定位.操作.获取属性等方法都写在该类中. 1 页面2继承自BasePage: 2 页面2第一部分写的是所有的定位器 3 页面2第二部分 ...

  3. python UI自动化实战记录四:测试页面1-pageobject

    该部分记录测试页面1-IndexPage,所有首页上的元素定位.操作.获取属性等方法都写在该类中. 1 首页类继承自BasePage 2 首页类第一部分写的是所有的定位器 3 首页类第二部分类的方法, ...

  4. python UI自动化实战记录三:pageobject-基类

    脚本思路: 使用pageobject模式,写一个basepage基类,所有页面的通用方法封装到基类中.比如打开页面,关闭页面,等待时间,鼠标移到元素上,获取单个元素,获取一组元素,获取元素的子元素,截 ...

  5. python UI自动化实战记录二:请求接口数据并提取数据

    该部分记录如何获取预期结果-接口响应数据,分成两步: 1 获取数据源接口数据 2 提取后续页面对比中要用到的数据 并且为了便于后续调用,将接口相关的都封装到ProjectApi类中. 新建python ...

  6. python UI自动化实战记录十一: 总结

    首先说说为什么想起来用自动化脚本来实现该项目的自动化. 工作还是以手工测试为主,业务驱动型的项目大概就是这样,业务不停地变,不断的迭代. 自动化测试实施的先决条件: 一 得有时间. 如果有时间大部分的 ...

  7. python UI自动化实战记录八:添加配置

    添加配置文件写入测试地址等,当环境切换时只需修改配置文件即可. 1 在项目目录下添加文件 config.ini 写入: [Domain] domain = http://test.domain.cn ...

  8. python UI自动化实战记录七:页面2用例编写

    使用python自带的unittest测试框架,用例继承自unittest.TestCase类. 1 引入接口类和页面类 2 setUp函数中打开页面,定义接口对象 3 tearDown函数中关闭页面 ...

  9. python UI自动化实战记录六:页面1用例编写

    使用python自带的unittest测试框架,用例继承自unittest.TestCase类. 1 引入接口类和页面类 2 setUp函数中打开页面,定义接口对象 3 tearDown函数中关闭页面 ...

随机推荐

  1. 腾讯云(Linux)安装Redis。

    参考:https://blog.csdn.net/a575553272/article/details/79743802 指令:ps -ef | grep redis   查看启动后的进程.

  2. Mybatis 问题梳理

    问题一:There is no getter for property ... 接口 **Mapper.java 中执行方法: public List<E> listOption(Stri ...

  3. docker 部署disconf 以及将其做成镜像

    1.需要一台服务器(阿里云,腾讯云.实体服务器都行,本次是以实体服务器为依照做的) 2.安装docker   https://www.cnblogs.com/shijunjie/p/10436293. ...

  4. Vue如何封装多个全局过滤器到一个文件

    #### 在写vue项目时,所用的过滤器很多时,把所有的过滤器方法封装在一个文件中,然后导出,并绑定在vue实例上 1.在src下创建filters文件夹,并新建index.js文件 2. index ...

  5. Oracle RAC集群删除节点

    一,节点环境 [root@node1 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost ...

  6. mac安装monkey工具

    一.monkey测试简介: monkey工具是Android自动化测试工具的一种,主要对Android,APP可进行压力测试.(总结) Monkey是Android中的一个命令行工具,可以运行在模拟器 ...

  7. [TimesTen]TT7001: User authentication failed

    在使用sqldeveloper连接TimesTen一直报[TimesTen][TimesTen 11.2.2.8.0 ODBC Driver][TimesTen]TT7001: User authen ...

  8. 在Spark shell中基于Alluxio进行wordcount交互式分析

    Spark是一个分布式内存计算框架,可部署在YARN或者MESOS管理的分布式系统中(Fully Distributed),也可以以Pseudo Distributed方式部署在单个机器上面,还可以以 ...

  9. word 摘要

    word 使用心得 定义快捷键 Tools -> Customize keyboard 自定义快捷键 cmd + L, 左对齐; cmd + R, 右对齐; cmd + E, 居中对齐 cmd ...

  10. embedded tomcat运行java web,Unable to compile class for JSP

    环境 eclipse:4.5.2 jre:1.8 java project compiler:1.8 embedded tomcat:7.0.32 可以正常启动,但是访问时,会报错. HTTP Sta ...