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

相关推荐
一只会奔跑的小橙子18 小时前
APP升级测试检查清单
自动化
中冕—霍格沃兹软件开发测试19 小时前
边界值分析:功能测试中的精度利器
人工智能·功能测试·科技·测试工具·appium·bug
jiayong2321 小时前
Markdown编辑完全指南
java·编辑器
测试人社区-千羽21 小时前
生物识别系统的测试安全性与漏洞防护实践
运维·人工智能·opencv·安全·数据挖掘·自动化·边缘计算
Wpa.wk1 天前
自动化测试-鼠标+键盘操作 - Actions高级控件
java·开发语言·测试工具·自动化·计算机外设·actions·高级控件
试着1 天前
【VSCode+AI+测试】连接ai大模型
ide·人工智能·vscode·python·学习·编辑器·ai-test
程序员zgh1 天前
CMake 项目构建工具介绍
c语言·开发语言·c++·编辑器
我的xiaodoujiao1 天前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 32--开源电商商城系统项目实战--如何区分登录状态
python·学习·测试工具·pytest
我送炭你添花1 天前
Pelco KBD300A 模拟器:05.校验算法终极对比 + 完整 100+ 指令封装 + KBD300A 所有隐藏功能函数化
python·算法·自动化·运维开发
科士威传动1 天前
如何为特定应用选型滚珠导轨?
人工智能·科技·机器人·自动化·制造