EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

EasyTest脚本参考

EasyTest提供的脚本语言用于定义必须由测试脚本执行的测试动作。该语言允许您使用非常简单的语法在XAF应用程序的UI上执行各种操作。本主题描述了脚本语言语法,并提供了所有可用测试命令的列表。有关如何创建和运行测试脚本的一般信息,请参阅EasyTest Basics主题。若要查看如何扩展EasyTest命令集,请参阅“如何:实现自定义EasyTest命令”主题。

EasyTest脚本语法

EasyTest脚本文件逐行翻译。开头没有空格的行被视为其中包含命令。如果一行具有开始的空白,则该行应具有该行上先前命令的参数。也可以根据需要包含任意数量的空行。可以通过以分号字符开始相应的行来注释掉命令。

通常,命令是具有以下语法的多行结构:

前缀命令名[primary-parameter [(primary-parameter-argument)]]

[SPACE辅助参数名称[[索引]]运算符value1 [,value2 [,value3 ...]]]

[SPACE辅助参数名称[[索引]]运算符value1 [,value2 [,value3 ...]]]

...

元素

描述

字首

指定命令类型。以下前缀可用。

  • -以下命令是预处理程序指令。这些命令大多数不参与测试流程,并且可以位于文件中的任何位置。它们仅用于配置测试。
  • * -以下命令应成功执行。如果命令不成功,则认为这是错误,并且测试执行将被中断。
  • -以下命令的执行应失败。如果未失败,则测试脚本会将其视为错误,然后测试执行将停止。

请注意,每个命令不一定支持所有前缀。

命令名

要执行的命令的名称。有关完整的命令列表,请参见下文。

主要参数

许多命令只需要一个参数。在这种情况下,应使用主要参数。

主要参数参数

主要参数有时需要其他信息。例如,如果命令要执行一个动作,而主要参数是动作名称,则可能还需要为指定的动作指定一个参数。例如,如果一个动作通过ID查找记录,则需要指定ID。

二次参数名

值1

值2

...

如果命令需要多个参数,则它们的名称和值对将在命令语句后的各行中指定。这些对可以是赋值语句,也可以是比较语句。参数名称必须以单个空格作为前缀,以表明它是一个参数,而不是下一个命令。某些参数可以采用值列表,并用逗号分隔。如果值包含逗号,请将该值用引号引起来,以避免将其解释为列表。

操作员

EasyTest语法允许以下运算符。

  • = -用作赋值或比较运算符。
  • != -比较运算符。指定参数不应等于指定值。

您可以在参数值中使用通配符和正则表达式

下表列出了可以在Easy Test脚本中使用的命令。

预处理程序指令

常用命令

表命令

文件操作命令

应用

删除数据库

包含文件

IfDef

万一

还原数据库

超时

行动

可用的动作

动作可见

CheckActionsHint

CheckActionValue

CheckFieldValues

CheckValidationResult

比较屏幕截图

ExecuteEditorAction

执行脚本

现场可见

填写表格

处理对话框

可选动作

重新打开应用程序

SetActiveWindowSize

SetStringCompareMode

睡觉

检查表

CheckTableSelection

清空选项

ExecuteColumnEditorAction

ExecuteTableAction

填充记录

流程记录

选择记录

取消选择记录

CheckFileExists

比较文件

拷贝文件

删除文件

下面提供了命令描述和示例。

预处理程序指令

预处理程序指令以哈希符号开头。这些命令没有定义任何动作;它们只是提供有关正在测试的应用程序,要使用的数据库,超时等信息。某些预处理程序指令将应用程序名称或数据库名称作为参数。这些名称必须在EasyTest配置文件中定义。


应用

前缀: “#”,参数:主要。

这是必需的命令-测试脚本应至少包含一个“应用程序”命令。主要参数指定要测试的应用程序的名称。

#Application MyAppWin

删除数据库

前缀: “#”,参数:主要。

删除由main参数指定的数据库。此命令可能会破坏许多有价值的数据,因此应谨慎使用。

#DropDB TestDB

包含文件

前缀: “#”,参数:主要。

允许您将一组来自外部文件的命令包含到当前脚本中。指示预处理器将指定文件的内容视为在命令所在的位置这些内容已出现在当前脚本中。因此,您不能在IncludeFile命令中包含独立的测试脚本,因为Application命令将在结果脚本中重复。

#IncludeFile LogonProcedure.inc

IfDef

前缀: “#”,参数:主要。

允许您根据当前正在测试的应用程序来控制测试流程。主参数指定一个应用程序。此预处理程序指令和相应的EndIf指令之间的命令仅对指定的应用程序执行。不支持嵌套的IfDef节。

