在Ranorex裏面建立一個recording module後, 如「Record1」,能夠添加不少action。其中一個action叫作「user code」。當Ranorex其餘一些action很差用的時候,好比從下拉框選擇,或者在table中選擇一個element,咱們能夠本身寫一些代碼,而後用這個action去調用。html
具體的使用方法是:web
1. 在這個Record1.UserCode.cs裏面,寫一個函數。編程
- public void Key_Sequence_SelectUser(string user)
- {
- try {
- SelectTag someSelectTag="/dom[@path~'/fm/portal/app']//SELECT[#'login_select_user']";
- OptionTag optTag=someSelectTag.FindSingle(".//OPTION[@innertext='"+ user +"']");
- optTag.PerformClick();
- optTag.Selected = true;
- Delay.Duration(500, false);
- WebDocument webDocument = "/dom[@path~'/fm/portal/app']";
- webDocument.ExecuteScript("dropdown_update();");
- optTag.Selected = false;
- Delay.Duration(500, false);
- }
- catch(Exception ex) {
- Report.Info(ex.message);
- }
- }
這段代碼是從下拉框中選擇user。app
2. 在Record1這個module中添加Action 「user code"dom
由於這個函數有一個參數,user, 在 user code 調用的時候,也要添加一個module級別的變量user.ide
3. 在test suite裏面,將module級別的變量user和外部的測試數據進行綁定。函數
說明:工具
Ranorex支持C#和VB.net,固然,這段示例代碼是C#,能夠很方便的使用代碼來完成Ranorex自己不能提供的,或者操做並很差的功能。能夠說,Ranorex裏面的action,均可以編寫成代碼來實現,但這樣,編程量比較大,沒有必要,因此,在這個測試工具裏面,只是對於Ranorex支持的不太好的地方,使用代碼來代替。測試
在寫代碼的時候,首先要將操做的element添加到repository裏面,仔細研究它的xpath。而後去google Ranorex 提供的類,聲明這個類型的對象,找到須要操做的element,而後調用這個對象的方法,實現對應的操做,好比click(),doubleclick()等等。ui
上面的這個例子,下拉框內容的update,是執行了Java Script。因此調用了webdocument.ExecuteScript()這個方法。這些都是仔細研究了根據頁面的html以後,寫出來的代碼。