AI+测试工具《Testim》使用说明

Testim 使用说明

之前不是写AI+测试的探索么,那我再来写一下AI+测试的测试工具《Testim》的使用说明

版本: 基础入门版
日期: 2025年7月31日
目标用户: 测试工程师、开发人员、QA负责人

1. Testim 是什么?

Testim 是一个利用人工智能(AI)和机器学习(ML)来加速创建、执行和维护 Web 应用程序 端到端(E2E)和 UI 功能测试的自动化测试平台。它的核心优势在于:

  • 快速创建测试: 通过智能录制用户操作。
  • 强大的稳定性: AI 驱动的元素定位器能有效应对 UI 变化,减少测试“脆性”。
  • 易于维护: 直观的界面和智能修复建议简化测试更新。
  • 支持无代码和代码: 适合不同技术水平的用户(可视化编辑器和 JavaScript 代码)。
  • 强大的执行能力: 支持本地浏览器、Selenium Grid 和 Testim Cloud Grid 进行并行测试。
  • 集成: 与 CI/CD 工具(如 Jenkins, CircleCI, Azure DevOps)、问题跟踪工具(如 Jira)、源码管理(如 GitHub)等无缝集成。

2. 核心概念

  • Project(项目): 组织测试套件的容器。
  • Test(测试用例): 一个独立的测试场景(例如:“用户登录”、“添加商品到购物车”)。
  • Step(步骤): 测试用例中的单个操作或验证点(例如:“打开URL”、“输入用户名”、“点击登录按钮”、“验证欢迎信息”)。
  • Locator(定位器): Testim 用来识别页面上元素的智能标识符。这是其稳定性的核心,AI 会为元素生成多个备用定位器(如 CSS 选择器、XPath、文本、属性等),运行时自动选择最稳定的一个。
  • Root(根): 测试用例的基础 URL。
  • Variables(变量): 用于存储和复用数据(如用户名、密码、URL)。
  • Suites(套件): 将多个测试用例分组,便于批量执行和管理。
  • Smart Locators(智能定位器): Testim AI 的核心技术,自动生成并管理元素的定位策略。

3. 开始使用:基础流程

步骤 1:注册与登录

  1. 访问 Testim 官方网站:https://www.testim.io/
  2. 点击 Start Free 或 Sign Up,使用邮箱、GitHub 或 Google 账号注册。
  3. 登录到你的 Testim 账户。

步骤 2:安装浏览器扩展(必需)

Testim 录制功能依赖于其浏览器扩展。

  1. 登录 Testim 后,在 Dashboard 或侧边栏找到 Install Extension / Recorder
  2. 选择你使用的浏览器(Chrome 或 Firefox),点击安装链接。
  3. 按照浏览器提示完成扩展程序的安装。
  4. 安装完成后,浏览器工具栏会出现 Testim 图标。

步骤 3:创建项目

  1. 登录 Testim Web 应用。
  2. 点击 + New Project
  3. 输入项目名称 (e.g., "MyWebApp QA"),选择项目类型(通常选 Web),点击 Create Project

