当前位置: 首页 > article >正文

UI自动化测试实战

补充:Selenium主要用于Web页面的自动化测试,它可以模拟用户的各种操作,如点击、输入、滚动等,来测试网页的功能。而Appium是一个开源的移动端自动化测试工具。

一、自动化测试实战章节

  • 自动化测试流程
  • 测试用例编写
  • 项目自动化测试环境的搭建
  • 自动化测试脚本的编写
  • 生成报告

二、自动化测试流程

1、自动化测试满足的条件:

  • 项目周期长
  • 项目需要回归测试
  • 回归测试的内容需求变更不能太频繁

2、流程

  • 分析需求:分析是否需要自动化测试
  • 挑选功能:核心功能和界面变动频繁的功能
  • 设计测试用例
  • 搭建环境
  • 项目搭建
  • 编写代码
  • 执行测试用例

三、自动化测试用例编写原则

1、编写测试用例的原则:

  • 自动化测试用例一般实现核心业务流程或重复率高的功能
  • 自动化测试用例的选择一般以正向逻辑为主
  • 自动化测试用例一般要回归原点,也就是项目首页(比如支付和取消订单,如果支付错误就可能导致取消订单错误,就无法判断那个页面出现bug)

2、核心业务流程:

  • 登录-发布商品  (后台管理)
  • 登录-查询商品-加入购物车(门户)
  • 登录-搜索商品(app)

四、自动化测试环境搭建

1、工具环境

  • python
  • pycharm编码工具
  • web端:浏览器、浏览器驱动程序、selenium
  • app端:jdk、Andriod-SDK、appium

2、依赖包

  • selenium 
  • Appium-Python-Client
  • parameterized
  • pytest
  • pytest-ordering
  • pytest-html
  • pytest-rerunsfailures
  • allure-pytest

3、工程目录初始化

  • base:python包
  • data:测试数据文件
  • img
  • log:日志文件
  • page:python包
  • report:HTML报告、文件夹
  • script:python包
  • config.py:全局配置文件
  • pytest.ini:pytest配置文件
  • utils.py:工具类

五、utils代码(驱动工具类+获取公共函数+读取json数据)

1、utils的作用

(1)驱动工具类

(2)判断元素是否存在的函数(全局使用)

  • 公用获取元素信息的函数(执行完测试用例后,对获取结果的元素数据做断言)
  • 公用根据文本判断元素是否存在的函数
  • 数据驱动读取数据的函数

2、驱动工具类

2、公用函数

导包

查找元素,并输出元素文本

查找元素是否存在当前页面或者移动应用

3、读取json代码

六、初始化代码-pytest.ini

七、初始化代码-config.py

在base-ini.py文件中加入这段代码:

八、基类代码-base

1、base_page

九、page目录(page目录中的类都继承了base的类,可以直接调用base的类方法)

1、login_page.py(登录页面封装)

2、home_page(首页封装)

3、goods_page.py

十:script测试用例(script类中没有继承page目录的类方法,因此得通过实例化对象调用page的类方法)

1、test_login.py(执行登录测试用例并断言)

2、test_goods.py

十、后台管理系统用例

1、测试用例的脚本编写情况

手工操作断言--定义页面文件(一个操作页面一个py文件)--封装PO(类:代表页面的对象)--编写测试脚本--执行测试脚本

2、后台登录-PO封装

接口的测试用例:测试步骤,测试数据,预期结果

3、page(目录)-login_page(文件)


http://www.kler.cn/news/366474.html

相关文章:

  • k8s 综合项目笔记
  • 理解深度学习模型——高级音频特征表示的分层理解
  • [Redis] Redis数据持久化
  • 详细版:哈希表(Hash Table)哈希冲突及其解决方法
  • Vue 项目中 Webpack 常见问题详解
  • 操作系统期末|考研复习知识点汇总 - 持续更新
  • 使用docker build自制flink镜像供k8s使用
  • 7. 配置
  • 用更多的钱买电脑而不是手机
  • 【pytest学习】pytest.main()
  • 数据库的CURD【MySql】
  • HttpContext模块 --- http上下文模块
  • 从零学习大模型(五)-----提示学习(Prompt Engineering)
  • 【C++融会贯通】多态
  • python爬虫实战案例——抓取B站视频,不同清晰度抓取,实现音视频合并,超详细!(内含完整代码)
  • 功能自动化测试工具Appium使用步骤讲解
  • 分类预测 | WOA-LightGBM基于鲸鱼算法优化轻量级梯度提升机算法数据分类预测Matlab程序
  • 安装OpenResty
  • Page Cache(页缓存)与脏页的关系
  • 安卓设备获取唯一id解决方案
  • rust:特征特征对象对象安全
  • 【JAVA毕业设计】基于Vue和SpringBoot的校园管理系统
  • Elasticsearch安装使用
  • Java线程死锁与活锁
  • Vue Router 如何配置 404 页面?
  • 解释 RESTful API,以及如何使用它构建 web 应用程序(AI)