Robot Framework 1

about Robot, learnt from the following document, perfect document !!!!html

http://www.virtuousprogrammer.com/?s=robotjava

 
Test Automation with Robot Framework
 
Here's the content of the "SimpleTest.txt"
*** Settings ***
Library       Selenium Library

*** Testcases ***
Login Should Succeed When the Correct Username and Password are Entered
  Start Selenium Server
  Set Selenium Timeout  10
  Open Browser  file:///D:/robot/Login.htm  ie
  Sleep  3
  Input Allentext  uname  AUser
  Input Text  pwd    TestPass
  Click Button  login
  Page Should Contain  AUser
  Close Browser
  Stop Selenium Server

打開 Ride, 看到的以下:jvm

因此你必定問, 這種淺藍色的 low level keyword 究竟是在哪裏定義的?ide

好比 Start Selenium Server:ui

其實來源於:this

*** Settings ***
Library       Selenium Library

RIDE UI 上是:spa

可只是一句 "Library Selenium Library" 就能夠了麼?到底 Selenium Library 在哪裏?firefox

很簡單: C:\Python27\Lib\site-packagescode

打開 __init__.py, 可以看到以下:server

    def start_selenium_server(self, *params):
        """Starts the Selenium Server provided with SeleniumLibrary.

        `params` can contain additional command line options given to the
        Selenium Server. This keyword uses some command line options
        automatically:

        1) The port given in `importing` is added to `params` automatically
        using the `-port` option.

        2) A custom Firefox profile that is included with the library
        and contains automation friendly settings is enabled via the
        `-firefoxProfileTemplate` option. You can override this
        profile with your own custom profile by using the same argument
        in `params` yourself. To use the default profile on your machine,
        use this argument with `DEFAULT` value (case-sensitive).

        3) Starting from SeleniumLibrary 2.6, if there is `user-extensions.js`
        file in the same directory as Selenium Server jar, it is loaded using
        the `-userExtensions` option.  This is not done if the option is
        defined in `params`.  By default, such extension file providing Flex
        testing support is loaded automatically.

        Special syntax `JVM=some jvm opts` can be used to define options to
        the java command itself used to start the selenium server. This
        possibility was added in SeleniumLibrary 2.9.1.

        Examples:
        | Start Selenium Server | | | # Default settings. Uses the Firefox profile supplied with the library. |
        | Start Selenium Server | -firefoxProfileTemplate | C:\\\\the\\\\path | # Uses custom Firefox profile. |
        | Start Selenium Server | -firefoxProfileTemplate | DEFAULT | # Uses default Firefox profile on your machine. |
        | Start Selenium Server | -avoidProxy | -ensureCleanSession | # Uses various Selenium Server settings. |
        | Start Selenium Server | -JVM=-DserverName=somehost | # Define JVM options. |

        All Selenium Server output is written into `selenium_server_log.txt`
        file in the same directory as the Robot Framework log file.

        If the test execution round starts and stops Selenium Server multiple
        times, it is best to open the server to different port each time.

        *NOTE:* This keyword requires `subprocess` module which is available
        on Python/Jython 2.5 or newer.
        """
        params = ('-port', str(self._server_port)) + params
        logpath = os.path.join(self._get_log_dir(), 'selenium_server_log.txt')
        self._selenium_log = open(logpath, 'w')
        start_selenium_server(self._selenium_log, self._jar_path, *params)
        self._html('Selenium server log is written to <a href="file://%s">%s</a>.'
                   % (logpath.replace('\\', '/'), logpath))

這就是 start selenium server 的最源頭。

咱們也能夠把整個 C:\Python27\Lib\site-packages\SeleniumLibrary 文件夾複製一份而且重命名爲 "AllenLibrary", 而後打開  __init__.py, 把其中全部的 "SeleniumLibrary" 替換成 "AllenLibrary".

這時就能夠直接使用 AllenLibrary了。

看,上面就是 Allen Library 的狀況。

 咱們能夠使用多個 library。

*** Settings ***
Library           Selenium Library
Library           Allen Library

*** Test Cases ***
testcase1
    AllenLibrary.Start Selenium Server
    AllenLibrary.Set Selenium Timeout    10
    SeleniumLibrary.Open Browser    file:///D:/robot/Login.htm    ie
    Sleep    3
    SeleniumLibrary.Input Allentext    uname    AUser
    SeleniumLibrary.Input Text    pwd    TestPass
    Comment    AllenLibrary.Input Allen2text    uname    BUser
    sleep    3
    AllenLibrary.Click Button    login
    AllenLibrary.Page Should Contain    AUser
    AllenLibrary.Close Browser
    AllenLibrary.Stop Selenium Server

 

 只是以後使用的時候要代表清楚所用的方法是從 AllenLibrary來的,仍是從 SeleniumLibrary來的。

相關文章
相關標籤/搜索