自动化测试工具Ranorex Studio(四十三)-RANOREXPATH编辑器5

代码示例

下面的代码示例将讲解如何使用Ranorex API来编写代码模块,或者是使用用户代码来扩展录制的模块。

在代码中使用对象库

使用对象库等待UI元素

建立Adapter来访问更多的属性和方法

为对象库元素建立一组Adapter

使用Validate类

强制一个测试用例失败

设置automation speed

访问测试用例和测试簇的上下文

高级代码示例

如果做基于图像的自动化

如何查找和比较图像

处理意外的对话框

在代码中使用对象库

C#

TestModule("D451F1D1-C347-4B58-939F-F6187642EB56", ModuleType.UserCode, 1)

public class UsingRepository : ITestModule

{

// Repository object to access UI elements 用来访问UI元素的对象库对象

MyFirstTestProjectRepository repo = MyFirstTestProjectRepository.Instance;

/// <summary>

/// Constructs a new instance. 创建一个新实例

/// </summary>

public UsingRepository()

{

// Do not delete -- a parameterless constructor is required! 不要删,需要无参构造器

}

void ITestModule.Run()

{

Mouse.DefaultMoveTime = 300;

Keyboard.DefaultKeyPressTime = 100;

Delay.SpeedFactor = 1.0;

// Using Ranorex.Form adapter represented by 'MyApp' 用Ranorex.Form adapter来表示MyApp

// 'MyApp' is used as a folder within the repository; MyApp是对象库中的文件夹

// the 'Self' property returns an object of type Ranorex.Form self用来返回对象

// Activates application 激活应用

repo.MyApp.Self.Activate();

// Log 'Active' state 记录状态

Report.Info(repo.MyApp.Self.Active.ToString());

// Maximize, Minimize and Restore 最大化,最小化,复原大小

repo.MyApp.Self.Maximize();

repo.MyApp.Self.Minimize();

repo.MyApp.Self.Restore();

// Closes application 关闭应用

repo.MyApp.Self.Close();

// Using Ranorex.Button adapter represented by 'ButtonAdd'

// Read and log value of 'Text' attribute

Report.Info(repo.MyApp.Buttons.ButtonAdd.Text);

// Press button 按下按钮

repo.MyApp.Buttons.ButtonAdd.Press();

// Read and log value of 'Enabled' attribute 读取并记录属性

Report.Info(repo.MyApp.Buttons.ButtonAdd.Enabled.ToString());

// Using Ranorex.RadioButton adapter

// represented by 'GenderOption'

// Select radio button 选择radio button

repo.MyApp.GenderOption.Select();

// Accessing listitems of Ranorex.List adapter

// represented by 'CategoryList'

IList<ranorex.listitem> listItems = repo.MyApp.CategoryList.Items;

foreach ( Ranorex.ListItem item in listItems )

{

Report.Info(item.Text + " is member of CategoryList");

}

// Using Ranorex.MenuItem to open 'File' menu

repo.MyApp.MenuItemFile.Select();

// Selecting sub menu item 'Connect'

repo.FileMenu.Connect.Select();

// Read and log 'Enabled' state of menu item 'Connect'

Report.Info(repo.FileMenu.Connect.Enabled.ToString());

}

}

VB.NET

Public Class UsingRepository

Implements ITestModule

' Repository object to access UI elements

Private repo As MyFirstTestProjectRepository = MyFirstTestProjectRepository.Instance

"' <summary>

"' Constructs a new instance.

"' </summary>

' Do not delete -- a parameterless constructor is required!

Public Sub New()

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(ITestModule)"> method

"' that will in turn invoke this method.</see></remarks>

Private Sub ITestModule_Run() Implements ITestModule.Run

Mouse.DefaultMoveTime = 300

Keyboard.DefaultKeyPressTime = 100

Delay.SpeedFactor = 1.0

' Using Ranorex.Form adapter represented by 'MyApp'

' 'MyApp' is used as a folder within the repository;

' the 'Self' property returns a Ranorex.Form object

' Activates application

repo.MyApp.Self.Activate()

' Log 'Active' state

Report.Info(repo.MyApp.Self.Active.ToString())

' Maximize, Minimize and Restore

repo.MyApp.Self.Maximize()

repo.MyApp.Self.Minimize()

repo.MyApp.Self.Restore()

' Closes application

repo.MyApp.Self.Close()

' Using Ranorex.Button adapter represented by ButtonAdd'

' Read and log value of 'Text' attribute

Report.Info(repo.MyApp.Buttons.ButtonAdd.Text)

' Press button

repo.MyApp.Buttons.ButtonAdd.Press()

' Read and log value of 'Enabled' attribute

Report.Info(repo.MyApp.Buttons.ButtonAdd.Enabled.ToString())

' Using Ranorex.RadioButton adapter

' represented by 'GenderOption'

' Select radio button

repo.MyApp.GenderOption.[Select]()

' Accessing listitems of Ranorex.List adapter

' represented by 'CategoryList'

Dim listItems As IList(Of Ranorex.ListItem) = repo.MyApp.CategoryList.Items

For Each item As Ranorex.ListItem In listItems

Report.Info(item.Text & " is member of CategoryList")

Next

' Using Ranorex.MenuItem to open 'File' menu

repo.MyApp.MenuItemFile.[Select]()

' Selecting sub menu item 'Connect'

repo.FileMenu.Connect.[Select]()

' Read and log 'Enabled' state of menu item 'Connect'

Report.Info(repo.FileMenu.Connect.Enabled.ToString())

End Sub

End Class

相关推荐
明达智控技术11 小时前
MR30分布式IO在全自动中药煎药机中的应用
分布式·物联网·自动化
Hehuyi_In13 小时前
云服务扫盲笔记(2) —— SLS 接入与设置自动化
自动化·saas·sls·日志服务
byte轻骑兵13 小时前
365 天技术创作手记:从一行代码到四万同行者的相遇
ide·vscode·编辑器
奥特曼打小白15 小时前
Visual Studio Code的第一次安装
ide·vscode·编辑器
止观止16 小时前
GitHub自动化利器:Probot框架实战指南
运维·自动化·github
凯哥Java16 小时前
适应新环境:Trae编辑器下的IDEA快捷键定制
java·编辑器·intellij-idea
北岛三生17 小时前
Camera tuning flow相机调试流程
图像处理·数码相机·测试工具·模块测试
宇钶宇夕18 小时前
西门子 S7-200 SMART PLC 实现星三角降压启动控制:原理、案例与完整程序
运维·自动化
南部余额19 小时前
Spring 基于注解的自动化事务
java·spring·自动化
EveryPossible19 小时前
如何终止画图
linux·编辑器·vim