RobotFramework基礎篇

RobotFrameWork是一個基於keyword的用於驗收測試的自動化框架。(官方地址點擊這裏)如果使用來做基本web驗收測試,需要下載seleniumlibrary,robotframework, ride, 其中ride使用了wxpython編寫,需要安裝對應的包wxPython來支持。

它的後端是一個selenium server, RF提供了一個Library與selenium server進行通信(seleniumlibrary),同時有一個面向測試人員的一個IDE (ride),用來編寫測試案例使用。案例的解析等之類的工作由robotframework(robot)來進行。

這裏記錄下使用的一些心得:

1. 安裝完畢後,將python和python\Scripts兩個文件夾加入到環境中,便於後面操作

2.調試腳本的時候,通過批處理文件單獨啓動selenium server。(也可以在測試腳本中通過start selenium server啓動)

 大致如下:

@echo off
java -jar D:\python27\lib\site-packages\SeleniumLibrary\lib\selenium-server.jar -userExtensions D:\python27\lib\site-packages\SeleniumLibrary\lib\user-extensions.js -firefoxProfileTemplate D:\python27\lib\site-packages\SeleniumLibrary\firefoxprofile


好處是調試的時候出現失敗的概率挺高,如果直接用start selenium server來啓動,腳本執行失敗後,沒有stop 掉,下次再執行的時候,可能會造成端口的衝突

等到調試一些OK了,可以將啓動/關閉selenium server的操作放置到測試案例中。

3. 上面的user-extensions.js文件中可以用來加入擴展,比如加入jquery的擴展,就可以使用jquery的語法來尋找元素,如下:

Selenium.prototype.locateElementByJQuerySelector = function(locator, inDocument, inWindow) {
    var loc = locator.replace(/>/g, '>');
    loc = loc.replace(/</g, '<');
    var element;
    try {
        element = $(inDocument).find(loc);
    } catch (e) {
        return null;
    }
    if (element.length == 1 ) {
        return element[0];
    } else if(element.length > 1) {
        return element.get();
    } else {
        return null;
    }
}


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章