@buoy-gg/情景
使用已安装的Buoy工具的动作定义可重复的测试设置 。 一个方案可以配置响应覆盖,编辑存储,选择测试用户,或导航. 在运作之前审查其步骤和预期成果.
安装
npm install @buoy-gg/core @buoy-gg/scenarios @buoy-gg/network @buoy-gg/route-events
账户设置
开始开发建设。 你需要一个免费或ProBuoy账户。 从您的应用程序文件夹中签名 :
npx --package=@buoy-gg/core buoy login
你的浏览器打开了浮标.gg. 点击允许。 然后CLI写下 dev 符号. 它在德夫建筑工作30天.
在博览会, 信使进入 .env.development.localBuoy自己在dev建筑里读的 也可以自己传:
import { Buoy } from "@buoy-gg/core";
Buoy.init({ licenseKey: process.env.EXPO_PUBLIC_BUOY_KEY });
在回放原生CLI时,符号会输入 .env.local 作为 BUOY_KEY。React Industrial不会自己装入文件。 用你的应用软件的套装把信使递过来 将菜单保存在您的应用程序使用的供应商内部 。 安装软件包后重新启动开发服务器 。 见 快速启动 用于完整的根组件.
定义一个情景
这个集成片段假设您的应用程序有一个匹配的菜单端点和 /cart 路线。 调整您的应用程序的 URL 模式、 响应机构、 路由、 并构建标签, 然后在您的现有提供者内部制作此菜单 :
import { FloatingDevTools } from "@buoy-gg/core";
import { defineScenario, createScenariosTool } from "@buoy-gg/scenarios";
const outOfStock = defineScenario({
id: "oos-item",
name: "Out-of-stock item at store {{storeId}}",
expectedOutcome: "Cart shows the item sold out; checkout is blocked.",
authoredAgainst: "5.4.0",
vars: [
{ key: "storeId", type: "enum", options: ["100", "220"], default: "100" },
],
steps: [
{ tool: "network", action: "upsertOverrideRule",
params: { rule: {
urlPattern: "*/menu/{{storeId}}*", methods: ["GET"],
kind: "respond", status: 200, body: '{"items":[{"id":"dbl","inStock":false}]}',
} } },
{ tool: "route-events", action: "navigate", params: { path: "/cart" } },
],
});
<FloatingDevTools
apps={[createScenariosTool({ scenarios: [outOfStock], currentBuild: "5.4.0" })]}
/>
由代码定义的情景只在设备上被读取. 安装和配置每个步骤引用的工具;宣布步骤不会执行该工具的应用集成.
检查激活和停用
预览情景,提供其变量,并解决任何飞行前出错. 在开发构建中运行它,触发受影响的应用请求,并检查预期的屏幕. 解除并证实正常行为回归.
飞行前验证已知要求后方可执行. 运行时间的失败仍然会留下部分效果; 它不是您应用程序和后端的交易 。 审查每一步骤的结果.
脱跑者在停用时支持主动覆盖和冒用效应。 存储写入需要明确的撤销步骤来恢复先前的值 。 被检查者报告了不可逆效应并如活化一样小心地进行了测试清理. 相冲突的情况可能需要替换活动设置;不要假设任意的情况可以一起运行.
远程草稿需要在设备上接受才能运行. 在React Industrial发行架构中,跑者需要付费计划和屏幕上的Buoy菜单. 见 情景指南 用于变量、草稿、预览和撤消步骤.
桌面和MCP
反应原生连接需要 @buoy-gg/external-sync。跟踪 桌面连接指南,然后确认所选设备. MCP 磁共振 使用来自 buoy login 在你的电脑上。 自由拥有基本的MCP. 从MCP读取这个工具需要Pro.
设备数据可以通过您的局域网前往配置的经纪人. 账户验证会提出网络请求. 见 遥测 用于数据流动细节.
网络支持(未释放)
在 FloatingDevTools 模块中注册此软件包的 /web 命名空间, 在浏览器应用程序中使用它共享的面板和动作 。 浏览器构建在此取出中是可用的, 尚未发布 。 见 网络设置指南 用于注册、依赖和浏览器边界.