如何在Ranorex中使用全局变量?
How to use Global variables in Ranorex?
我需要创建全局变量并将其用作可选参数,但不知道如何实现它。
我在 Ranorex studio 中创建了全局变量:
此变量也出现在 Data binding
标签中:
但是我不能在代码中使用这个变量。 (ASECore
包不包含任何参数)。
在最高节点中设置该变量后,您可以使用它并在较低节点中为其分配变量。因此,当您在测试套件中创建一个智能文件夹并转到数据绑定时,您会注意到参数下存在全局。您需要做的就是使用一个变量进行记录,该变量将使用全局变量并 link 它在该文件夹中。
您可以在Ranorex Record 模块或Ranorex Code 模块中使用全局变量。我先介绍一下它们的使用方法。
在记录模块中创建
在Record模块中,点击右上角的Variables...按钮,添加你想在redord模块中使用的变量。
然后在您的录音中使用它们:
在代码模块中创建
当您创建代码模块时,它将如下所示:
/// <summary>
/// Description of MyCode.
/// </summary>
[TestModule("32310FEC-5336-4F83-B448-ABC851EE5731", ModuleType.UserCode, 1)]
public class MyCode : ITestModule
{
/// <summary>
/// Constructs a new instance.
/// </summary>
public MyCode()
{
// Do not delete - a parameterless constructor is required!
}
/// <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(ITestModule)"/> method
/// that will in turn invoke this method.</remarks>
void ITestModule.Run()
{
Mouse.DefaultMoveTime = 300;
Keyboard.DefaultKeyPressTime = 100;
Delay.SpeedFactor = 1.0;
}
}
现在,右键单击代码并选择“插入新模块变量”。然后您可以设置名称和默认值。按确定,它将添加如下内容:
string _MyVariable = "DefaultValue";
[TestVariable("de0fb4a9-32ba-4635-8f0f-4ff6db184c3f")]
public string MyVariable
{
get { return _MyVariable; }
set { _MyVariable = value; }
}
现在,您可以像使用普通 C# 属性一样使用 运行 方法中的变量:
repo.Calculator.CalculatorResults.PressKeys(Input_1);
repo.Calculator.PlusButton.Click();
repo.Calculator.CalculatorResults.PressKeys(Input_2);
repo.Calculator.EqualButton.Click();
如何在套件中绑定变量
创建全局参数时,确实不能在套件级别绑定它们。
因此关闭对话框并右键单击 Record/Code 模块并选择“数据绑定”
在较低的 table 中,您可以将 Record/Code 模块的变量绑定到全局变量。如果他们同名,你也可以Auto-bind他们。
当您现在执行测试套件时,全局变量的值将在测试中使用。如果您单独执行 Record/Code 模块,那么将在测试中使用默认值。
我需要创建全局变量并将其用作可选参数,但不知道如何实现它。
我在 Ranorex studio 中创建了全局变量:
此变量也出现在 Data binding
标签中:
但是我不能在代码中使用这个变量。 (ASECore
包不包含任何参数)。
在最高节点中设置该变量后,您可以使用它并在较低节点中为其分配变量。因此,当您在测试套件中创建一个智能文件夹并转到数据绑定时,您会注意到参数下存在全局。您需要做的就是使用一个变量进行记录,该变量将使用全局变量并 link 它在该文件夹中。
您可以在Ranorex Record 模块或Ranorex Code 模块中使用全局变量。我先介绍一下它们的使用方法。
在记录模块中创建
在Record模块中,点击右上角的Variables...按钮,添加你想在redord模块中使用的变量。
然后在您的录音中使用它们:
在代码模块中创建
当您创建代码模块时,它将如下所示:
/// <summary>
/// Description of MyCode.
/// </summary>
[TestModule("32310FEC-5336-4F83-B448-ABC851EE5731", ModuleType.UserCode, 1)]
public class MyCode : ITestModule
{
/// <summary>
/// Constructs a new instance.
/// </summary>
public MyCode()
{
// Do not delete - a parameterless constructor is required!
}
/// <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(ITestModule)"/> method
/// that will in turn invoke this method.</remarks>
void ITestModule.Run()
{
Mouse.DefaultMoveTime = 300;
Keyboard.DefaultKeyPressTime = 100;
Delay.SpeedFactor = 1.0;
}
}
现在,右键单击代码并选择“插入新模块变量”。然后您可以设置名称和默认值。按确定,它将添加如下内容:
string _MyVariable = "DefaultValue";
[TestVariable("de0fb4a9-32ba-4635-8f0f-4ff6db184c3f")]
public string MyVariable
{
get { return _MyVariable; }
set { _MyVariable = value; }
}
现在,您可以像使用普通 C# 属性一样使用 运行 方法中的变量:
repo.Calculator.CalculatorResults.PressKeys(Input_1);
repo.Calculator.PlusButton.Click();
repo.Calculator.CalculatorResults.PressKeys(Input_2);
repo.Calculator.EqualButton.Click();
如何在套件中绑定变量
创建全局参数时,确实不能在套件级别绑定它们。
因此关闭对话框并右键单击 Record/Code 模块并选择“数据绑定”
在较低的 table 中,您可以将 Record/Code 模块的变量绑定到全局变量。如果他们同名,你也可以Auto-bind他们。
当您现在执行测试套件时,全局变量的值将在测试中使用。如果您单独执行 Record/Code 模块,那么将在测试中使用默认值。