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