#IfDef MyAppWin

万一

前缀: “#”,参数:无。

包含IfDef节。


还原数据库

前缀: “#”,参数:主要。

从备份还原由main参数指定的数据库。必须在配置文件中使用附加的指定BackupFileName参数定义数据库名称。

#RestoreDB TestDB

超时

前缀: “#”,参数:主要。

指定测试时间限制。主要参数以分钟为单位指定总体测试时间。如果您认为将超过EasyTest配置文件中指定的默认测试时间限制,请使用此命令。

#Timeout 20

常用命令

通用命令使您可以执行各种操作。通常,这些命令可以在任何视图中使用。在某些情况下,您可能需要使用完全限定的名称。

  • 要在以Action名称作为参数的命令中引用位于嵌套框架内的Action,请使用以下语法:nested-frame-caption动作标题(例如,Children.New)。
  • 要在以字段名称作为参数的命令中引用位于由DetailPropertyEditor表示的嵌套框架内的属性编辑器,请使用以下语法:nested-frame-caption字段标题(例如,Manager.First Name)。

行动

前缀: “ *”和“!”,参数:主要(带参数)。

执行操作或激活带有嵌套视图的选项卡。使用Action命令执行Action时,主要参数指定Action标题。主要参数的参数指定操作的数据。使用“操作”命令激活选项卡时,主要参数指定选项卡的标题。

*Action Navigation(Contacts)

*Action Children.New

*Action Contacts

可用的动作

前缀: “ *”和“!”, 参数:主要。

检查主要参数指定的操作是否可见并启用。

!ActionAvailable Children.New

动作可见

前缀: “ *”和“!”,参数:次要。

检查主参数指定的操作是否可见。

*ActionVisible Save

CheckActionsHint

前缀: “ *”, 参数:次要。

检查指定操作中的提示文本。如果您出于残疾原因需要检查禁用的操作,这将很有用,因为这些原因包含在“操作”提示中。

注意:要检查多行提示,请使用几个带有索引器符号的辅助参数。另请注意,您无需检查多行提示中的所有行。

*CheckActionsHint 
 Delete[0] = Delete
 Delete[1] = Requires selection

CheckActionValue

前缀: “ *”和“!”, 参数:次要。

检查“单选操作”或“参数化操作”的当前值。

*CheckActionValue View(Default)

CheckFieldValues

前缀: “ *”, 参数:次要。

需要一个活动的详细视图。检查字段值是否符合辅助参数指定的条件。要检查多行文本值,请使用几个带有索引器符号的辅助参数。另请注意,您无需检查多行文本中的所有行。

*CheckFieldValues
 Name = Nick
 Age != 20

*CheckFieldValues
 ErrorInfo[0] = Problems were detected during data validation.*
 ErrorInfo[1] = - "Name" must contain "Word1". 
 ErrorInfo[2] = - "Name" must contain "Word2".

CheckValidationResult

前缀: “ *”和“!”,参数:次要。

检查当前显示的验证结果。支持验证结果的Windows窗体和ASP.NET表示形式(分别是弹出窗口和ErrorInfo控件)。可以指定以下辅助参数。

  • 消息-可选。检查主要验证错误消息。
  • -可选。考虑用于Windows Forms应用程序。它指定要测试的DisplayableValidationResultItem列表视图列的标题。您可以指定两个“目标”和“描述”列标题,或一个“描述”列。如果省略Columns参数,则将测试带有“描述”标题的列。
  • 信息-可选。检查每个破坏规则的验证结果(规则目标和描述)。通过Columns参数指定针对单个“ Description”列进行测试时,Info参数值为描述文本(例如,“ Title”不能为空。)。指定针对“目标”和“描述”进行测试时,Info参数值是验证目标名称和描述文本,以逗号分隔(例如,玛丽�泰利森,“年龄”必须大于或等于“ 18” 。)。
  • SkipUnexpectedErrors- 可选。设置为True时,将禁用对Info参数未指定的验证错误的检查。默认值为False,因此当发生意外的验证错误时,CheckValidationResult命令执行将失败。

如何:测试验证规则主题中提供了有关CheckValidationResult命令的更多详细信息。

*CheckValidationResult
 Message = Problems were detected during data validation. *
 Info = "Title" must not be empty.

*CheckValidationResult
 Columns = Target, Description
 Message = Problems were detected during data validation. *
 Info = Mary Tellitson, "Age" must be greater than or equal to "18".
 SkipUnexpectedErrors = True

比较屏幕截图

前缀: “ *”和“!”, 参数:主要和次要。

