一.概要 前面介绍了Puppeteer+jest+TypeScript做UI自动化,但是这知识基础的,我们实现自动化要考虑的很多,比如PO模式,比如配置文件,比如断言等等.下面就来一一实现我是怎么用puppeteer 做UI自动化的 二.断言 (一)需要依赖的安装包 依赖包 命令 Jest npm install jest --save-dev @types/jest npm install @types/jest --save-dev expect-puppeteer npm install…
前提:掌握Jest + Puppeteer 1.Jest环境配置 2.Jest-MATCHERS匹配器 3.Jest-全局变量设置 4.Puppeteer安装 5.Puppeteer元素获取 6.Puppeteer文本值获取 7.Puppeteer iframe切换 8.Puppeteer 拖拽 9.Puppeteer Js脚本执行 一 需要安装的插件 安装包 命令 TypeScript npm install typescript --save-dev Jest npm install jes…
1. PO 设计模式简介 2. 工程结构说明 3. 工程代码实现 page 包 action 包 business_process 包 util 包 conf 包 test_data 目录 log 目录 screenshot_path 目录 main.py 1. PO 设计模式简介 什么是 PO 模式? PO(PageObject)设计模式将某个页面的所有元素对象定位和对元素对象的操作封装成一个 Page 类,并以页面为单位来写测试用例,实现页面对象和测试用例的分离. PO 模式的设计思想与面向…
PO模式,全称PageObject模式,即页面对象模式.将页面定位与业务操作分离. po模式有以下几个优点: 1.易读性好 2.扩展性高 3.复用性强 4.维护性好 5.代码冗余率低 了解了po模式及po模式的优点,可po模式在实际项目中到底该怎么做呢?接下来我们就来看看: 在本篇中我将po模式分为三层,分别是页面定位层,页面对象层,业务逻辑层:我将对每层逐一介绍. 一.页面定位层:每个页面作为一个模块,将页面元素定位表达式统一存放在该页面 例:登录页面模块部分代码如下 from seleniu…
1 .什么是seleniumSelenium 是一个基于浏览器的自动化工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.Selenium WebDriver 和Selenium Grid: Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并可以把录制的操作以多种语言(例如java,python等)的形式导出成测试用例. Selenium WebDriver:提供Web自动化所需的API,主要用作浏览…
一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去掉验证码 1.手动在请求中添加cookies信息 url = "http://www.baidu.com" driver = webdriver.Firefox() driver.get(url) time.sleep() #添加cookies的方式 c1 = {'domain': '.b…
自动化测试断言失败时,根据不同业务场景,可能需要立即终止或继续执行.这里以 Appium + pytest 为例. 一. 断言失败立即终止 用途一:用例的预期结果是其他用例的前提条件时,assert 失败需要立即终止,这是我们设计自动化测试用例时最常见的场景. 用途二:用例中的任何一个步骤执行失败时,立即终止,因为步骤都执行失败了,没有继续执行下一步的必要.方案:思路与用途一类似,这里把每个测试步骤当做都有一个预期结果(True),封装每一个具体步骤,步骤结果返回布尔值.对该结果进行 asser…
前言 在之前的文章中,讲解过 threadmodel,socket tcp ,socket http,log,astart ,scripts: 都是分片讲解,从今天开始,将带大家,一窥 net.sz.framework 框架: net.sz.framework 框架分为java版本和C#.net 版本,两种语言版本保持高一致性: net.sz.framework 能做什么呢? net.sz.framework 是经过多年实践和研究,包括在线项目验证的底层框架,致力于解决框架问题: 让你更轻松,愉…
ShutIt是一个易于使用的基于shell的自动化框架.它对基于python的expect库(pexpect)进行了包装.你可以把它看作是“没有痛点的expect”.它可以通过pip进行安装. Hello World 让我们从最简单的例子开始吧.创建一个名为example.py的文件: import shutit session = shutit.create_session('bash') session.send('echo Hello World', echo=True) 运行这个文件:…
身为一个资深后端工程师,面对层出不穷的前端框架,总让人眼花缭乱,做一个综合解析贴,从全局着眼,让我们明白各种前端框架的应用范围,为如何选择前端框架,从不同的维度提供一些线索,做为一个长期优化贴,欢迎指正留言讨论.(注:排名不分先后,好像也没有排名) ◆ BootStrap 1.0 2.0 3.0 分类:UI框架 适用范围:优化布局 美化页面 现成组件 使用方式:组件 class 框架愿景: 组成: 特点: 说明:最早的前端框架,好像没有之一,笔者只用过它的组件(1.0)现在已经发展到4.0 真的…