Outdated egg!
This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.
If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.
selenium
- Outdated egg!
- selenium
- Introduction
- Author
- Repository
- API
- Session
- Javascript
- URLs
- Navigation
- IME: Input Method Editor
- Frames & windows
- User input
- Elements
- active-element
- get-element-by-id
- get-element-by-name
- get-element-by-class-name
- get-element-by-css-selector
- get-element-by-link-text
- get-element-by-partial-link-text
- get-element-by-tag-name
- get-element-by-xpath
- element-value
- element-tag-name
- element-text
- select-element!
- toggle-element!
- click-element!
- clear-element!
- hover-element!
- drag-element!
- element-enabled?
- element-selected?
- element-displayed?
- element-location
- element-location-in-view
- element-size
- element-css-property-value
- set-element-value!
- active-element-send-modifier!
- element-attribute-value
- same-element?
- get-elements-by-class-name
- get-elements-by-css-selector
- get-elements-by-id
- get-elements-by-name
- get-elements-by-link-text
- get-elements-by-partial-link-text
- get-elements-by-tag-name
- get-elements-by-xpath
- Cookies
- Pages
- Screen
- Mouse actions
- Firefox webdriver
- "Remote" webdriver
- License
- Version history
Introduction
Chicken bindings for Selenium (http://code.google.com/p/selenium)
Very early stages. Implements the JSON Wire Protocol (http://code.google.com/p/selenium/wiki/JsonWireProtocol) and the remote and Firefox webdrivers.
Currently the Firefox webdriver requires a profile directory. You can get the data I'm using for the profile at http://parenteses.org/mario/misc/profile.tar.bz2. Extract this archive and give its full path to with-firefox-webdriver (see the tests/firefox.scm file for usage example).
Warning: since these bindings are in very early development stage, the API is subject to change.
Author
Repository
https://github.com/mario-goulart/selenium
API
Session
quit!
[procedure] (quit!)capabilities
[procedure] (capabilities)set-implicit-wait-time!
[procedure] (set-implicit-wait-time! time-ms)Javascript
execute-javascript
[procedure] (execute-javascript script args)execute-javascript-async
[procedure] (execute-javascript-async script args)javascript-dialog-text
[procedure] (javascript-dialog-text)set-javascript-dialog-text!
[procedure] (set-javascript-dialog-text! text)dismiss-javascript-dialog!
[procedure] (dismiss-javascript-dialog!)accept-javascript-dialog!
[procedure] (accept-javascript-dialog!)URLs
set-url!
[procedure] (set-url! url)current-url
[procedure] (current-url)Navigation
navigate-forward!
[procedure] (navigate-forward!)navigate-backward!
[procedure] (navigate-backward!)IME: Input Method Editor
ime-available-engines
[procedure] (ime-available-engines)ime-active-engine
[procedure] (ime-active-engine)ime-activated?
[procedure] (ime-activated?)ime-deactivate!
[procedure] (ime-deactivate!)ime-activate!
[procedure] (ime-activate!)Frames & windows
focus-frame!
[procedure] (focus-frame! id)focus-window!
[procedure] (focus-window! id)close-window!
[procedure] (close-window! id)window-handle
[procedure] (window-handle)window-handles
[procedure] (window-handles)User input
user-input-speed
[procedure] (user-input-speed)set-user-input-speed!
[procedure] (set-user-input-speed! speed)Elements
active-element
[procedure] (active-element)get-element-by-id
[procedure] (get-element-by-id id)get-element-by-name
[procedure] (get-element-by-name name)get-element-by-class-name
[procedure] (get-element-by-class-name class-name)get-element-by-css-selector
[procedure] (get-element-by-css-selector css-selector)get-element-by-link-text
[procedure] (get-element-by-link-text link-text)get-element-by-partial-link-text
[procedure] (get-element-by-partial-link-text partial-link-text)get-element-by-tag-name
[procedure] (get-element-by-tag-name tag-name)get-element-by-xpath
[procedure] (get-element-by-xpath xpath)element-value
[procedure] (element-value element)element-tag-name
[procedure] (element-tag-name element)element-text
[procedure] (element-text element)select-element!
[procedure] (select-element! element)toggle-element!
[procedure] (toggle-element! element)click-element!
[procedure] (click-element! element)clear-element!
[procedure] (clear-element! element)hover-element!
[procedure] (hover-element! element)drag-element!
[procedure] (drag-element! element)element-enabled?
[procedure] (element-enabled? element)element-selected?
[procedure] (element-selected? element)element-displayed?
[procedure] (element-displayed? element)element-location
[procedure] (element-location element)element-location-in-view
[procedure] (element-location-in-view element)element-size
[procedure] (element-size element)element-css-property-value
[procedure] (element-css-property-value element)set-element-value!
[procedure] (set-element-value! element value)active-element-send-modifier!
[procedure] (active-element-send-modifier! key down?)element-attribute-value
[procedure] (element-attribute-value element attribute)same-element?
[procedure] (same-element? element1 element2)get-elements-by-class-name
[procedure] (get-elements-by-class-name class-name)get-elements-by-css-selector
[procedure] (get-elements-by-css-selector css-selector)get-elements-by-id
[procedure] (get-elements-by-id id)get-elements-by-name
[procedure] (get-elements-by-name name)get-elements-by-link-text
[procedure] (get-elements-by-link-text link-text)get-elements-by-partial-link-text
[procedure] (get-elements-by-partial-link-text partial-link-text)get-elements-by-tag-name
[procedure] (get-elements-by-tag-name tag-name)get-elements-by-xpath
[procedure] (get-elements-by-xpath xpath)Cookies
get-cookies
[procedure] (get-cookies)set-cookie!
[procedure] (set-cookie! name value #!key path domain secure? expiry)get-cookies-by-name
[procedure] (get-cookies-by-name name/regex)get-cookies-by-value
[procedure] (get-cookies-by-value value/regex)get-cookies-by-domain
[procedure] (get-cookies-by-domain domain/regex)get-cookies-by-path
[procedure] (get-cookies-by-path path/regex)cookie-name
[procedure] (cookie-name cookie)cookie-value
[procedure] (cookie-value cookie)cookie-path
[procedure] (cookie-path cookie)cookie-domain
[procedure] (cookie-domain domain)cookie-secure?
[procedure] (cookie-secure? cookie)cookie-expiry
[procedure] (cookie-expiry cookie)Pages
page-source
[procedure] (page-source)page-title
[procedure] (page-title)refresh-page!
[procedure] (refresh-page!)Screen
screen-orientation
[procedure] (screen-orientation)screenshot
[procedure] (screenshot)Mouse actions
move-mouse-cursor-to!
[procedure] (move-mouse-cursor-to! #!optional x y element)click-mouse-button!
[procedure] (click-mouse-button! #!optional button)mouse-button-down!
[procedure] (mouse-button-down!)mouse-button-up!
[procedure] (mouse-button-up!)double-click-mouse-button!
[procedure] (double-click-mouse-button!)Firefox webdriver
with-firefox-webdriver
[procedure] (with-firefox-webdriver profile-dir thunk #!key (scheme 'http) (host "127.0.0.1") (port 7055) (path "/hub") (command "firefox") (capabilities '((browserName . "firefox") (javascriptEnabled . #t) (platform . "ANY"))))"Remote" webdriver
with-remote-webdriver
[procedure] (with-remote-webdriver jar-file thunk #!key (scheme 'http) (host "127.0.0.1") (port 4444) (path "/wd/hub") (command "java -jar") (capabilities '()))License
BSD
Version history
Version 0.6
Category changed from web to testing
Version 0.5
Meta file fix (added category section)
Version v0.4
Fixed versions in release-info file
Version 0.3
Minor fixes: fixed version declaration in .setup. Unexported desired-capabilities, command-executor-host, command-executor-port and command-executor-path.
Version 0.2
Added release-info file
Version 0.1
Initial release