获取活动窗口(或浏览器内容)的屏幕截图,并将其与主要参数指定的模板PNG图像进行比较。首次执行脚本且没有模板时,测试执行将失败,并且此命令将在配置文件文件夹的“图像”子文件夹中创建一个模板图像。实际测试将在后续测试运行中执行,如果当前屏幕截图和模板屏幕截图不同,则命令将失败。建议将CompareScreenshot命令与SetActiveWindowSize命令一起使用,以确保当前屏幕截图和模板屏幕截图上的窗口大小相同。该面具secondary参数可用于从比较中排除某些屏幕截图区域。遮罩是双色调PNG文件。

*CompareScreenshot MySolution01.png

ExecuteEditorAction

前缀: “ *”和“!”,参数:主要(带参数)。

执行由查找属性编辑器或对象属性编辑器提供的操作。该命令的主要参数指定属性编辑器的名称。主要参数的参数指定查找属性编辑器的操作。

*ExecuteEditorAction Manager

*ExecuteEditorAction Issue(Clear)

*ExecuteEditorAction File

*ExecuteEditorAction File(Browse)

执行脚本

前缀: “ *”,参数:次要。

仅适用于ASP.NET应用程序。执行由辅助参数指定的JavaScript代码。每个参数指定一行代码。如果返回函数返回一个值(该值被视为错误消息),则测试执行失败。

*ExecuteScript
 Line1 = var testControl = TestControls.Instance.FindControl('Field', 'User Name');
 Line2 = testControl.control.SetFocus();

现场可见

前缀: “ *”和“!”,参数:次要。

检查主要参数指定的属性编辑器是否可见。

!FieldVisible User

填写表格

前缀: “ *”和“!”,参数:次要。

需要一个活动的详细视图。用值填充字段。辅助参数指定字段标题及其值。还支持查找字段。

*FillForm
 First Name = Jill
 Last Name = Green
 Department = Sales Department

处理对话框

前缀: “ *”和“!”,参数:次要。

在Windows窗体应用程序中,处理对话框窗口。在ASP.NET应用程序中,处理通过ErrorInfo控件和浏览器确认显示的消息。此命令可以具有辅助参数。

  • 标题-可选。在Windows窗体应用程序中,检查窗口标题。在ASP.NET应用程序中,检查当前页面的标题。
  • 消息-可选。检查对话框的消息文本。如果指定的消息和实际的消息匹配,则命令将响应第一个参数指定的对话框。否则,测试将失败。
  • 响应-可选。指定所需的响应。此参数的值是对话框按钮的标题(是/确定或否/取消)。

要检查多行消息,请使用几个带有索引器符号的Message参数。如何:测试验证规则主题中提供了使用此命令的示例。

*HandleDialog
 Caption = FormCaption
 Message[0] = Line1
 Message[1] = Line2
 Respond = Yes
注意

EasyTest并非旨在以与语言无关的方式来管理特定于语言的消息。根据当前语言设置,为“字幕”和“响应”参数使用特定于语言的字符串。


可选动作

前缀: “ *”,参数:主要(带参数)。

行为类似于“动作”命令。不同之处在于此命令不需要目标Action可见且处于活动状态。如果操作是隐藏的或不活动的,则此命令不执行任何操作。创建平台无关的脚本时,OptionalAction命令可能很有用。例如,Windows窗体应用程序中缺少将ASP.NET应用程序中当前的“详细视图”切换为编辑模式的“编辑操作”。

*OptionalAction Edit

重新打开应用程序

前缀: “ *”,参数:主要。

关闭正在测试的应用程序,然后重新打开它。当您需要检查应用程序运行之间是否保留某些更改时,此命令很有用。可选的主参数指定在关闭当前应用程序后将要打开的应用程序的名称。

*ReopenApplication

*ReopenApplication MySolutionWeb
注意

在WinForms应用程序中,此命令执行Exit Action,其名称在其他语言中可以不同。在这种情况下,找不到退出操作,测试将失败。


SetActiveWindowSize

前缀: “ *”,参数:主要。

调整活动窗口的大小。在CompareScreenshot命令之前使用此命令,以确保当前屏幕截图和模板屏幕截图的窗口大小相同。主要参数以“宽度x高度”格式指定新窗口的大小。

*SetActiveWindowSize 640x480

SetStringCompareMode

前缀: “ *”,参数:主要。

更改此命令之后的命令的字符串比较模式。使用primary参数指定的受支持模式为Wildcards(默认)和Regex。有关详细信息,请参见下面的“通配符和正则表达式”部分。

*SetStringCompareMode Regex

*SetStringCompareMode Wildcards

睡觉

前缀: “ *”,参数:主要。

