用途
该技能用于在 Workday 学习平台上完成学习课程、认证与合规培训,重点处理 SCORM 1.2 模块(例如 Traliant、Articulate Storyline)。其核心思路是:通过 CDP(Chrome DevTools Protocol)连接到一个已经登录 Workday 的 Chromium 系浏览器,直接操作 SCORM 1.2 的 LMS API,而不是逐页点击幻灯片,从而更快地完成课程。
前置条件
- 全局安装
agent-browser(vp install -g agent-browser或npm install -g agent-browser)。 - 一个已通过 Workday 身份验证的 Chromium 系浏览器。
- 浏览器必须启用远程调试(通过启动参数或内置 DevTools 设置)。
主要能力
- 通过 CDP 连接现有浏览器会话,并列出打开的标签页。
- 定位 Workday 课程页面,截图确认课程结构与课时类型。
- 识别课时类型:Media(SCORM 模块)、External Link、Survey、Document。
- 对 SCORM 1.2 Media 课时,直接调用
window.API的LMSSetValue、LMSCommit、LMSFinish设置分数与完成状态。 - 处理 External Link 课时(点击外链后返回)。
- 处理可选课时(Survey)时,通过“Continue to Complete”跳过。
- 验证课程完成状态(出现“Course Completed!”奖杯页面)。
- 提供故障排查:SCORM API 未找到、
LMSCommit返回 false、会话已结束、Workday 未反映完成状态,以及 Articulate Storyline 快进回退方案。
使用方式
- 连接浏览器:所有 Chromium 系浏览器在启用远程调试时会写入
DevToolsActivePort文件,包含端口号与 WebSocket 路径。可据此设置CDP环境变量,或使用agent-browser --cdp <N> tab。不同浏览器(Helium、Chrome、Brave、Edge、Arc、Vivaldi、ungoogled-chromium)的数据目录路径与 CDP 特性不同,需参考对应文档。 - 导航到课程:若用户提供 URL,则切换标签页并打开;若已在课程页,则截图确认。
- 识别课时类型:通过侧边栏查看课时类型,使用
agent-browser --cdp "$CDP" snapshot -i获取交互元素树。 - 完成 SCORM 1.2 Media 课时:
- 理解标签/框架结构:SCORM API(
window.API)位于 ScormEngineInterface 标签/框架,而非主 Workday 标签或内层内容 iframe。 - 找到 SCORM API 标签:查找标题或 URL 含
ScormEngineInterface、scormengine或rustici的标签,切换后验证typeof window.API !== 'undefined' && typeof window.API.LMSGetValue === 'function'返回 true。 - 检查当前 SCORM 状态:读取
cmi.core.lesson_status、cmi.core.score.raw、cmi.core.lesson_location、cmi.suspend_data、cmi.core.total_time。 - 设置完成与分数:调用
LMSSetValue设置分数与passed状态,然后必须先调用LMSCommit("")再调用LMSFinish(""),两者应返回"true"。 - 返回课程页验证绿色对勾。
- 理解标签/框架结构:SCORM API(
- 完成 External Link 课时:点击“View External Link”按钮,等待新标签打开后返回 Workday 标签。
- 处理可选课时:当出现“All Required Lessons Completed”弹窗时,点击“Continue to Complete”。
- 验证课程完成:截图确认“Course Completed!”奖杯页面。
适用场景
- 被要求完成 Workday 上的培训、认证或合规课程时。
- 需要快速处理大量 SCORM 1.2 模块(如 Traliant、Articulate Storyline)时。
- 已有登录 Workday 的 Chromium 系浏览器会话,希望避免逐页点击时。
限制与注意事项
- 依赖已登录的 Workday 会话与启用远程调试的 Chromium 系浏览器。
- 必须先
LMSCommit再LMSFinish,否则分数/状态可能不持久。 - 若
LMSFinish已调用,会话关闭,可能需要重新加载课时以获取新的 SCORM 会话。 - Workday 会轮询 SCORM 更新,提交后需等待数秒并刷新或重新进入课程页查看状态。
- 若 LMS 校验进度检查点,直接操作 SCORM 可能无效,可使用 Articulate Storyline 时间线快进作为回退方案(仍需逐页点击“Next”)。
- 不同浏览器的 CDP 连接方式与数据目录路径不同,Helium 浏览器存在 CDP 特性需先阅读参考文档。
- 文档未提供关于收费、价格、平台支持范围或效果保证的信息。