目前可以落地的AI自动化项目

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


我们之前介绍过 AppAgent,基本上完全靠 prompt 来描述自动化要做的事情,个人觉得没有可控性,就是说,我们无法确定AI如何理解我的描述,并产生行为。

就比如,公司新招来一个实习生,我给他讲完开发需求,我无法确定他是否理解,理解到什么程度,以及是否会做,做到什么程度。更好的方式是什么?当然是将任务进行拆解, 一步一步的让这个实习生完成开发任务,哪一步不会随时交流,整个流程是可控的。

是否有这样的AI项目?现阶段,注意,我说的是现阶段, Midscene.js 的路子是对的。并且,我体验下来挺好的,我们完全可以在已有的playwright项目尝试使用。

midscene

官方文档:https://midscenejs.com/zh/index.html

Midscene.js是一个人工智能驱动的自动化SDK,可以控制页面,执行断言,并使用自然语言提取JSON格式的数据。

Midscene.js 采用了多模态大语言模型(LLM),能够直观地“理解”你的用户界面并执行必要的操作。你只需描述交互步骤或期望的数据格式,AI 就能为你完成任务。

多种集成形式

  • chrome 浏览器插件

  • YAML编写用例

  1. target:

  2. url: https://www.bing.com

  3. tasks:

  4. - name: 搜索天气

  5. flow:

  6. - ai: 搜索 "今日天气"

  7. - sleep: 3000

  8. - name: 检查结果

  9. flow:

  10. - aiAssert: 结果中展示了天气信息

这种方式比代码的能力弱很多,个人不推荐。

  • 集成现有自动化工具

    • Playwright

    • Puppeteer

个人比较推荐这种方式。

playwright + midscene

为了进一步降低 playwright 和 midscene 的使用,我创建了 playwright-mind 项目。

github: https://github.com/autotestclass/playwright-mind

基于 playwrightmidscene.js自动化测试项目,给 Playwright插上AI的翅膀,目前可以落地的AI自动化测试项目。

安装与配置

  1. 克隆项目到本地:

  2. git clone https://github.com/autotestclass/playwright-mind

  3. 安装依赖

  4. cd playwright-mind

  5. npm install

  6. 安装运行浏览器

  7. npx playwright install

  8. 配置大模型

本项目默认使用 qwen-vl-max-latest 模型, 经过验证可用,关键是免费。如果想其他模型请参考midscenejs官方配置。

阿里云百练:https://bailian.console.aliyun.com/

使用其他模型:https://midscenejs.com/zh/model-provider.html

.env 文件中配置环境变量:

export OPENAI_API_KEY="sk-your-key"

export OPENAI_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"

export MIDSCENE_MODEL_NAME="qwen-vl-max-latest"

使用示例

在项目的 test目录,附带了 bing-search-ai-example.spec.ts例子。

示例代码

import { expect } from "@playwright/test";

import { test } from "./fixture/fixture";


test.beforeEach(async ({ page }) => {

await page.goto("https://cn.bing.com");

});


test('search keyword on bing', async ({ page, ai, aiQuery, aiAssert }) => {

// 👀 输入关键字,执行搜索

await ai('搜索输入框输入"playwright"关键字,并回车');

await page.waitForTimeout(3000);


// 👀 找到列表里耳机相关的信息

const items = await aiQuery(

'string[], 搜索结果列表中包含"playwright"相关的标题'

);


console.log("search result", items);

console.log("search result number", items?.length);

// 断言大于 1 条搜索结果

expect(items?.length).toBeGreaterThan(1);


// 👀 用 AI 断言

await aiAssert('检查搜索结果列表第一条标题是否包含"playwright"字符串');

});

三种关键方法:交互(.ai, .aiAction), 提取 (.aiQuery), 断言 (.aiAssert)。

  • .ai方法描述步骤并执行交互

  • .aiQuery 从 UI 中“理解”并提取数据,返回值是 JSON 格式,你可以尽情描述想要的数据结构

  • .aiAssert 来执行断言

运行测试

> npx playwright test --headed tests/bing-search-ai-example.spec.ts


Running 1 test using 1 worker


✓ 1 [chromium] › baidu-search-ai-example.spec.ts:9:5 › search headphone on bing (52.1s)

search result [ 'Playwright 中文网', '快速入门Playwright框架:从零到自动化测试的第一 ...' ]

search result number 2

