用途:为 Angular/AngularJS 应用生成 Protractor 端到端(E2E)测试,支持 JavaScript 与 TypeScript。需注意 Protractor 已于 2023 年停止维护,Angular 团队建议改用 Playwright 或 Cypress,因此该技能更适合维护既有 Protractor 测试的场景。
主要能力:生成基础测试用例(如登录成功与失败校验);使用 Angular 专用定位器,包括 by.model、by.binding、by.exactBinding、by.repeater、by.cssContainingText、by.buttonText、by.partialButtonText;构建 Page Object 模式封装页面元素与操作;提供 protractor.conf.js 配置示例(Jasmine 框架、seleniumAddress、specs、capabilities、jasmineNodeOpts、onPrepare 中启用 waitForAngularEnabled)。
使用方式:按资料示例编写 describe/it 测试,通过 element(...) 定位并 sendKeys、click,用 expect 断言 URL 或文本;Page Object 以类封装元素与 login 方法后实例化调用。配置中可设置 seleniumAddress 指向本地 WebDriver。云端执行需设置环境变量 LT_USERNAME、LT_ACCESS_KEY,并将 seleniumAddress 指向 hub.lambdatest.com/wd/hub,capabilities 中配置 LT:Options(build、name、platformName、video、console、network 等)。运行命令为 npx protractor conf.js。
迁移参考:资料给出 Protractor 到 Playwright 的对照,如 element(by.model('x')) 对应 page.locator('[ng-model="x"]')、browser.get 对应 page.goto、sendKeys 对应 fill、browser.sleep 对应 page.waitForTimeout,waitForAngular 在 Playwright 中因自动等待而不再需要。
限制:Protractor 已弃用,不建议用于新项目;资料未提供安装步骤、版本要求、收费与价格信息,也未说明具体平台支持范围。更深入的调试、CI/CD 集成与最佳实践需参考 reference/playbook.md,云端集成参考 reference/cloud-integration.md 与 shared/testmu-cloud-reference.md。