分享好友 最新动态首页 最新动态分类 切换频道
如何用AI实现网页自动化
2024-12-26 15:33

之前介绍过一个使用 chatgpt4 分析 dom,然后生成 puppeteer 代码进行自动化的测试工具 Taxy AI。今天发现有人推荐了一个使用 chatgpt4 生成 playwright 代码的测试工具BrowserGPT[1],稍微看了一下,原理比较简单,比较适合我们去研究一下,顺便打开思路。

具体使用

因为我没有 chatgpt4 的 key,所以没办法直接上手使用,只能通过文档去猜测一下具体用法。

BrowserGPT 设置了 openai 的 key 以及 start url 之后就可以在命令行里运行了,大致的使用方式是输入一些自然语言,然后 BrowserGPT 执行 AI 生成的 playwright 代码,实现自然语言自动化的功能。

 

比如上面的一些描述就实现了去 hacknews 网站点击 abc 这篇文章的功能。

原理分析

大致看了一下,执行的流程是这样的,代码在这里[2]

• 获取初始化的 url,打开 chrome 浏览器,跳转到这个 url

• 在命令行里启动 prompt,也就是给用户一个输入的 ui

• 初始化 openai 的 api

• 写个死循环,每次用户输入之后调用doAction函数

• 在doAction函数里简化当前页面的 dom 元素

• 将简化过的 dom 元素传给 chatgpt,让 gpt 根据 playwright 的示例生成代码

• 执行 chatgpt 生成的代码

这里最有意思的部分是doAction函数

可以看到给 chatgpt 的提示词是两个部分合成的,一个是预先定义的,另一个是用户输入的指令。

简单分析一下系统的提示词,大概分这几个部分

• 角色和任务定义: You are a programmer and your job is to write code. You are working on a playwright file. You will write the commands necessary to execute the given input.,让 chatgpt 去扮演程序员

• 环境描述: Your computer is a mac. Cmd is the meta key, META.,运行环境是 mac

• 提供主要信息: Here is the overview of the site;${await parseSite(page, options)},这里把当前页面的 html 元素的 body 简化了一下,再喂给了 AI

• 提供示例: 最后提供一个示例,让 ai 按照例子生成代码,并且让 ai 不要废话,只需要生成代码就好了

一句话描述就是把当前的网页的 html 减肥一下,把页面的 dom 和用户的命令传给 ai,让 ai 生成 playwright 代码,最后执行 ai 生成的代码。

泛化

泛化一下,使用 ai 进行一些测试工具的设计我们可以有下面的一些尝试

• 压缩信息。把页面/api 的描述用尽量简化的方式描述出来,作为输入的一部分喂给 ai,尽量不要基于 ai 自身的先验(也就是学习过的)知识来进行任务的执行,这样可能会产生幻觉

• 定义好的提示词。一般来说好的提示词包含:角色定义,任务描述,示例以及规范的输出描述

• 利用 ai 生成代码或其他文本(比如手工测试用例

• 利用执行 ai 的生成的代码或者保存 ai 生成的内容

其实按道理来说还应该使用 ai 去检查之前的生成的代码或内容,让 ai 提供改进方案或者建议,这样输出的代码可能准确性会更高,不过忽略掉这个步骤问题也不大。更泛化一点看,其实这个工具有点简单的 ai agent 的样子,把 agent 与测试结合起来应该是未来一个不错的尝试方向。

可能会遇到的问题

这个工具目前看来实用性是有限的,这是因为当前时间节点,也就是 2023 年 10 月份,ai 可能会存在下面的问题

• 输出不稳定。同样的提示词可能每次生成的代码是不稳定的,不过之前看到 openai 的 dalle 3 提示词洋洋千言似乎每次得到的结果都很稳定,估计后面的模型在输出稳定性上会有极大的提升,另外好的提示词也能提升输出的稳定性

• 无法生成最新 api 的代码。playwright 的 api 变化很快,我记得半年前写的一些代码现在就可能跑不起来了,不过因为 gpt4 的训练内容并不是最新的,所以生成的代码可能是基于旧的 api,有点鸡肋。不过如果是生成 selenium 的代码的话可能实用性会更强一点,毕竟 se 的主要接口这些年都没怎么变过

最后大家可以头脑风暴一下,除了让 ai 把自然语言转成代码进行自动化测试之前,ai 还能在测试领域有什么样的应用呢

 感谢每一个认真阅读我文章的人

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

最新文章
23个Python爬虫开源项目代码:爬取微信、淘宝、豆瓣、知乎、微博等_python爬取淘宝网站代码
一、Python所有方向的学习路线 Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。二、学习软件
google chrome浏览器下载安卓版
google chrome浏览器安卓版是一款备受好评的手机浏览器软件,软件不仅在电脑端表现卓越,在安卓手机和平板电脑上也可让您畅享快速流畅的浏览体验。你不但可以安全、极速的浏览网页,还可以随时随地的搜索内容,查看最热门的新闻资讯,还可
2024北辰观澜府-售楼处官方网站-百度百科-楼盘测评-上海房天下
北辰观澜府售楼处电话:400-8558-334吴中-北辰观澜府售楼处电话:400-855-8334苏州-吴中-北辰观澜府售楼处电话:4008-5583-34苏州-吴中【北辰观澜府】售楼处电话☎:40085-58334✔✔✔如有问题可来电咨询,线上售楼中心,预约销售专员,一
98所中小学自选人工智能课程方案 深圳南山创新推出AI教育“双选会”
3月18日上午,在深圳华侨城中学举办了一场别开生面的“双选会”:包括腾讯、越疆、大疆、优必选商汤科技、强脑科技等在内的6家高科技企业亮出了“青少年人工智能课程方案”,南山区98所中小学的校长参会考察,自由选择适合自己学校的课程方
AI在医疗机器人中的广泛应用与挑战
作者:禅与计算机程序设计艺术 近年来,随着人工智能领域的蓬勃发展,以及其在医疗领域的广泛应用,医疗机器人的需求量也越来越高,尤其是在临床诊断、治疗、康复等关键场景中。因此,提升医疗机器人
2024抖音焦点电商:短视频带货/直播带货/抖店/达人/星图/千川投流/32节课
2024抖音焦点电商:短视频带货/直播带货/抖店/达人/星图/千川投流/32节课课程目录01第一节—-账号搭建+巨量算数+抖音认知流程梳理.mp402第一节—-账号搭建+巨量算数+抖音认知流程梳理.mp403第一节—-账号搭建+巨量算数+抖音
91久久夜色精品国产爽爽抖音是什么
如今,抖音已经成为了最受欢迎的短视频平台之一,尤其是一些特定的标签、话题和关键词频繁出现在用户的视野中。其中,“91久久夜色精品国产爽爽抖音”就是一个让人颇为好奇的词组。那么,这个关键词究竟代表什么?如今,抖音已经成为了最受
360排名优化价格如何以最优成本提升网站排名?
关键词是影响排名优化价格的关键因素之一。如果目标关键词竞争激烈,需要投入更多的优化资源,价格自然会上涨。例如,对于一些热门行业或细分领域的关键词,竞争非常激烈,这就需要更多的时间和精力进行优化,因此价格会相对较高。网站的优
29个2022 年最佳 WordPress 社交媒体营销推广插件推荐
        自从 Facebook、Twitter、LinkedIn、Pinterest 等社交网站出现以来,社交媒体推广营销已经非常流行,并且成为优秀SEO策略的一部分,这就是为什么你需要使用一款社媒营销插件来推广你的网站。        去年底,Facebook
相关文章
推荐文章
发表评论
0评