Toturial 10: Selenium bridge¶
This sections shows several examples how to use Selenium bridge.
API¶
Module hydratk.lib.bridge.selen
Constructor requires attribute browser, PhantomJS (headless browser) is chosen by default. Browser libraries including PhantomJS are not bundled with HydraTK and must be installed individually.
Supported browsers:
- Android
- BlackBerry
- Firefox
- Internet Explorer
- Opera
- PhantomJS
- Safari
Methods:
open: open web page URL
close: close browser
wait_for_element: wait for element presence
get_element: get element using various methods
read_element: read element value
set_element: set element value
exe_script: execute JavaScript code
save_screen: save screenshot
check_alert: check if alert is present
get_current_url: get current url
get_title: get page title
go_back: emulates browser back button
refresh: emulates browser refresh button
get_screen: get screenshot content
Note
API uses HydraTK core functionalities so it must be running.
Examples¶
# import library from hydratk.lib.bridge.selen import SeleniumBridge # initialize bridge bridge = SeleniumBridge('PhantomJS') # open registration module bridge.open('https://oneportal.com/web/registration') # wait for element presence bridge.wait_for_element('firstName') # fill registration form bridge.set_element('firstName', 'Charlie') bridge.set_element('lastName', 'Bowman') bridge.set_element('phoneNumber', '603603603') bridge.set_element('email', 'aaa@xxx.com') bridge.set_element('marketingAgreement1', False) # save screenshot bridge.save_screen('fig.png') # submit form bridge.set_element('button', method='tag', attr='text', attr_val='Continue')) # wait for element presence bridge.wait_for_element('//input[@class='result']', method='xpath') # read element text result = bridge.read_element('//input[@class='result']', method='xpath') assert (result == 'User registered') # close browser bridge.close()