Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

如果您使用的是 Selenic IDE 插件,则两个过程(捕获测试执行行为和分析数据)都在一个操作下执行。以下视频概述了如何在命令行中使用 Selenic。

Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue

Vimeo
Height450
Width800
URLhttps://player.vimeo.com/video/463113692


捕获测试执行数据

在执行测试时使用 -javaagent 参数指定和配置 selenic_agent.jar 文件,以指导 Selenic 测试逻辑。必须启用 captureDom 选项才能捕获测试执行数据。至少需要一次成功的测试执行 Selenic 才能提供建议。

...

Table of Content Zone
maxLevel4
minLevel4
locationtop

applitools 

此选项使 Selenic 能够与 Applitools 集成。当设置为 true 时,这些选项applitoolsApplicationName是必需的。

默认为 false

applitoolsApplicationName

此选项指定您正在测试的应用程序的名称。指定的名称用于 Applitools Web 应用程序 UI 的 App 字段中,以便您可以按应用程序进行过滤。

如果applitools 选项为 true,则此选项是必需的。

captureDom

当 Selenium 尝试定位元素时,此选项使 Selenic 能够捕获 DOM。Selenic 需要此选项来自动修复错误的定位器或为定位器生成建议。

默认为 false

collectCoverage

此选项使 Selenic 能够在测试执行期间为测试影响分析收集覆盖率数据。有关详细信息,请参阅测试影响分析

默认为false 

coverageAgentHost

此选项指定运行 AUT 和覆盖率代理的主机,以便在测试执行期间捕获覆盖率数据以进行测试影响分析。有关详细信息,请参阅测试影响分析

默认为 localhost 

coverageAgentPort

此选项指定运行 AUT 和覆盖率代理的端口,以便在测试执行期间捕获覆盖率数据以进行测试影响分析。有关详细信息,请参阅测试影响分析

默认值为 8050

coverageAgentUserID

该选项指定一个用户ID,以便在多会话模式下收集覆盖时可以区分不同的用户。有关详细信息,请参阅测试影响分析。 

coverageDir

此选项指定要从 AUT 服务器下载的覆盖率数据的本地目录,以便在测试执行期间进行测试影响分析。有关详细信息,请参阅测试影响分析

createApiTests

此选项使 Selenic 能够在 UI 测试执行期间使用 Parasoft SOAtest 创建 API 测试。 

默认为 false

如果启用此选项,一次只能创建一个 .tst 文件。如果您同时运行测试,则一次只会为一种场景创建 API 测试。对于同时运行的其他场景,日志中将显示以下错误:

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 时,启用selfHealLocatorsselfHealWaitConditions 选项。 

默认为 false。

selfHealLocators

此选项使 Selenic 能够在运行时根据测试执行期间收集的历史信息自动尝试更新定位器。 

启用selfHealing 时默认为 true

selfHealWaitConditions

此选项使 Selenic 能够扩展 Selenium 等待条件,以防止在测试执行期间由于等待条件不足而导致超时或其他类型的错误。  

启用selfHealing 时默认为 true

additionalWaitTimePercent 

此选项指定应延长等待条件的额外时间,以防止在测试执行期间出现超时或与等待条件不足相关的其他错误。使用此选项指定的值是原始等待条件的百分比。Selenic 将根据百分比计算额外时间并延长 Selenium 测试的等待条件。以下示例中,最初配置为4秒的等待条件将延长 50% 至 6 。  

additionalWaitTimePercent=50 

当启用selfHealingselfHealWaitConditions时,默认值为50

minAdditionalWaitTime  

此选项指定将原始等待条件延长的最小秒数,以防止在测试执行期间与等待条件不足有关的超时或其他错误。如果结果百分比小于最小值,则此选项的值会覆盖使用additionalWaitTimePercent选项动态设置的值。 

当启用selfHealingselfHealWaitConditions时,默认值为 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 应该不同,以便将早期测试运行的结果与以后的测试运行相结合。因此,建议使用构建标识符或默认时间戳。

...