将测试执行挂起指定的时间。主要参数指定延迟(以毫秒为单位)。通常,您不需要使用此命令。

*Sleep 500

表命令

表命令通过列表编辑器执行各种操作。表命令的主要参数是可选的;它指定目标列表视图所在的帧标题。例如,当需要检查明细视图的嵌套列表视图时,可以使用此参数。


检查表

前缀: “ *”,参数:主要和次要。

检查指定记录中的字段值是否与辅助参数指定的值匹配。应指定以下辅助参数。

  • -可选。列出其值将与参数值进行比较的字段。
  • -可选。此参数指定要在指定字段中查找的值。请注意,如果您希望一次测试多个记录,则可以有多个Row参数。您可以将“ *”传递给此参数以测试第一个可用行。要测试具有特定编号的行,请使用从零开始的索引(例如,Row [5] = value)。
  • CheckInvisibleColumns-可选。指定是否检查隐藏的列。仅在Windows Forms应用程序中考虑。
  • RowCount-可选。指定一个表中应包含多少行。支持“!=”运算符以及“ =”。

如果未指定辅助参数,该命令将检查表是否为空。

*CheckTable Contacts
 Columns = ID, Name
 Row[0] = 1, Sam
 Row = 5, Nataly
 Row = 6, Dan
 CheckInvisibleColumns = True

CheckTableSelection

前缀: “ *”,参数:主要和次要。

检查当前选择的记录是否与辅助参数指定的值匹配。应指定以下辅助参数。

  • -必填。列出所选记录的字段,其值将与参数值进行比较。
  • -必填。此参数指定要在指定字段中查找的值。请注意,如果您希望一次测试多个选定的记录,则可以有多个Row参数。您可以将“ *”传递给此参数以测试第一个可用行。要测试具有特定编号的行,请使用从零开始的索引(例如Row [5] = value)。
*CheckTableSelection Contacts
 Columns = First Name
 Row = Mary

清空选项

前缀: “ *”,参数:主要和次要。

清除列表视图中的选择。

*ClearSelection Tasks

ExecuteColumnEditorAction

前缀: “ *”和“!”,参数:主要和次要。

执行由就地查找属性编辑器或就地对象属性编辑器提供的操作。应指定以下辅助参数。

  • -必填。指定由就地查找属性编辑器或就地对象属性编辑器表示的必需列。
  • 行动-必填。指定查找属性编辑器的操作。对于“对象属性编辑器”,应为空值。
*ExecuteColumnEditorAction Phones
 Column = Type
 Action = Find

*ExecuteColumnEditorAction
 Column = Address
 Action = ''

ExecuteTableAction

前缀: “ *”和“!”,参数:主要和次要。

执行特定列表编辑器支持的自定义操作。

ASPxGridListEditor支持以下操作:

  • ExpandGroup-扩展具有特定名称的组。
  • SelectAll-选择所有记录。
  • SetPage-导航到指定的页面。
  • SetPageSize-通过页面大小选择器将显示的记录数限制为指定的数目。
*ExecuteTableAction
 ExpandGroup = Department: R&D (Count=2)

*ExecuteTableAction
 SelectAll = True

*ExecuteTableAction
 SetPage = 2

*ExecuteTableAction
 SetPageSize = 5

ASPxGridListEditorGridListEditor支持下列行动:

  • SetTableFilter -当此行是可见的(见应用指定的过滤器,以网格的自动过滤行IModelListViewShowAutoFilterRow.ShowAutoFilterRow)。
  • InlineNew-聚焦新项目行。
  • InlineEdit-开始编辑行。
  • InlineUpdate-更新已编辑的行。
  • InlineCancel-取消编辑行。
*ExecuteTableAction
 InlineNew = ''

*FillRecord
 Columns = IntProperty
 Values = 5

*ExecuteTableAction
 InlineUpdate = ''

*ExecuteTableAction
 Hours = 5
 InlineEdit = ''

*ExecuteTableAction
 InlineCancel = ''

SchedulerListEditorASPxSchedulerListEditor支持下列行动:

  • CheckVisibleResources-检查可见资源。
  • CheckSelectedEventResources-检查以查看所选事件是否与特定资源相关联。
  • CheckAppointmentType-检查集中约会是否具有特定类型。可能的约会类型包括“正常”,“出现”和“已更改出现”。
  • ChangeViewTo-将当前视图类型更改为指定的视图类型。可能的视图类型包括日,月,时间轴,周和工作周。
  • SelectInterval-在计划时间轴上选择一个指定的时间间隔。
  • SetCurrentDate-将当前日期更改为指定的日期。
*ExecuteTableAction
 CheckSelectedEventResources = Peter

