Cypress 的 Applitools 测试GenAI 插件
Applitools TestGenAI使技术和非技术小组成员能够有效地扩大测试范围。 这种包容性使非技术参与者能够进行测试自动化,有助于更有效地在整个团队中分配工作量.
TestGenAI 的好处:
- 节省时间: 它快速记录用户动作,生成测试例而无需为每个步骤写手动代码.
- 自发自愈与强健试验: 该工具将填表等平庸任务自动化,并提供了改善生成的测试代码整体质量的便利设施,使测试更加坚固并随着时间推移易于维护.
- 现代测试覆盖:快速在使用Cypress的代码中创建现代测试覆盖,其中包含了行业上的最佳做法并允许从现有的测试实施,如Selenium,轻松地向Cypress迁移.
- 便利非发展中国家参与测试自动化,有效分配测试创建工作量.
- 自动重用变量生成 .
- Page Object Model 生成可以使代码更有效率,测试更可读.
如果你有任何问题,请访问我们 文档 或者联系我们 支持@applitools.com
开始
安装
npm install @applitools/testgenai-cypress
初始设置
备选案文1:自动设置
您可以通过运行自动配置 TestGenAI 插件 :
npx @applitools/testgenai-cypress init
备选案文2:手动设置
如果您喜欢手动设置或遇到自动配置的问题 :
- 添加到您的
cypress/support/e2e.js数字 :
import '@applitools/testgenai-cypress/commands'
- 添加到您的
cypress.config.js数字 :
const { testGenAICypressTasksSetup } = require("@applitools/testgenai-cypress/tasks");
module.exports = defineConfig({
e2e: {
setupNodeEvents(on, config) {
testGenAICypressTasksSetup(on)
},
},
});
- 创建所需的目录 :
- 创建一个
testgenaicypress 目录中的文件夹 - 内部
testgenai,创建两个文件夹:autoheal财务报告和审定财务报表POMs - 最后结构:
./cypress/testgenai/autoheal财务报告和审定财务报表./cypress/testgenai/POMs
- 创建一个
配置
使用配置选项
通过 . 配置 TestGenAI 插件 env.applitoolsTestGenAI 对象 cypress.config.js。这里有一个结合各种选项的例子:
module.exports = defineConfig({
env: {
applitoolsTestGenAI: {
// Basic configuration
isEnabled: true,
autohealDataFolders: ['cypress/testgenai/autoheal'],
// Network settings
waitForNetworkCalls: {
isEnabled: true,
idle: 3000,
timeout: 30000
},
// Element timing settings
getElementTimeout: 30000,
ifExistsTimeout: 5000,
// Debug settings
debug: {
fileLogEnabled: true,
recordTestRun: false
}
}
},
});
所有配置选项都是可选的,如果没有指定,将使用它们的默认值.
配置选项参考
核心设置
| 选项 | 默认 | 说明 |
|---|---|---|
isEnabled | true | 禁用/ 启用飞行前循环插件 |
generateFixedTests | true | 生成自动愈合测试 |
allowObscuredElements | true | 允许模糊元素 |
forceActions | false | 力量与元素的相互作用,即使它们被其他元素所覆盖或者不完全可见. |
网络设置
| 选项 | 默认 | 说明 |
|---|---|---|
waitForNetworkCalls.isEnabled | true | 等网络通话结束再继续测试 |
waitForNetworkCalls.idle | 2000ms | 等网络电话闲置再继续 |
waitForNetworkCalls.timeout | 60000ms | 网络呼叫完成的最大等待时间 |
元素时间设置
| 选项 | 默认 | 说明 |
|---|---|---|
getElementTimeout | 60000ms | 等待元素出现的最大时间 |
ifExistsTimeout | 3000ms | 等待元素存在的最大时间 |
waitToDisappear.searchElementTimeout | 10000ms | 在等待元素消失之前等待元素出现的最大时间 |
waitToDisappear.timeout | 90000ms | 等待元素消失的最大时间 |
选择器和自动愈合设置
| 选项 | 默认 | 说明 |
|---|---|---|
autohealDataFolders | [] | 自动修补文件夹的目录路径列表 |
selectorGeneratorOptions.excludedAttributeTypes | [] | 在自愈中排除的选定属性列表 |
selectorGeneratorOptions.excludedAttributeValueKeywords | [] | 包含关键词的选定者属性列表以排除自愈 |
selectorGeneratorOptions.includedAttributeTypes | [] | 自愈中要选择的属性列表 |
调试设置
| 选项 | 默认 | 说明 |
|---|---|---|
debug.fileLogEnabled | false | 启用调试日志并生成调试文件夹中的日志文件 |
debug.recordTestRun | false | 启用测试执行的调试记录并生成调试文件夹中的zip文件 |