是否可以将 Ranorex 配置为使用相同的用户代码来识别应用程序中的按钮(而不是为每个测试重命名它们),并且还可以为任何新测试提供一组用户定义的代码。即所有测试的通用用户代码库?
问问题
3230 次
2 回答
1
是的,这是可能的,而且非常方便。您所做的是拥有一个继承自的代码模块库ITestModule
,例如
公共类 GenericActionsLibrary : ITestModule
然后在录制模块的用户代码部分让类继承自您的库。
公共类 TestLoginScreen : GenericActionsLibrary
在录制模块中,每次添加用户代码操作时,下拉列表中都会填充来自用户代码模块和GenericActionsLibrary
.
您GenericActionsLibrary
将需要它自己的对存储库的静态引用。
于 2013-10-24T23:14:39.497 回答
0
这是我的做法。我在 Ranorex 中使用的是 Visual Basic (VB) 而不是 C# CS。
在 Ranorex
- “添加代码模块”
MainLibrary
- “添加代码模块”
StartBrowser
注释掉代码模块中的三个代码块MainLibrary
:
第一个是
'Implements ITestModule
第二个是
''' <summary>
''' Constructs a new instance.
''' </summary>
' Public Sub New()
' ' Do not delete - a parameterless constructor is required!
' End Sub
第三个位置是
''' <summary>
''' Performs the playback of actions in this module.
''' </summary>
''' <remarks>You should not call this method directly, instead pass the module
''' instance to the <see cref="TestModuleRunner.Run(Of ITestModule)"/> method
''' that will in turn invoke this method.</remarks>
' Sub Run() Implements ITestModule.Run
' Mouse.DefaultMoveTime = 300
' Keyboard.DefaultKeyPressTime = 100
' Delay.SpeedFactor = 1.0
' End Sub
为您要从其他代码模块调用的操作添加Sub
(s)
Public Sub OpenBrowser
Host.Local.OpenBrowser("http://www.ranorex.com", "IE", "", False, False)
End Sub
在代码模块中,您正在调用MainLibrary
. Inherits
在语句之前添加语句,然后从代码块中Implements
调用方法:MainLibrary
ITestModule.Run
Public Class StartBrowser
Inherits MainLibrary
Implements ITestModule
''' <summary>
''' Constructs a new instance.
''' </summary>
Public Sub New()
' Do not delete - a parameterless constructor is required!
End Sub
''' <summary>
''' Performs the playback of actions in this module.
''' </summary>
''' <remarks>You should not call this method directly, instead pass the module
''' instance to the <see cref="TestModuleRunner.Run(Of ITestModule)"/> method
''' that will in turn invoke this method.</remarks>
Sub StartBrowser_Run() Implements ITestModule.Run
Mouse.DefaultMoveTime = 300
Keyboard.DefaultKeyPressTime = 100
Delay.SpeedFactor = 1.0
'Call the public method from MainLibrary Class.
OpenBrowser()
End Sub
End Class
在Ranorex 的网站上,它展示了创建库,这些库在重用于不同的项目时会派上用场。
于 2015-01-05T21:23:37.167 回答