探索Dify自动化测试:ollama+skyvern赋能高效测试新体验——Dify集成Skyvern攻略
引言:
在 Dify 自动化测试的宏大版图中,skyvern 的加入无疑是一场具有深远影响的重大变革,为测试工作带来了前所未有的突破和提升 。
在解决传统测试工具难题方面,skyvern 展现出了强大的实力。传统的测试工具在面对网页元素定位和操作时,往往依赖于固定的元素定位方式,如 XPath 或 DOM 解析。然而,现代网页的布局和结构日益复杂,且更新迭代频繁,这使得传统测试工具的稳定性和适应性受到了极大的挑战。一旦网页的布局发生变化,哪怕只是微小的调整,基于 XPath 或 DOM 解析的测试脚本就可能会失效,需要耗费大量的时间和精力进行重新编写和调试。而 skyvern 则彻底摆脱了对这些固定元素定位方式的依赖,它通过视觉大模型和计算机视觉技术,让机器能够像人类一样 “看懂” 网页,根据网页的语义和视觉信息来定位和操作元素。这就好比一个人在浏览网页时,不会因为按钮的位置或颜色发生了变化而找不到它,而是能够根据按钮上的文字和周围的上下文信息来识别它。例如,在测试一个电商网站的购物流程时,如果使用传统测试工具,当网站的商品详情页进行了改版,原本用于添加商品到购物车的按钮位置发生了改变,测试脚本就可能会出错。但如果使用 skyvern,它能够通过对网页的视觉理解,准确地找到新位置的添加购物车按钮,并顺利完成操作,大大提高了测试的稳定性和可靠性。
从增强 Dify 测试适应性角度来看,skyvern 使得 Dify 能够轻松应对各种不同类型和风格的网页。无论是简单的静态网页,还是复杂的动态网页,skyvern 都能够快速理解其结构和内容,准确地执行测试任务。而且,skyvern 还具备强大的跨网站通用性,同一个测试工作流可以直接应用于不同的网站,无需为每个网站单独定制测试脚本。这就像是一把万能钥匙,能够打开各种不同的锁。比如,在进行多平台电商应用的测试时,使用 skyvern 可以编写一套通用的测试工作流,用于测试不同电商平台的商品搜索、购买等功能,极大地提高了测试效率和覆盖面,降低了测试成本。
skyvern 还显著增强了 Dify 测试的准确性。它能够通过对网页元素的精准理解和分析,避免因元素定位不准确或操作不当而导致的测试错误。同时,skyvern 还具备智能推理能力,能够根据测试过程中的实际情况,自动调整操作策略,确保测试结果的准确性和可靠性。例如,在测试一个在线表单填写功能时,skyvern 可以根据表单字段的提示信息和用户输入的内容,智能地判断输入是否符合要求,并及时给出相应的提示和反馈,从而提高了测试的准确性和有效性。
我们可以先Centos环境下调试
|
# 测试登录 curl -X POST http://localhost:8000/run \ -H "Content-Type: application/json" \ -d '{"description":"打开 http://192.168.0.30/ceshi\n点击用户名输入框\n输入 admin\n点击密码输入框\n输入 admin123\n点击登录按钮\n等待3秒"}' |
输出结果


若页面元素抓取不到
调页面元素(可以不操作)
|
# 进入容器 # 运行 Python 调试脚本 with sync_playwright() as p: exit # 退出容器 |

调整/opt/skyvern下 skyvern_server.py代码
第1步:登录 Dify
浏览器打开:http://192.168.0.18:8080
第2步:创建新工作流
-
点击 创建应用 → 工作流
-
命名为 "自动化登录"


📝 配置工作流节点
节点1:开始节点
点击开始节点,添加输入变量:
-
变量名:
test_description -
类型:文本
-
标题:测试需求描述

节点2:HTTP 请求节点(调用 Skyvern)
点击 + 添加节点 → 选择 HTTP 请求
配置:
|
URL: http://localhost:8000/run Method: POST Headers: Content-Type: application/json Body: { |
节点3:结束节点
点击 + → 结束
输出变量选择 HTTP 请求节点的 body

🎯 发布并测试
第1步:发布工作流
点击右上角 发布
第2步:运行测试
点运行

在测试需求描述中不要输入
点击 运行

运行结果

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)