步骤 4:录制你的第一个测试用例

  1. 打开录制器:
    • 在 Testim 项目内,点击 + New Test
    • 给你的测试用例命名 (e.g., "User Login")。
    • 设置 Root URL:输入被测应用的基础 URL (e.g., https://myapp.com)。测试会从这个 URL 开始。
    • 点击 Start Recording。这将自动打开一个新的浏览器标签页(安装了 Testim 扩展)。
  2. 执行操作:
    • 在打开的浏览器标签页中,像真实用户一样操作你的 Web 应用。
    • 导航: 在地址栏输入相对路径或点击链接跳转。
    • 交互: 点击按钮、输入文本、选择下拉框、勾选复选框等。
    • 验证: 在需要验证的地方(如页面标题、元素文本、属性值、元素是否存在/可见):
      • 右键点击目标元素。
      • 在弹出的 Testim 菜单中,选择 Assert 或 Verify,然后选择具体的断言类型(如 Text IsIs VisibleContains TextAttribute Value Is 等)。
    • Testim 扩展会自动捕获你的操作和断言,并将其显示为左侧面板中的一个个 步骤
  3. 管理步骤 (可选):
    • 添加步骤: 任何时候右键元素选择操作或断言。
    • 编辑步骤: 在左侧面板点击步骤旁边的铅笔图标。可以修改操作类型、输入值、定位器策略(高级)或断言条件。
    • 删除步骤: 点击步骤旁边的垃圾桶图标。
    • 添加等待: 如果页面加载慢,右键元素选择 Wait For -> Element (等待元素出现) 或 Wait -> Sleep (固定等待,慎用)。
  4. 结束录制:
    • 完成测试场景的所有操作和验证后,点击 Testim 扩展面板左上角的 Save & Exit 或 Save
    • 录制好的测试用例会自动保存并出现在你的 Testim 项目列表中。

步骤 5:编辑与增强测试用例

  1. 在 Testim 编辑器中打开: 在项目列表中点击你录制的测试用例名称。
  2. 可视化编辑器:
    • 界面分为:左侧(步骤列表)、中间(被测应用预览/录制回放)、右侧(步骤详情/属性/变量)。
    • 编辑步骤: 点击左侧步骤,在右侧面板修改详细信息(如输入值、断言值)。
    • 添加步骤: 点击步骤列表之间的 + 号,或使用右侧面板顶部的 Add Step 按钮(支持从元素库添加、添加断言、添加逻辑步骤如 IfFor 循环 - 可能需要切换到代码视图)。
    • 调整步骤顺序: 拖放左侧的步骤。
    • 使用变量: 在步骤的输入值或断言值中,点击 {} 图标创建或使用现有变量(如 {{username}})。在 Variables 标签页管理变量。
  3. 代码视图 (可选):
    • 点击编辑器顶部的 Code 按钮切换到 JavaScript 代码视图。
    • 在这里你可以编写更复杂的逻辑、调用自定义函数、使用外部库等。
    • 代码视图和可视化视图是双向同步的。
  4. 参数化 (Data-Driven Testing):
    • 创建包含多组测试数据的 CSV 文件或直接在 Testim 中定义 JSON 数组。
    • 在测试用例设置中关联数据源。
    • 在测试步骤中使用变量引用数据源中的列 (e.g., {{data.email}})。Testim 会自动为每组数据运行一次测试。

步骤 6:运行测试用例

  1. 单个测试运行:
    • 在测试用例编辑器中,点击右上角的 Run 按钮。
    • 选择运行环境:
      • Local Browser: 在你本地机器上运行(需安装对应浏览器)。
      • Testim Cloud Grid: 在 Testim 托管的云浏览器/设备上运行(更快、支持并行、多浏览器/版本)。
    • 选择浏览器类型和版本。
    • 点击 Run Test
  2. 查看实时运行: 运行开始后,你可以在编辑器中看到实时回放和日志输出。
  3. 查看结果: 运行结束后,会自动跳转到 Results 标签页,显示:
    • 通过/失败状态。
    • 每个步骤的执行详情(耗时、截图、DOM 快照)。
    • 错误日志和堆栈跟踪(如果失败)。
    • 视频回放(可选,需配置)。

步骤 7:创建与运行测试套件

  1. 创建套件: 在项目视图中,点击 + New Suite,输入套件名称 (e.g., "Smoke Tests")。
  2. 添加测试: 将左侧项目中的测试用例拖拽到右侧的套件面板中。
  3. 运行套件:
    • 在套件编辑器中,点击 Run
    • 配置运行环境(本地或云网格)、浏览器/设备矩阵、并行度等。
    • 点击 Run Suite
  4. 查看套件结果: 运行完成后,查看整体报告,包括每个测试用例的状态、通过率、趋势图等。可以钻取查看单个测试的详细结果。

步骤 8:维护测试用例(关键!)

Testim 的 AI 定位器大大减少了维护工作量,但当 UI 发生显著变化时仍需手动调整:

  1. 识别失败测试: 运行后查看失败结果。
  2. 使用“维护模式”:
    • 打开失败的测试用例。
    • 点击失败步骤旁边的 Fix 按钮或编辑器顶部的 Maintenance Mode 按钮。
    • Testim 会尝试自动修复定位器。它会高亮显示当前定位器找到的元素(可能不是预期元素)。
  3. 重新定位元素:
    • 在打开的浏览器预览中,右键点击你期望测试操作或验证的正确元素
    • 在弹出的 Testim 菜单中,选择与原始步骤相同的操作或断言类型 (e.g., ClickAssert Text Is)。
    • Testim 会为这个新元素生成一组新的智能定位器,并替换旧的定位器。
  4. 验证修复: 保存更改,重新运行测试以确认问题已解决。
  5. 编辑定位器(高级): 在步骤的右侧属性面板中,可以手动查看和编辑 AI 生成的定位器策略,或添加自定义定位器。

4. 最佳实践

  1. 从关键路径开始: 优先自动化核心业务流程(如登录、下单)。
  2. 使用有意义的命名: 清晰命名项目、测试用例、套件、变量。
  3. 善用变量: 将 URL、凭证、常用文本存储为变量,方便管理和更新。
  4. 添加必要的断言: 确保测试验证了业务逻辑而不仅仅是操作成功。
  5. 合理使用等待: 优先使用 Wait For Element 等智能等待,避免硬编码 Sleep
  6. 模块化设计: 对于重复的步骤序列(如登录),考虑创建可复用的 Custom Steps(自定义步骤)。
  7. 定期运行: 将测试套件集成到 CI/CD 流水线中,实现持续测试。
  8. 利用维护模式: 这是保持测试稳定的关键手段。
  9. 查看报告: 定期分析测试结果,识别不稳定测试和性能瓶颈。
  10. 探索集成: 设置与 Jira、Slack 等的集成,及时获取测试反馈。

5. 获取帮助

  • 官方文档: https://help.testim.io/ - 最全面和最新的资源,包含教程、API 参考、最佳实践。
  • Testim University: 通常提供免费的视频教程和在线课程。
  • 社区论坛: 在官网查找社区链接,与其他用户交流。
  • 支持渠道: 登录 Testim 后,通常可通过应用内聊天或提交工单联系技术支持(根据订阅计划)。

Read more

VSCode GitHub Copilot 安装与使用完全指南

VSCode GitHub Copilot 安装与使用完全指南

文章目录 * 一、安装准备 * 1.1 系统要求 * 1.2 Copilot订阅选择 * 1.3 获取访问权限 * 二、安装步骤 * 2.1 安装GitHub Copilot基础扩展 * 2.2 安装GitHub Copilot Chat扩展 * 2.3 登录和授权 * 三、基本使用:代码自动完成 * 3.1 内联代码建议 * 3.2 自定义Copilot配置 * 3.3 使用注释引导Copilot * 四、使用Copilot Chat * 4.1 启动聊天会话 * 4.2 常见Chat命令和技巧 * 4.3 聊天模式

马年新春|AIGC快速生成企业新春营销素材(附Python实操+效果论证)

马年新春|AIGC快速生成企业新春营销素材(附Python实操+效果论证)

摘要:马年新春临近,企业营销进入高峰期,新春海报、祝福文案、短视频素材等需求激增,传统人工制作模式存在效率低、成本高、同质化严重等痛点。本文结合2026年AIGC产业发展趋势,聚焦企业新春营销场景,提供基于Python+Stable Diffusion的AIGC素材生成完整实操方案,包含环境搭建、参数调试、效果优化,结合真实行业数据与文献论证方案可行性,帮助企业快速落地AI生成营销素材,兼顾效率与创意,同时规避版权与合规风险,为马年新春营销赋能。本文所有引用内容均标注下划线,确保引用规范且无链接,原创度达标。 一、引言:马年新春营销痛点与AIGC的解决方案 随着马年新春的临近,企业营销迎来年度关键节点,无论是线下物料(海报、展架)还是线上推广(朋友圈文案、短视频封面),都需要大量贴合新春氛围、融入马年元素的专属素材。据艾瑞咨询发布的《2024年中国AIGC产业研究报告》数据显示,2023年中国AIGC产业整体市场规模已达142亿元人民币,同比增长217.8%,其中营销场景占比超30%,成为AIGC应用最广泛的领域之一下划线[1]。 当前企业新春营销素材制作普遍面临三大痛点:一是效

AIGC联动PS黑科技:一张原画秒出Spine 2D骨骼动画拆件级PSD

AIGC联动PS黑科技:一张原画秒出Spine 2D骨骼动画拆件级PSD

我们正在冲刺一款二次元风格的横版动作抽卡手游。下周二,发行商要来看最新SSR女角色的“大招动画”实机演示。结果,原定外包团队交上来的拆件PSD文件出了大纰漏——外包不仅把层级合并错了,而且所有被遮挡的身体部位(比如被大剑挡住的胸口、被头发遮住的肩膀)完全没有做“补图”处理!主美咆哮着说:“这怎么绑骨骼?角色一转身或者头发一飘,底下的透明窟窿就全露出来了!周末必须把这套极其复杂的哥特洛丽塔裙装加双马尾角色重新拆件、完美补图,周一早上我要看到她在Spine里生龙活虎地动起来!” 做过2D骨骼动画的兄弟们都懂,立绘拆件和补图,简直就是2D美术管线里的“顶级酷刑”。 如果在传统的2D工作流里,你要处理这么一张高精度的二次元角色,过程能把人逼疯。首先,你得在绘画软件里,拿套索工具把头发分为前发、中发、后发、鬓角,把手臂分为大臂、小臂、手掌,把裙子分为前摆、侧摆、后摆……足足拆出上百个图层;这还不算完,最绝望的是“补图”。当你把前面的手臂单独抠出来后,身后的衣服上就会留下一个巨大的空白窟窿。为了让动画运转时没有死角,你必须纯手工、用画笔去脑补并画完那些原本看不见的衣服褶皱、身体结构和光影。

Lingyuxiu MXJ LoRA集成教程:嵌入Stable Diffusion WebUI插件方案

Lingyuxiu MXJ LoRA集成教程:嵌入Stable Diffusion WebUI插件方案 1. 为什么需要这个LoRA引擎?——从“想画出她”到“真的画出来” 你有没有试过在Stable Diffusion里输入“温柔的东方少女,柔光侧脸,细腻皮肤,电影感胶片色调”,结果生成的脸部模糊、光影生硬、发丝粘连,甚至五官比例奇怪?不是模型不行,而是通用底座模型(如SDXL)并不天然懂“Lingyuxiu MXJ”这种高度风格化的审美语言。 Lingyuxiu MXJ不是一张图、一个提示词模板,而是一套可复现、可迭代、可部署的真人人像美学系统:它聚焦于东方女性面部结构的精准刻画(眼距、鼻梁弧度、下颌线过渡)、皮肤质感的物理级模拟(绒毛级细节+亚光漫反射)、以及光影情绪的统一调度(非高光堆砌,而是用软阴影塑造呼吸感)。这套风格无法靠调参或换Lora随便凑出来——它需要被“教懂”,而本项目,就是那个把“