...
如果您使用的是 Selenic IDE 插件,则两个过程(捕获测试执行行为和分析数据)都在一个操作下执行。以下视频概述了如何在命令行中使用 Selenic。
Scroll Ignore | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
捕获测试执行数据
在执行测试时使用 -javaagent
参数指定和配置 selenic_agent.jar 文件,以指导 Selenic 测试逻辑。必须启用 captureDom
选项才能捕获测试执行数据。至少需要一次成功的测试执行 Selenic 才能提供建议。
...
Table of Content Zone | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Code Block |
---|
[ERROR] ParasoftSelenicAgent - Failed to start web proxy session: A session is currently in process. Wait for the session to finish before starting another one. |
测试框架应配置为在单线程中运行(一次一种测试场景),以便捕获所有测试场景的 API 测试。
数据
此选项指定在测试执行期间记录的数据的位置。Selenic 分析器的-data选项应配置为与为此选项配置的值相匹配。
默认为 <USER>/parasoft/recorded_data
proxyPort
如果您在 UI 测试执行期间创建 API 测试,请指定 SOAtest Web 代理的端口号。
有关更多信息,请参阅Parasoft RecorderSOAtest Smart API Test Generator文档。
默认值为 40090
soatestHost
如果您在 UI 测试执行期间创建 API 测试,请指定运行 SOAtest 服务器的主机。
有关更多信息,请参阅Parasoft RecorderSOAtest Smart API Test Generator文档。
默认为 localhost
soatestPort
如果您在 UI 测试执行期间创建 API 测试,请指定 SOAtest 服务器的端口号。
有关更多信息,请参阅Parasoft RecorderSOAtest Smart API Test Generator文档。
默认值为 9080
secure
如果您在 UI 测试执行期间创建 API 测试,此选项使 Selenic 能够通过 HTTPS 与 SOAtest 服务器通信。
默认为 false
username
如果您在 UI 测试执行期间创建 API 测试并且为 SOAtest 服务器启用了用户身份验证,则此选项指定用于登录服务器的用户名。
password
如果您在 UI 测试执行期间创建 API 测试并且为 SOAtest 服务器启用了用户身份验证,则此选项指定登录服务器的密码。
maxSessionDaysToAnalyze
此选项指示在执行期间应用 selfHealLocators
选项时要包括多少天的测试会话。默认情况下,没有限制,因此 Selenic 将分析所有可用的录制数据。
在以下示例中,Selenic 代理将使用 12 天的录制数据来确定自动修复失败的定位器或等待条件的最佳选项。
maxSessionDaysToAnalyze=12
日期仅指最近录制数据的天数,而非日历天数。
maxSessionDaysToKeep
此选项指示要在磁盘上保留多少天的测试会话数据。
默认值为 90
。
在以下示例中,Selenic 代理将在磁盘上保留 12 天的录制数据:
maxSessionDaysToKeep=12
指定的值是指录制数据的天数,而非日历天数。
screenshot
此选项使测试机器能够为 任一 WebDriver 命令 Selenic 日志截取屏幕截图。
您可以设置以下值之一:
全部
- 捕获 Selenium 测试中每个查找元素
调用的屏幕截图失败
- 仅捕获失败的查找元素
调用的屏幕截图无
- 不捕获任何屏幕截图
默认为无。
selfHealing
此选项启用自我修复功能。设置为 true
时,启用selfHealLocators
和 selfHealWaitConditions
选项。
默认为 false。
selfHealLocators
此选项使 Selenic 能够在运行时根据测试执行期间收集的历史信息自动尝试更新定位器。
启用selfHealing
时默认为 true
。
selfHealWaitConditions
此选项使 Selenic 能够扩展 Selenium 等待条件,以防止在测试执行期间由于等待条件不足而导致超时或其他类型的错误。
启用selfHealing
时默认为 true
。
additionalWaitTimePercent
此选项指定应延长等待条件的额外时间,以防止在测试执行期间出现超时或与等待条件不足相关的其他错误。使用此选项指定的值是原始等待条件的百分比。Selenic 将根据百分比计算额外时间并延长 Selenium 测试的等待条件。以下示例中,最初配置为4
秒的等待条件将延长 50% 至 6
秒。
additionalWaitTimePercent=50
当启用selfHealing
和 selfHealWaitConditions
时,默认值为50
。
minAdditionalWaitTime
此选项指定将原始等待条件延长的最小秒数,以防止在测试执行期间与等待条件不足有关的超时或其他错误。如果结果百分比小于最小值,则此选项的值会覆盖使用additionalWaitTimePercent
选项动态设置的值。
当启用selfHealing
和 selfHealWaitConditions
时,默认值为 true
。
sessionId
此选项指定测试执行数据的标识符。此设置是可选的,仅应在跨多个项目运行测试时使用,以便可以将来自所有项目的 Selenium 数据分组到一个会话下。否则,每个项目的 Selenium 数据将录制在单独的会话 ID 下。因此,在您可以在不同的项目中运行测试之前,需要为项目中的每个测试执行运行分析器。
示例:
No Format |
---|
mvn test -DargLine=-javaagent:/path/to/selenic_agent.jar=captureDom=true,sessionId=ID_1 |
分析数据时,在调用 selenic_analyzer.jar 文件时使用-sessionId
选项来引用测试执行期间设置的 ID。示例:
No Format |
---|
java -jar /path/to/selenic_analyzer.jar -sessionId ID_1 |
默认情况下,使用日期和时间戳。
Selenic 将执行数据存储在data
属性指定的目录中。录制数据目录中的每个子目录都包含各个会话的执行数据。子目录以 sessionId
值命名。如果未配置 sessionId
参数,Selenic 将默认将数据存储在以时间戳标识的子目录中。
如果您没有指定会话 ID,那么您必须在每次在项目中运行测试时运行分析器,然后再在不同项目中运行测试。每次测试运行的会话 ID 应该不同,以便将早期测试运行的结果与以后的测试运行相结合。因此,建议使用构建标识符或默认时间戳。
...