是否可以将Ranorex配置为使用相同的用户代码来识别应用程序中的按钮(而不是为每个测试重命名它们),并为任何新测试配置一组用户定义的代码。即所有测试的通用用户代码库?
答案 0 :(得分:1)
是的,这是可能的,非常方便。你所做的是拥有一个继承自ITestModule
的代码模块库,例如
public class GenericActionsLibrary:ITestModule
然后在录制模块的用户代码部分中,该类继承自您的库。
公共类TestLoginScreen:GenericActionsLibrary
在录制模块中,每次添加用户代码操作时,下拉列表都会填充用户代码模块和GenericActionsLibrary
中的方法。
您的GenericActionsLibrary
将需要自己的存储库静态引用。
答案 1 :(得分: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
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's Website上,它显示了创建在重用不同项目时派上用场的库。