IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> UI自动化笔记 -> 正文阅读

[开发测试]UI自动化笔记

1、UI自动化的原理
是通过selenium来实现web自动化的,其中的原理涉及到三个最主要的东西:代码、webdriver、浏览器;代码使用http通信启动webdriver,然后webdriver驱动浏览器执行自动化代码;浏览器执行完成后返回执行结果给webdriver,webdriver把执行结果告诉python代码

2.UI自动化流程
先会进行评估若是项目更新迭代比较多、回归较多就需要介入自动化,然后挑选适合做自动的模块, 再从已有的功能用例中挑选自动化测试用例,搭建自动化测试环境,然后搭建自动化测试框架,再进行用例脚本的开发,然后执行测试,最后是脚本的补充及维护

3.UI自动化框架搭建思路
采用python+selenium+unittest+HTMLTestRunnerPO模式进行自动化框架的搭建
我在创建自动化项目的时候,分为几大目录:
第一个是公共目录,里面包含了一些公共类,比如
配置文件处理类:这个文件主要通过ConfigParser这个模块封装了配置文件读写的方法
日志处理类:这个文件主要通过logging这个模块进行日志器相关操作的封装,用于执行用例时记录相关日志信息
获取路径类:这个文件主要通过os这个模块获取项目目录和文件的路径

第二个目录是页面对象目录,里面包含页面基础类和页面对象类,页面基础类主要包含元素定位、切换frame和窗口、处理弹窗和列表等的一些方法;页面对象类是给每个系统页面封装成一个页面对象类,包含对元素的操作的一些方法

第三个目录是测试数据,采用的py文件进行测试数据的存放
第四个目录是配置文件目录,里面存放了一个config的配置文件,包含URL、浏览器的类型等常用的固定的配置项,用于方便的调用读取

第五个目录是测试用例目录
里面包含很多的test-case,po模式中的业务层也是在test-case里面实现,通过unittest+ddt读取测试数据并执行测试用例,然后进行断言校验

第六个目录是报告和日志目录,用于存放生成的测试报告及日志文件
还有一个额外的目录,用于存放脚本执行过程出现异常时的截图

第七个run.py:通过unittest+HTMLTestRunner 运行用例并生成测试报告,项目工程部署完毕后直接运行该文件就可以执行所有的测试用例

4、定位元素及页面操作方法
元素定位的8种方法
在这里插入图片描述

切换子页面
在这里插入图片描述

滚屏操作
在这里插入图片描述

页面前进后退和刷新
在这里插入图片描述

鼠标控制
在这里插入图片描述

操作下拉列表
web网页大多选择功能使用下拉列表方式实现,在selenium进行自动化过程中,可通过Select类实现下拉列表的多种操作。
使用时需先导入Select类:from selenium.webdriver.support.select import Select
在这里插入图片描述
窗口切换及截图
在这里插入图片描述在这里插入图片描述
动态元素定位
根据部分元素属性定位,xpath中提供了三个非常好的方法来为我们定位部分属性值:
driver.findElement(By.xpath("//input [contains(@id, ‘auto’)]"))
driver.findElement(By.xpath("//input [starts-with(@id,‘auto’)]")
driver.findElement(By.xpath("//input [ends-with(@id, ‘auto’)]")

5.unittest
unittest是Python自带的单元测试框架,我们可以用其来作为我们自动化测试框架的用例组织执行框架。

unittest的流程:写好TestCase,然后由TestLoader加载TestCase到TestSuite,再由TextTestRunner来运行TestSuite,运行的结果保存在TextTestResult中,我们通过命令行或者unittest.main()执行时,main会调用TextTestRunner中的run来执行,或者我们可以直接通过TextTestRunner来执行用例。

用 setUp()、tearDown()、setUpClass()以及 tearDownClass()可以在用例执行前布置环境,以及在用例执行后清理环境

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-11-18 11:28:03  更:2021-11-18 11:28:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 4:47:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码