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

相关推荐
神码编程7 分钟前
【Unity】 HTFramework框架(六十八)StringEditor字符串复杂编辑器
unity·编辑器·游戏引擎·htframework
kevin 17 分钟前
财报处理自动化,财报OCR识别录入系统将非结构化报表转化为可分析数据
运维·自动化·ocr
King's King8 分钟前
智慧医院全场景自动化解决方案及运维服务
运维·自动化
MCM-RL11111123 分钟前
自由落体颅脑损伤打击器 自由落体打击器 脑损伤打击器 自由颅脑损伤落体操作臂
嵌入式硬件·物联网·测试工具·安全·信号处理
AI绘画小331 小时前
【网络安全】Wireshark 抓包过滤:源 / 目的 IP 过滤 + 命令大全
数据库·tcp/ip·测试工具·安全·web安全·wireshark
Pixeler1 小时前
[特殊字符] Selenium 实战教程:等待与表单元素操作
chrome·selenium·测试工具
寻星探路1 小时前
测试开发漫谈12---性能测试工具
测试工具
O***p6042 小时前
GitLab CI/CD自动化部署实践
ci/cd·自动化·gitlab
A-刘晨阳2 小时前
【Windows压力测试工具】 - 使用微软官方工具进行压测 cpu、内存
运维·windows·测试工具·压力测试·cpustres·testlimit
zyplayer-doc3 小时前
升级表格编辑器,AI客服应用支持转人工客服,AI问答风格与性能优化,zyplayer-doc 2.5.6 发布啦!
人工智能·编辑器·飞书·开源软件·创业创新·有道云笔记