自动化测试工具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

相关推荐
天远API12 小时前
零信任架构实战:基于天远行驶OCR证识别构建自动化智能停车网关
运维·人工智能·架构·自动化
四方云14 小时前
低配4C4G服务器,10秒录音1秒转写!解决电销系统混合录音质检最大难题
大数据·人工智能·自动化·电销破局
Luminbox紫创测控15 小时前
一文读懂:准直太阳模拟器如何检测汽车AR-HUD阳光倒灌
测试工具·汽车·ar·安全性测试·太阳光模拟器·测试标准·阳光倒灌
智塑未来16 小时前
短剧出海平台选择:技术视角下的翻译配音工具选型与自动化流程实战
运维·自动化·xcode
搞科研的小刘选手16 小时前
【计算机全领域稿件可收 | 东南大学自动化学院主办 | 苏州举办】第二届大数据应用、机电工程与自动化国际学术会议(BDAMEA 2026)
自动化·机电工程·会议推荐·大数据应用·东南大学自动化学院
A-刘晨阳17 小时前
K8s集群中的数据库新范式:KES-Operator解锁部署、扩缩容、备份全链路自动化
运维·数据库·云原生·kubernetes·自动化
志栋智能17 小时前
安全超自动化的治理框架与剧本(Playbook)管理
网络·安全·自动化
程序员小远17 小时前
自动化测试用例编写实例详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
泛联新安18 小时前
“天神”空降:泛联新安受邀参加第八届“纵横”网络空间创新论坛
网络安全·自动化·代码规范·漏洞挖掘·代码安全·代码漏洞扫描·ai+可信开发
云雀衔光18 小时前
Java Spring AI MCP:在 Spring 里把 AI 接上你的业务系统
java·开发语言·人工智能·后端·测试工具·spring