在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):robotframework/SeleniumLibrary开源软件地址(OpenSource Url):https://github.com/robotframework/SeleniumLibrary开源编程语言(OpenSource Language):Python 66.9%开源软件介绍(OpenSource Introduction):SeleniumLibraryContents IntroductionSeleniumLibrary is a web testing library for Robot Framework that utilizes the Selenium tool internally. The project is hosted on GitHub and downloads can be found from PyPI. SeleniumLibrary works with Selenium 3 and 4. It supports Python 3.6 or newer. In addition to the normal Python interpreter, it works also with PyPy. SeleniumLibrary is based on the old SeleniumLibrary that was forked to Selenium2Library and then later renamed back to SeleniumLibrary. See the Versions and History sections below for more information about different versions and the overall project history. Keyword DocumentationSee keyword documentation for available keywords and more information about the library in general. InstallationThe recommended installation method is using pip: pip install --upgrade robotframework-seleniumlibrary Running this command installs also the latest Selenium and Robot Framework
versions, but you still need to install browser drivers separately.
The Those migrating from Selenium2Library can install SeleniumLibrary so that it is exposed also as Selenium2Library: pip install --upgrade robotframework-selenium2library The above command installs the normal SeleniumLibrary as well as a new Selenium2Library version that is just a thin wrapper to SeleniumLibrary. That allows importing Selenium2Library in tests while migrating to SeleniumLibrary. To install the last legacy Selenium2Library version, use this command instead: pip install robotframework-selenium2library==1.8.0 With recent versions of pip install git+https://github.com/robotframework/SeleniumLibrary.git Please note that installation will take some time, because See Robot Framework installation instructions for detailed information
about installing Python and Robot Framework itself. For more details about
using Browser driversAfter installing the library, you still need to install browser and operating system specific browser drivers for all those browsers you want to use in tests. These are the exact same drivers you need to use with Selenium also when not using SeleniumLibrary. More information about drivers can be found from Selenium documentation. The general approach to install a browser driver is downloading a right
driver, such as Alternatively, you can use a tool called WebdriverManager which can find the latest version or when required, any version of appropriate webdrivers for you and then download and link/copy it into right location. Tool can run on all major operating systems and supports downloading of Chrome, Firefox, Opera & Edge webdrivers. Here's an example: pip install webdrivermanager
webdrivermanager firefox chrome --linkpath /usr/local/bin UsageTo use SeleniumLibrary in Robot Framework tests, the library needs to
first be imported using the When using Robot Framework, it is generally recommended to write as
easy-to-understand tests as possible. The keywords provided by
SeleniumLibrary is pretty low level, though, and often require
implementation-specific arguments like element locators to be passed
as arguments. It is thus typically a good idea to write tests using
Robot Framework's higher-level keywords that utilize SeleniumLibrary
keywords internally. This is illustrated by the following example
where SeleniumLibrary keywords like *** Settings ***
Documentation Simple example using SeleniumLibrary.
Library SeleniumLibrary
*** Variables ***
${LOGIN URL} http://localhost:7272
${BROWSER} Chrome
*** Test Cases ***
Valid Login
Open Browser To Login Page
Input Username demo
Input Password mode
Submit Credentials
Welcome Page Should Be Open
[Teardown] Close Browser
*** Keywords ***
Open Browser To Login Page
Open Browser ${LOGIN URL} ${BROWSER}
Title Should Be Login Page
Input Username
[Arguments] ${username}
Input Text username_field ${username}
Input Password
[Arguments] ${password}
Input Text password_field ${password}
Submit Credentials
Click Button login_button
Welcome Page Should Be Open
Title Should Be Welcome Page The above example is a slightly modified version of an example in a demo project that illustrates using Robot Framework and SeleniumLibrary. See the demo for more examples that you can also execute on your own machine. For more information about Robot Framework test data syntax in general see the Robot Framework User Guide. Extending SeleniumLibraryBefore creating your own library which extends the If the enhancement is not generally useful, example solution is domain specific, then the SeleniumLibrary offers public APIs which can be used to build its own plugins and libraries. Plugin API allows us to add new keywords, modify existing keywords and modify the internal functionality of the library. Also new libraries can be built on top of the SeleniumLibrary. Please see extending documentation for more details about the available methods and for examples how the library can be extended. CommunityIf the provided documentation is not enough, there are various community channels available:
VersionsSeleniumLibrary has over the years lived under SeleniumLibrary and Selenium2Library names and different library versions have supported different Selenium and Python versions. This is summarized in the table below and the History section afterwards explains the project history a bit more.
HistorySeleniumLibrary originally used the Selenium Remote Controller (RC) API. When Selenium 2 was introduced with the new but backwards incompatible WebDriver API, SeleniumLibrary kept using Selenium RC and separate Selenium2Library using WebDriver was forked. These projects contained mostly the same keywords and in most cases Selenium2Library was a drop-in replacement for SeleniumLibrary. Over the years development of the old SeleniumLibrary stopped and also the Selenium RC API it used was deprecated. Selenium2Library was developed further and replaced the old library as the de facto web testing library for Robot Framework. When Selenium 3 was released in 2016, it was otherwise backwards compatible with Selenium 2, but the deprecated Selenium RC API was removed. This had two important effects:
At the same time when Selenium 3 was released, Selenium2Library was going through larger architecture changes in order to ease future maintenance and to make adding Python 3 support easier. With all these big internal and external changes, it made sense to rename Selenium2Library back to SeleniumLibrary. This decision basically meant following changes:
Going forward, all new development will happen in the new SeleniumLibrary project. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论