摘要:
Playwright 简介 Playwright 官网:https://playwright.dev/python/docs/intro Web 自动化测试框架。 跨平台多语言支持。 支持 Chromium、Firefox、WebKit 等主流浏览器自动化操作。 Playwright 的优点 支持所 阅读全文
2023年12月29日 #
摘要:
目录 cypress简介 cypress与selenium对比 cypress环境部署 cypress框架基本用法 cypress简介 基于 JavaScript 的前端测试工具 可以对浏览器中运行的任何内容进行快速、简单、可靠的测试 对每一步操作都支持回看 覆盖了测试金字塔模型的所有测试类型【界面 阅读全文
摘要:
目录 capability概述 capability配置 Selenium Grid简介 分布式运行 capability概述 Capabilities是WebDriver支持的标准命令之外的扩展命令(配置信息) 配置web驱动的属性,如浏览器名称、浏览器平台等。 结合Selenium Grid完成 阅读全文
摘要:
selenium option 常用操作 目录 Options概述 添加启动配置 Options概述 是一个配置浏览器启动的选项类,用于自定义和配置Driver会话 常见使用场景: 设置无头模式:不会显示调用浏览器,避免人为干扰的问题。 设置调试模式:调试自动化测试代码(浏览器复用) https:/ 阅读全文
摘要:
目录 多浏览器测试介绍 多浏览器测试实现 多浏览器测试背景 用户使用的浏览器(firefox,chrome,IE 等) web 应用应该能在任何浏览器上正常的工作,这样能吸引更多的用户来使用 多浏览器测试概述 是跨不同浏览器组合验证网站或 web 应用程序功能的过程 是兼容性测试的一个分支,用于保持 阅读全文
摘要:
目录 测试用例通用结构回顾 web自动化测试用例流程设计 web自动化测试用例项目结构 现有测试用例的问题 可维护性不高 可读性较差 稳定性较差 用例结构设计 测试用例的编排 测试用例的项目结构 自动化测试用例流程-回顾 web自动化测试-用例设计 类型框架对应作用 前置 setup_class/B 阅读全文
摘要:
目录 异常截图场景 异常截图实现 异常截图场景 场景: 增加自动化测试代码的可测性 丰富报告 实现原理 装饰器 自动化关键数据记录 截图 日志 page_source 实现代码 # 装饰器逻辑 def ui_exception_record(func): def run(*args, **kwarg 阅读全文
摘要:
目录 page object 模式简介 page object 设计原则 page object 模式简介 马丁福勒个人博客 selenium 官网 传统 UI 自动化的问题 无法适应 UI 频繁变化 无法清晰表达业务用例场景 大量的样板代码 driver/find/click POM 模式的优势 阅读全文
摘要:
cookie 是什么 Cookie 是一些认证数据信息,存储在电脑的浏览器上 当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息 为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入 若用例需要经常执行,复用浏览器则不是一个好的选择 大部 阅读全文
摘要:
复用浏览器简介 为什么要学习复用浏览器 自动化测试过程中,存在人为介入场景 提高调试 UI 自动化测试脚本效率 复用已有浏览器-配置步骤 需要退出当前所有的谷歌浏览器(特别注意) 输入启动命令,通过命令启动谷歌浏览器 找到 chrome 的启动路径(下一页 ppt)s 配置环境变量(下一页 ppt) 阅读全文
摘要:
目录 行为日志记录 步骤截图记录 page source记录 什么是关键数据 代码的执行日志 代码执行的截图 page source(页面源代码) 记录关键数据的作用 内容作用 日志 1. 记录代码的执行记录,方便复现场景2. 可以作为bug依据 截图 1. 断言失败或成功截图2.异常截图达到丰富报 阅读全文
摘要:
⽂件上传的⾃动化 弹框处理机制 ⽂件上传: ❖ input标签可以直接使⽤send_keys(⽂件地址)上传⽂件 ❖ ⽤法: ❖ el = driver.find_element_by_id('上传按钮id') ❖ el.send_keys(”⽂件路径+⽂件名") 文件上传示例: 测试案例: ❖ 打 阅读全文
摘要:
多窗口处理与⽹页frame: selenium⾥⾯如何处理多窗口场景 ❖ 多个窗口识别 ❖ 多个窗口之间切换 selenium⾥⾯如何处理frame ❖ 多个frame识别 ❖ 多个frame之间切换 多窗口处理: 点击某些链接,会重新打开⼀个窗口,对于这种情况,想在新页⾯上操作,就 得先切换窗口了 阅读全文
摘要:
使用场景 使用场景对应事件 复制粘贴 键盘事件 拖动元素到某个位置 鼠标事件 鼠标悬停 鼠标事件 滚动到某个元素 滚动事件 使用触控笔点击 触控笔事件(了解即可) https://www.selenium.dev/documentation/webdriver/actions_api ActionC 阅读全文
摘要:
目录 显式等待原理 expected_conditions 封装等待条件 显式等待原理 在代码中定义等待一定条件发生后再进一步执行代码 在最长等待时间内循环执行结束条件的函数 WebDriverWait(driver 实例, 最长等待时间, 轮询时间).until(结束条件函数) 显式等待-expe 阅读全文
摘要:
不知道应该使用哪种定位方式? 元素定位不到无法解决? 定位方式 @startmindmap * 定位方式 ** 通用场景 *** 通用 Web 定位方式 *** js 定位(CSS) ** 特殊场景 *** 弹框-alert() *** 日期控件 *** 文件上传 *** 其他场景... @endm 阅读全文
摘要:
目录 强制(直接)等待 隐式等待 显式等待 为什么要添加等待 避免页面未渲染完成后操作,导致的报错 from selenium import webdriver from selenium.webdriver.common.by import By def wait_sleep(): """ 如果直 阅读全文
摘要:
目录 打开网页 刷新 回退 最大化 最小化 浏览器控制 模拟功能测试中对浏览器的操作 操作使用场景 get 打开浏览器 web自动化测试第一步 refresh 浏览器刷新 模拟浏览器刷新 back 浏览器退回 模拟退回步骤 maximize_window 最大化浏览器 模拟浏览器最大化 minimi 阅读全文