*ExecuteTableAction
 CheckAppointmentType = ChangedOccurrence

*ExecuteTableAction
 ChangeViewTo = Timeline

*ExecuteTableAction
 SelectInterval = 08/12/2008 12:00;08/12/2008 13:00

*ExecuteTableAction
 SetCurrentDate = 10/27/2008

填充记录

前缀: “ *”和“!”,参数:主要和次要。

通过就地编辑用值填充特定的记录字段。可以指定以下辅助参数。

  • IdentityColumns-可选。指定用于标识其字段必须填充值的记录的列。
  • IdentityRow-可选。指定与IdentityColumns参数指定的列相对应的值。这些值用于按字段值标识行。您可以将“ *”传递给此参数以测试第一个可用行。要测试具有特定数字的行,请使用从零开始的索引(例如,Row [5] = value
  • -必填。指定必须用值填充的字段。
  • -必填。指定必须分配给字段的值。

如果未指定IdentityColumnsIdentityRow参数,则使用当前的焦点记录。

*FillRecord Contacts
 Columns = First Name, Address
 Values = Helen, '908 W.Capital Way'

!FillRecord Contacts
 IdentityColumns = First Name
 IdentityRow = John
 Columns = Last Name
 Values = Johnson

流程记录

前缀: “ *”和“!”,参数:主要和次要。

选择一条记录,并对其执行指定的操作。辅助参数通过提供字段标题和相应的值来指定记录搜索条件。可以指定以下附加的辅助参数。

  • 动作-可选。指定要对所选记录执行的操作。如果未指定此参数,则将执行默认操作(通常,将为此记录显示详细信息视图)。
*ProcessRecord
 User = Nataly
 Action = Delete

选择记录

前缀: “ *”,参数:主要和次要。

在列表视图中选择特定的记录。附加参数的名称指定一列;其值指定此列中包含的值。如果在执行SelectRecords之前有选定的行,则对它们的选择将继续。使用UnselectRecords删除选择。

*SelectRecords
 Columns = First Name
 Row = Mary
 Row = John

取消选择记录

前缀: “ *”,参数:主要和次要。

在列表视图中取消选择特定的记录。附加参数的名称指定一列;其值指定此列中包含的值。

*UnselectRecords
 Columns = First Name
 Row = Mary
 Row = John

文件操作命令

当您的应用程序在文件系统中创建某些文件(例如执行数据导出)并且您要测试此功能时,可以使用这些命令。


CheckFileExists

前缀: “ *”和“!”,参数:主要。

检查指定文件的存在。

*CheckFileExists d:\tmp\Grid.pdf

比较文件

前缀: “ *”和“!”,参数:次要。

比较指定的文件。预期的辅助参数指定了预期的文件。实际辅助参数指定实际文件。

*ExecuteEditorAction Photo

*ExecuteEditorAction Photo(Save)

*FillForm
 File name: = c:\tmp\testphoto.jpg

*Action Save

*OptionalAction Yes

*Sleep 1000

*CompareFiles
 Expected = .\photo
 Actual = c:\tmp\testphoto.jpg

拷贝文件

前缀: “ *”,参数:次要。

复制指定的文件。SourceFileName辅助参数指定源位置。DestFileName辅助参数指定目标位置。

*CopyFile
 SourceFileName = d:\tmp\file1.txt
 Destination = d:\backup\file1.txt

删除文件

前缀: “ *”,参数:主要。

删除指定的文件。

*DeleteFile d:\tmp\Grid.pdf

通配符和正则表达式

您可以在以下命令的参数值中使用问号()和星号(*)作为通配符。

CheckActionsHint

CheckFieldValues

处理对话框

CheckActionValue

CheckValidationResult

检查表

选择记录

取消选择记录

CheckTableSelection

通配符替换任何一个字符,* -替换任何零个或多个字符。

*CheckValidationResult
 Message = Problems were detected during data validation.*

如果您测试包含问号和/或星号字符的文本,请在这些符号之前加上反斜杠符号(“”)。

*HandleDialog
 Message = Do you want to cancel your changes\?

您可以使用正则表达式代替通配符来指定上面列出的命令中的复杂模式。为此,请使用带有Regex参数的SetStringCompareMode命令。要恢复为通配符模式,请再次调用SetStringCompareMode并将通配符作为主要参数传递。

有关完整的EasyTest示例脚本,请参考以下主题。

您可以在XAF随附的MainDemo应用程序中找到更多脚本。该演示的默认位置为%PUBLIC%\ Documents \ DevExpress演示19.2 \ Components \ eXpressApp Framework \ MainDemo

相关文章

转载保留此链接,注明出处