Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use selenium webdriver methods inside robotframework library?

I want to use selenium webdriver methods in the robot framework library.

def custom_go_to
        driver = BuiltIn().get_library_instance('SeleniumLibrary')
        driver.go_to(url)

The above code from custom library works fine, but I want to use selenium method at the place of robotframework builtin library. When I try to use driver.get(url) it says

'SeleniumLibrary' object has no attribute 'get'

The custom library I created ERP.py looks like

class ERP: 
   @keyword
    def custom_go_to(self, url):
        driver = BuiltIn().get_library_instance('SeleniumLibrary')
        driver.get(url)

And Test Case looks like

***Settings***
Library  SeleniumLibrary
Library  path_to_lib/ERP.py

*** Variable ***
${BROWSER}  |  chrome
${URL}  |  facebook.com

***Test Cases***
Open the browser using an inbuilt keyword and go to a given URL using custom go to using EventFiringWebDriver.
     Open Browser |  about:blank  |  ${BROWSER}
     Custom Go To  |   ${URL}

How can I use Selenium webdriver methods inside the robot framework library?

like image 908
Divaksh Avatar asked Jun 29 '26 02:06

Divaksh


1 Answers

The selenium library itself is not a webdriver object, it's just an instance of the SeleniumLibrary class. You need to get a reference to the driver, which is an attribute in the library.

def custom_go_to(url):
    selib = BuiltIn().get_library_instance('SeleniumLibrary')
    selib.driver.get(url)

For more information about interacting with SeleniumLibrary at a low level, see the document Extending SeleniumLibrary in the SeleniumLibrary git repository.

like image 159
Bryan Oakley Avatar answered Jul 01 '26 17:07

Bryan Oakley



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!