设置
“设置”对话框用于配置适用于机器上所有CukeTest项目的全局设置。
这些设置分为四组:“通用”、“代码生成”、“报告”和“高级”。
“通用”设置
下图显示了通用设置界面:
1. 脚本语言
设置CukeTest默认的脚本语言,可选择JavaScript或python。根据需要选择适合您的项目的脚本语言。
2. 插件
插件是启动被测应用时,加载到被测应用进程中的模块。这里的插件设置会影响启动应用界面。启动应用对话框会自动选中这里设置的模块,并禁用未选中的模块。
3. 语言
语言设置会影响两个方面:
- 显示界面语言。设置为中文时,界面语言为中文;设置为英文时,界面语言为英文。如果设置的语言的翻译尚未完成,则界面将使用默认的英文显示。
- 剧本文件中使用的一组关键字。例如,在英文中,Step关键词可以是 “Given”、“When”、“Then”、“And”、“But”、“*”等,在法文中,关键字为"Etant donné que"、"Quand"、"Alors"、"Et que"、"Mais que"等。在所有语言中,字符“*”可以用作一个步骤开始的关键字。
4. 颜色
缺省为“系统”,设置CukeTest主界面的主题颜色显示,还可以选择“深色”或“浅色”
5. 运行时显示字幕
默认为开启(ON)。运行时在屏幕底部显示字幕,表示当前正在运行的场景和步骤。相应的编号表示当前运行第几个场景和场景中的第几个步骤。下图是运行时显示的字幕示例:
字幕有助于了解当前的运行状态,在执行录制屏幕视频时,字幕可帮助回放时理解当前的内容。
“代码生成”设置
下图是代码生成的配置界面:
1. 生成注释
决定是否在从步骤文本生成步骤定义代码时包含注释。默认情况下,此选项是启用的。如果您不想要默认的注释,请将其禁用。
2. 函数样式
CukeTest会为Feature文件中的每个步骤生成一个函数调用。函数样式可以选择以下三种方式:
- 简单:不带回调参数的函数调用。
- 使用回调:带回调参数的函数调用,需要显式调用回调函数来告知Cucumber该函数执行完成。
- 异步函数:使用JavaScript的
async/await
语法。详细信息请参阅相关文档以了解如何使用async/await
关键字。
3. 匹配的表达格式
Cucumber可以使用两种类型的表达式来匹配步骤定义函数:
- 正则表达式
- Cucumber表达式(Cucumber Expression),具有更好的可读性。
您可以选择习惯的表达式格式。
报告
下图是生成html报告的配置界面:
1. HTML报告样式
对于运行生成的html报告,有3个报告主题可供选择:
- Bootstrap
- Foundation
- Simple
缺省的设置是Bootstrap,这个主题有着最丰富的报表界面。有关更多信息,请参阅报告主题。通过批量运行工具运行,可以获得第4种报告主题(multi)。
2. 截图保存位置
决定运行时的屏幕截图是嵌入在报告文件中,还是单独保存并通过报告文件进行引用(仅适用于HTML报告)。
当截图较少时,可以选择将截图嵌入在HTML报告中。当截图较多时,请选择将截图保存为独立文件,以避免HTML文件过大。
3. 资源文件
当您的网络可以访问互联网时,可以选择使用外部链接加载资源文件,这样CSS、JavaScript等文件将使用外部CDN链接。这可以减小HTML报告的大小。
当您的网络无法直接访问互联网时,可以选择将资源文件“嵌入在HTML文件中”。这样生成的HTML报告将包含所有资源文件,即使在没有网络连接的情况下也能够在浏览器中打开报告文件。
高级
运行引擎
CukeTest默认使用的是Electron提供的Node运行环境。如果你希望切换为系统本地的Node环境,请选择node.js (x64)
选项。切换到本地引擎可以避免由于Node版本差异引起的调用失败,特别是在运行时对Node版本有严格要求的情况下,例如涉及编译好的二进制文件的库调用。
注意:如果选择Node.js,建议的本地Node.js版本应在12.14以上,另外,并非所有内置的API都支持运行在Node.js引擎下。
日志级别
日志级别控制CukeTest在运行过程中输出的日志详细程度。日志级别设置越低,包含的日志信息越多。以下是不同日志级别的解释:
error
级别:记录错误信息,表示运行可能已经出错或因此中止。warn
级别:记录可能出现问题的警告信息,可能会导致运行出现问题,或在未来出现问题,例如接口的弃用提示(deprecated message)。info
级别: 记录正常运行时的日志信息,例如系统的初始化、步骤的成功执行等等。通过查看info
级别的日志,可以快速定位系统中出现的错误和警告。
手动停止运行
手动停止运行选项控制CukeTest的运行模式。默认情况下,该选项处于关闭状态,即所有场景运行完后自动停止脚本运行。当CukeTest运行完所有场景后,会自动停止进程,并关闭由脚本启动但阻碍脚本自动结束的未停止子进程。如果启用此选项,CukeTest运行完成后不会自动停止进程,而是等待用户手动点击“停止运行”按钮或等待这些未停止的子进程退出。
例如,在进行Web自动化测试时,当CukeTest自动销毁进程时,由于浏览器会话是在CukeTest进程中创建的,它们将随着CukeTest进程的结束而关闭。如果希望在CukeTest运行完成后保持浏览器会话不关闭,以便进行观察和调试,可以启用此选项。
对于由CukeTest的
launchProcess()
方法启动的应用程序,它们不会随着CukeTest的结束而关闭。这是因为它们以分离模式(detached)启动,与CukeTest的主进程没有关联,因此不会受到CukeTest运行进程销毁的影响。
嵌入式Qt侦听端口
启用或禁用用于嵌入式自动化的端口。启用后,所有Qt自动化功能都会运行到嵌入式端(而不是本地),并且会在状态栏左下角的Qt
字眼左侧出现远程连接标识,当成功与嵌入式端建立连接后,该标识会变为绿色。
更改该设置后,需要重启CukeTest实例才会生效。
如果打开了多个CukeTest实例则需要全部关闭后再打开。