
Web自动化测试
文章平均质量分 78
hogwarts_beibei
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
技术分享 | app自动化测试(Android)--高级定位技巧
XPath 简介XPath 的英文全称为:XML Path Language,意旨对 XML 中的元素进行路径定位的一种语言,它可适用 XML 标记语言,Html 标记语言,app Dom 结构。XPath 是自动化工具的定位基础,可适用于 Selenium 工具,Appium 工具,Appcrawler 工具。......原创 2022-06-13 10:31:15 · 555 阅读 · 0 评论 -
技术分享 | web自动化测试-PageObject 设计模式
为 UI 页面写测试用例时(比如 web 页面,移动端页面),测试用例会存在大量元素和操作细节。当 UI 变化时,测试用例也要跟着变化, PageObject 很好的解决了这个问题。使用 UI 自动化测试工具时(包括 selenium,appium 等),如果无统一模式进行规范,随着用例的增多会变得难以维护,而 PageObject 让自动化脚本井然有序,将 page 单独维护并封装细节,可以使 testcase 更稳健,不需要太多改动。原创 2022-05-19 16:04:37 · 183 阅读 · 0 评论 -
技术分享 | web自动化测试-执行 JavaScript 脚本
在页面上直接执行 js 在某个已经定位的元素上执行 js 执行jsSelenium 可以通过 execute_script() 来执行 JavaScript 脚本。 driver.execute_script:同步执行 JavaScript 在当前的窗口框架下 js 脚本可以在浏览器的开发者工具 → Console 中进行调试 js的返回结果获取元素控件中的属性值 与 Selenium 结合,在代码中返回 js 结果 P..原创 2022-05-18 10:00:29 · 484 阅读 · 0 评论 -
技术分享 | web自动化测试-文件上传与弹框处理
input 标签使用自动化上传,先定位到上传按钮,然后 send_keys 把路径作为值给传进去。如图所示,是企业微信文件上传的页面 定位到标签为 input,type 为 file 的元素信息,然后使用 send_keys 把文件路径作为值给传进去。原创 2022-05-17 12:29:32 · 235 阅读 · 0 评论 -
技术分享 | Selenium多浏览器处理
实战演示Python 版本#导入依赖import osfrom selenium import webdriverdef test_browser(): #使用os模块的getenv方法来获取声明环境变量browser browser = os.getenv("browser").lower() #判断browser的值 if browser == "headless": driver = webdriver.PhantomJS()原创 2022-05-15 15:25:38 · 143 阅读 · 0 评论 -
技术分享 | 网页 frame 与多窗口处理
知识点iframe解析如图可以看到iframe的标签iframe 的多种切换方式HTML 代码示例<iframe src="1.html" id="hogwarts_id" name="hogwarts_name"></iframe>那么通过传入 id、name、index 以及 Selenium 的 WebElement 对象来切换 framePython 版本# index:传入整型的参数,从 0 开始,这里的 0 就是第一个原创 2022-05-15 15:24:53 · 157 阅读 · 0 评论 -
技术分享 | web 控件的交互进阶
当需要模拟键盘或者鼠标操作时,Python需要使用 ActionChains 来处理,Java需要 Actions 来处理。常用模拟鼠标的行为,比如单击,双击,拖动等。当调用 ActionChains 或者 Actions 的方法时,会将所有操作按顺序存入队列,当调用 perform() 方法时,队列中的事件会依次执行。原创 2022-05-15 15:23:52 · 75 阅读 · 0 评论 -
技术分享 | Web自动化之显式等待与隐式等待
等待就是当运行代码时,如果页面的渲染速度跟不上代码的运行速度,就需要人为的去限制代码执行的速度。在做 Web 自动化时,一般要等待页面元素加载完成后,才能执行操作,否则会报找不到元素等各种错误,这样就要求在有些场景下加上等待。原创 2022-05-13 14:37:00 · 185 阅读 · 0 评论 -
技术分享 | Selenium 测试用例编写
编写Selenium测试用例就是模拟用户在浏览器上的一系列操作,通过脚本来完成自动化测试。原创 2022-05-13 14:35:55 · 171 阅读 · 0 评论 -
技术分享 | SeleniumIDE用例录制
1、录制回放方式的稳定性和可靠性有限2、只支持 Firefox、Chrome3、对于复杂的页面逻辑其处理能力有限原创 2022-05-13 14:35:11 · 196 阅读 · 0 评论 -
技术分享 | Web自动化之Selenium安装
Web 应用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作。但是手工执行的任务容易出现人为的错误,也比较费时间。因此,将这些任务自动化,就可以消除人为因素。Selenium 可以帮助我们自动化完成验收测试,通过构建更严格的测试,从而使软件更为可靠也更易于维护。原创 2022-05-13 14:33:50 · 165 阅读 · 0 评论 -
技术分享 | web前端的HTML浅析
WEB 就是 World Wide Web 的缩写,称之为全球广域网,俗称 WWW。对于用户来说其实就是由多个网页组合在一起而形成一种服务。WEB 前端负责展示一个网站当中前台网页里的内容。而网页是由前端工程师使用 HTML 语言编写而成的一种文件,它里面会包含文字、图片、超链接、音频、视频等等这些内容。HTML 超文本标记语言(Hyper Text Markup Language)就是用来描述网页的一种计算机语言。原创 2022-05-12 17:16:22 · 75 阅读 · 0 评论 -
技术分享 | 网页 frame 与多窗口处理
技术分享 | 网页 frame 与多窗口处理原创 2022-05-11 11:58:50 · 262 阅读 · 0 评论 -
技术分享 | web 控件的交互进阶
当需要模拟键盘或者鼠标操作时,Python需要使用 ActionChains 来处理,Java需要 Actions 来处理。常用模拟鼠标的行为,比如单击,双击,拖动等。当调用 ActionChains 或者 Actions 的方法时,会将所有操作按顺序存入队列,当调用 perform() 方法时,队列中的事件会依次执行。原创 2022-05-10 11:27:55 · 211 阅读 · 0 评论 -
技术分享 | Web 控件定位与常见操作
在做 Web 自动化时,最根本的就是操作页面上的元素,首先要能找到这些元素,然后才能操作这些元素。工具或代码无法像测试人员一样用肉眼来分辨页面上的元素。那么要如何定位到这些元素,本章会介绍各种定位元素的方法。原创 2022-05-09 10:33:49 · 213 阅读 · 0 评论 -
通用 api 封装实战,带你深入理解 PO
image1080×434 66.5 KB在普通的接口自动化测试中,如果接口的参数,比如 url,headers等传参改变,或者测试用例的逻辑、断言改变,那么整个测试代码都需要改变。apiobject设计模式借鉴了pageobject的设计模式,可以实现一个优雅、强大的接口测试框架。理念apiobject设计模式可以简单分为6个模块,分别是API对象、接口测试框架、配置模块、数据封装、Utils、测试用例。接口测试框架:base_api,完成对api的驱动 API对象:继承base..原创 2022-05-07 12:32:47 · 296 阅读 · 0 评论 -
接口自动化测试分层设计与实践总结
本文以笔者当前使用的自动化测试项目为例,浅谈分层设计的思路,不涉及到具体的代码细节和某个框架的实现原理,重点关注在分层前后的使用对比,可能会以一些伪代码为例来说明举例。接口测试三要素: 参数构造 发起请求,获取响应 校验结果 一、原始状态当我们的用例没有进行分层设计的时候,只能算是一个“苗条式”的脚本。以一个后台创建商品活动的场景为例,大概流程是这样的(默认已经是登录状态下):创建商品-创建分类-创建优惠券-创建活动要进行接口测试的话,按照接口测试的三要素来原创 2022-05-07 10:56:52 · 428 阅读 · 0 评论 -
后端Web开发框架(Java)
web开发框架原创 2022-04-22 17:08:56 · 179 阅读 · 0 评论 -
实战 | UI 自动化测试框架设计与 PageObject 改造
1080×242 18.6 KB在 UI 自动化测试过程中,面对复杂的业务场景,经常会遇到这样的挑战:简单的录制/回放速度快,但无法适应复杂场景; 编写自动化测试脚本比较灵活,但工作量大且可维护性差; 以往的封装技术(PageObject)可以适应各种 UI 场景,但结构松散,无法在多项目中迁移; 因此,测试团队通常还需要一种定制测试框架,用以弥补现有框架的缺点。 由于 UI 自动化测试框架围绕 UI 界面使用,因此,依旧选用 PageObject 设计模式对 UI 及测试进行封装..原创 2022-04-21 17:05:55 · 99 阅读 · 0 评论 -
Docker 还可以搭建Web服务器nginx ?这么宝藏的吗?
浏览器访问:Docker Hub查看Nginx镜像详细信息。下载镜像,默认会下载lastest最新版本的软件,可以指定软件的版本。例如:nginx:1.17.9。docker pull nginxdocker pull nginx:1.17.9运行 Nginx 容器命令为:docker run -d --name nginx -p 8088:80 nginx:1.17.9run:启动一个容器 -d:后台守护进行方式运行 –name:指定容器的名字 -p:.原创 2022-04-20 15:42:50 · 115 阅读 · 0 评论 -
H5性能分析实战来啦~
H5性能该如何测试呢?很多人不知道该如何下手。其实可以借用W3C协议完成自动化H5性能测试。因为W3C标准是浏览器标准,一般浏览器都支持W3C标准,它规定使用者可以通过api查询性能信息。W3C官网:Navigation Timing更多关于专项测试的文章,可以点击公众号关注哦~前文使用chrome浏览器对webview进行手工查看,伴随着业务增多,数量加大,手工操作的速度会无法跟上业务增长,此时需要自动化方法测试webview性能。当页面加载时,会渲染一系列内容,渲染过程可分为多...原创 2022-04-20 15:42:04 · 279 阅读 · 0 评论 -
JavaScript脚本注入,完成Selenium 无法做到的那些事
当 webdriver 遇到无法完成的操作时,可以使用 JavaScript 来完成,webdriver 提供了 execute_script() 方法来调用 js 代码。执行 js 有两种场景:在页面上直接执行 js 在某个已经定位的元素上执行 jsJavaScript 是一种脚本语言,有的场景需要使用 js 脚本注入辅助我们完成 Selenium 无法做到的事情。Selenium 可以通过 execute_script() 来执行 JavaScript 脚本。 driver.exec原创 2022-04-20 15:41:12 · 332 阅读 · 0 评论 -
Web自动化测试中显式等待与隐式等待该怎么用?
在实际工作中等待机制可以保证代码的稳定性,保证代码不会受网速、电脑性能等条件的约束。等待就是当运行代码时,如果页面的渲染速度跟不上代码的运行速度,就需要人为的去限制代码执行的速度。在做 Web 自动化时,一般要等待页面元素加载完成后,才能执行操作,否则会报找不到元素等各种错误,这样就要求在有些场景下加上等待。最常见的有三种等待方式:隐式等待 显式等待 强制等待 后面会一一介绍这三种模式的使用场景。设置一个等待时间,轮询查找(默认 0.5 秒)元素是否出现,如果没出现就抛出异常。这也是最常见原创 2022-04-20 15:39:16 · 206 阅读 · 0 评论 -
web自动化总卡在文件上传和弹框处理上?
在有些场景中,需要上传文件,而 Selenium 无法定位到弹出的文件框,以及网页弹出的提醒。这些都是需要特殊的方式来处理。input 标签使用自动化上传,先定位到上传按钮,然后 send_keys 把路径作为值给传进去.如图所示,是企业微信文件上传的页面 定位到标签为 input,type 为 file 的元素信息,然后使用 send_keys 把文件路径作为值给传进去。1080×459 67.3 KBdriver.find_element(By.CSS_SELECTOR, "原创 2022-04-20 15:38:21 · 144 阅读 · 0 评论 -
应用打包还是测试团队老大难问题?
Docker是一个开源的应用容器引擎,基于 Go 语言开发,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的系统。Docker 是世界领先的软件容器平台,Docker 官方的口号是”调试你的应用,而不是调试环境“。在进行多人协作开发时,开发者可以使用 Docker 来消除所谓“我这里运行是好的”(works on my machine)问题,运维人员使用 Docker 来并行的运行和管理应用来获得更优计算密度,基于各自独立的容器,不会因为环境原因导致应用原创 2022-04-19 14:37:28 · 163 阅读 · 0 评论 -
录制你的第一个web 自动化测试用例
Web应用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作。但是手工执行的任务容易出现操作人员人为的错误,花费的时间成本也比较多。因此,将这些任务自动化,就可以消除人为因素。Selenium可以帮助我们自动完成验收测试,通过构建更严格的测试,从而使软件更为可靠也更易于维护。Selenium 测试框架及用例编写Selenium是什么?Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多原创 2022-04-19 14:36:36 · 248 阅读 · 0 评论 -
聊聊后端Web开发框架(Python)的简单使用
页面渲染:客户端渲染页面(SPA)、服务端渲染页面(模板技术) 数据库连接技术:数据库连接池、数据访问 服务管理:接口、路由、权限 异步任务调度:异步、同步、回调 Python:Flask Java:Spark Java Python:Django Java:Spring 全家桶FlaskFlask 是一个使用 Python 编写的轻量级 Web 应用程序框架。官网:Welcome to Flask — Flask Documentation (2.0.x)安装使用 pip原创 2022-04-10 10:59:46 · 523 阅读 · 0 评论