Midscene - report file updated: /Users/fnngj/zhpro/github/playwright-mind/midscene_run/report/playwright-merged-2025-01-10_00-44-50-464.html


Slow test file: [chromium] › baidu-search-ai-example.spec.ts (52.1s)

Consider splitting slow test files to speed up parallel execution

1 passed (55.3s)

Midscene - report file updated: /Users/fnngj/zhpro/github/playwright-mind/midscene_run/report/playwright-merged-2025-01-10_00-44-50-464.html

测试报告

关于 playwright (node.js)

评论区可能会问有没有python版本,node.js版本的playwright非常完美,我觉得不需要再造python版本,从我去年录制了node.js版本的playwright 之后已经彻底爱上了node.js版,用其他语言的版本纯属是浪费时间。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
在这里插入图片描述
在这里插入图片描述

<think>好的,我现在需要帮助用户了解如何在Midscene.js中集成Playwright。首先,我得仔细看看用户提供的参考信息。用户引用了两个链接,一个是Midscene.js与Playwright的集成指南,另一个是Midscene.js的总体介绍。根据这些信息,我需要整理出整合的具体步骤和注意事项。 首先,用户提到的引用[1]直接指向集成指南的链接,所以我应该参考那个页面的内容。根据引用[2],Midscene.js是一个基于AI自动化测试框架,支持自然语言指令和生成报告。而Playwright是一个流行的浏览器自动化工具,所以整合它们应该涉及到如何在Midscene.js中调用Playwright的功能。 接下来,我需要确保回答的结构清晰,分步骤说明集成过程。可能包括安装必要的依赖、配置Midscene.js以使用Playwright、编写测试脚本的示例等。同时,要检查是否需要特定的语法或API调用,比如是否需要导入模块或设置环境变量。 另外,用户可能关心整合后的优势,比如如何利用Midscene.js的自然语言处理来简化Playwright脚本的编写,或者如何生成可视化报告。这些点需要在回答中强调,以突出整合的价值。 还需要注意用户提到的格式要求,比如行内数学表达式用$...$,独立公式用$$...$$。不过这个问题可能不涉及数学公式,但需要确保代码块正确使用Python或JavaScript语法高亮,根据示例中的代码结构来调整。 最后,生成相关问题时要围绕整合步骤、配置方法、优势和应用场景展开,确保问题对用户有进一步的帮助。例如,可能的问题包括整合后的性能优化、如何处理特定浏览器的测试场景,或者如何扩展功能等。 现在需要将以上思考整理成步骤式的回答,确保每个步骤明确,并引用提供的参考资料。同时,要使用中文,保持语言自然流畅,避免技术术语过于复杂,让用户容易理解。</think>### Midscene.js 与 Playwright 集成方法 #### 1. 安装依赖 首先需要安装 Midscene.js 的核心包和 Playwright 驱动程序: ```bash npm install midscenejs playwright ``` #### 2. 初始化配置 在项目根目录创建 `midscene.config.js`,配置 Playwright 作为执行引擎: ```javascript module.exports = { runtime: { engine: 'playwright', browserType: 'chromium', // 可选 chromium/firefox/webkit headless: false } } ``` #### 3. 编写测试脚本 使用自然语言指令编写测试用例(示例文件 `login.test.mid`): ``` 打开 "https://example.com/login" 验证 标题包含 "登录" 输入 "#username" 内容 "testuser" 输入 "#password" 内容 "pass123" 点击 "登录按钮" 等待 页面跳转完成 断言 当前URL包含 "/dashboard" ``` #### 4. 执行测试 通过 CLI 命令运行测试: ```bash npx midscene run login.test.mid ``` #### 5. 查看报告 测试完成后自动生成可视化报告: $$ report_path = \frac{project_root}{reports} $$ 在浏览器打开 `reports/login-test.html` 查看详细执行记录和截图[^1]。 #### 整合优势 1. **自然语言交互**:通过 LLM 将文本指令转换为 Playwright API 调用[^2] 2. **智能元素定位**:自动处理元素选择器更新问题 3. **跨浏览器支持**:通过配置轻松切换 Chromium/Firefox/WebKit 4. **混合执行模式**:支持同时运行传统 Playwright 脚本和自然语言测试用例 ```javascript // 高级用例:混合编程模式 const { execute } = require('midscenejs/playwright'); async function hybridTest() { // 传统 Playwright 代码 await page.goto('https://example.com'); // Midscene 自然语言指令 await execute(`验证页面包含 "欢迎标语"`); } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值