在Ranorex里面创建一个recording module后, 如“Record1”,可以添加很多action。其中一个action叫做“user code”。当Ranorex其他一些action不好用的时候,比如从下拉框选择,或者在table中选择一个element,我们可以自己写一些代码,然后用这个action去调用。

具体的使用方法是:

1. 在这个Record1.UserCode.cs里面,写一个函数。

   
   
   
   
  1. public void Key_Sequence_SelectUser(string user) 
  2.   try { 
  3.     SelectTag someSelectTag="/dom[@path~'/fm/portal/app']//SELECT[#'login_select_user']"
  4.     OptionTag optTag=someSelectTag.FindSingle(".//OPTION[@innertext='"+ user +"']"); 
  5.     optTag.PerformClick(); 
  6.     optTag.Selected = true
  7.     Delay.Duration(500, false); 
  8.     WebDocument webDocument = "/dom[@path~'/fm/portal/app']";   
  9.                 webDocument.ExecuteScript("dropdown_update();"); 
  10.                 optTag.Selected = false
  11.                 Delay.Duration(500, false); 
  12.             } 
  13.             catch(Exception ex) { 
  14.                 Report.Info(ex.message); 
  15.             } 
  16.         } 

这段代码是从下拉框中选择user。

2. 在Record1这个module中添加Action “user code"

因为这个函数有一个参数,user, 在 user code 调用的时候,也要添加一个module级别的变量user.

3. 在test suite里面,将module级别的变量user和外部的测试数据进行绑定。

说明:

Ranorex支持C#和VB.net,当然,这段示例代码是C#,可以很方便的使用代码来完成Ranorex本身不能提供的,或者操作并不好的功能。可以说,Ranorex里面的action,都可以编写成代码来实现,但这样,编程量比较大,没有必要,所以,在这个测试工具里面,只是对于Ranorex支持的不太好的地方,使用代码来代替。

在写代码的时候,首先要将操作的element添加到repository里面,仔细研究它的xpath。然后去google Ranorex 提供的类,声明这个类型的对象,找到需要操作的element,然后调用这个对象的方法,实现对应的操作,比如click(),doubleclick()等等。

上面的这个例子,下拉框内容的update,是执行了Java Script。所以调用了webdocument.ExecuteScript()这个方法。这些都是仔细研究了根据页面的html之后,写出来的代码。