Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 129 lines (87 sloc) 6.154 kB
41c21fd @semperos Change README title
authored
1 # Clojure API for Selenium-WebDriver #
03ae48a @semperos Initial commit
authored
2
849cc3c @semperos Add notes for generating documentation locally
authored
3 This is a Clojure library for driving a web browser using Selenium-WebDriver as the backend. For more comprehensive documentation on all of clj-webdriver's features, read the [Github wiki](https://github.com/semperos/clj-webdriver/wiki). You can generate documentation locally with `lein doc` (API docs) or `lein marg` (annotated source).
03ae48a @semperos Initial commit
authored
4
9f908c5 @semperos Add table with release information
authored
5 <table>
6 <thead>
7 <tr>
8 <th>Release Type</th>
9 <th>Date</th>
10 <th>Leiningen/Maven</th>
11 </tr>
12 </thead>
13 <tbody>
14 <tr>
15 <td>Stable</td>
16 <td>Feb 15 2012</td>
17 <td><code>[clj-webdriver "0.5.1"]</code></td>
18 </tr>
19 <tr>
20 <td>Pre-Release</td>
cdd70ce @semperos Update README with new version release
authored
21 <td>August 15 2012</td>
22 <td><code>[clj-webdriver "0.6.0-alpha11"]</code></td>
9f908c5 @semperos Add table with release information
authored
23 </tr>
24 </tbody>
25 </table>
26
51e9707 @semperos Add YourKit testimonial to README
authored
27 **NOTE TO LEININGEN 2 USERS:** At least as of Leiningen 2 preview 6, the default behavior for retrieving dependencies that fail a checksum test is *not to download them.* This affect's at least one of Selenium-WebDriver's transitive dependencies, which means you can't download clj-webdriver's dependencies with default Leiningen 2 settings. In order to solve this issue, you need to set the `:checksum` option for either your entire `project.clj` or for a specific Maven `:repositories` entry that contains Selenium-WebDriver's dependencies (e.g., Maven central). See [Leiningen's](https://github.com/technomancy/leiningen) repository README and example `sample.project.clj` file for more information.
28
3296292 @semperos Update README with another Selenium-WebDriver link, split up resource…
authored
29 **clj-webdriver Resources**
30
c38290a @semperos Add primary links for this project's resources to the README
authored
31 * [Project Wiki](https://github.com/semperos/clj-webdriver/wiki)
32 * [Google Group](https://groups.google.com/forum/#!forum/clj-webdriver)
33 * [Issue Queue](https://github.com/semperos/clj-webdriver/issues)
3296292 @semperos Update README with another Selenium-WebDriver link, split up resource…
authored
34
a4251c7 @semperos Add link to official CSS syntax by W3C
authored
35 **External Resources**
3296292 @semperos Update README with another Selenium-WebDriver link, split up resource…
authored
36
84caa4d @semperos Update README with quickstart using Taxi API
authored
37 * [Selenium-WebDriver API (Javadoc)](http://selenium.googlecode.com/svn/trunk/docs/api/java/index.html)
a4251c7 @semperos Add link to official CSS syntax by W3C
authored
38 * [Selenium-WebDriver Changelog](http://code.google.com/p/selenium/source/browse/trunk/java/CHANGELOG)
39 * [CSS Selector Syntax](http://www.w3.org/TR/css3-selectors/#selectors)
c38290a @semperos Add primary links for this project's resources to the README
authored
40
1b5f218 @semperos Please join the Google group
authored
41 **Please join the Google group if you use this library.** I regularly post announcements about upcoming releases, and although I ensure all tests are passing and try to maintain good test coverage before releases, user testing is invaluable. Thank you!
42
4a86f36 @semperos Take out Travis status image, build breaking due to server configurat…
authored
43 ## Usage ##
03ae48a @semperos Initial commit
authored
44
1507bb5 @semperos Make important points more prominent in README
authored
45 ### Quickstart ###
01d7b2d @semperos Fix phirsch's issue with WindowHandle not being found due to namespac…
authored
46
cbc4da9 @semperos Remove extraneous parts in README, keep to quickstart and links to wiki
authored
47 Here's a complete example of how to log into Github, using the high-level Taxi API:
03ae48a @semperos Initial commit
authored
48
88cc5b5 @semperos Update README to use Github-style md for code blocks
authored
49 ```clj
84caa4d @semperos Update README with quickstart using Taxi API
authored
50 (use 'clj-webdriver.taxi)
03ae48a @semperos Initial commit
authored
51
84caa4d @semperos Update README with quickstart using Taxi API
authored
52 ;; Start up a browser
53 (set-driver! {:browser :firefox} "https://github.com")
03ae48a @semperos Initial commit
authored
54
84caa4d @semperos Update README with quickstart using Taxi API
authored
55 (click "a[href*='login']")
03ae48a @semperos Initial commit
authored
56
84caa4d @semperos Update README with quickstart using Taxi API
authored
57 (input-text "#login_field" "your-username")
58 (input-text "#password" "your-password")
03ae48a @semperos Initial commit
authored
59
84caa4d @semperos Update README with quickstart using Taxi API
authored
60 (submit "#password")
61 (quit)
88cc5b5 @semperos Update README to use Github-style md for code blocks
authored
62 ```
03ae48a @semperos Initial commit
authored
63
84caa4d @semperos Update README with quickstart using Taxi API
authored
64 Forms can be filled out en masse using the `quick-fill-submit` function:
3a69fae @semperos Add section to README for new quick-fill fn, edit other sections
authored
65
66 ```clj
84caa4d @semperos Update README with quickstart using Taxi API
authored
67 (quick-fill-submit {"#login_field" "your-username"}
68 {"#password" "your-password"}
69 {"#password" submit})
3a69fae @semperos Add section to README for new quick-fill fn, edit other sections
authored
70 ```
71
cbc4da9 @semperos Remove extraneous parts in README, keep to quickstart and links to wiki
authored
72 ## Documentation ##
3a69fae @semperos Add section to README for new quick-fill fn, edit other sections
authored
73
54b8a65 @semperos Update link to Taxi wiki page in README
authored
74 For API documentation on the high-level Taxi API (shown above), please [see its wiki page](https://github.com/semperos/clj-webdriver/wiki/Introduction%3A-Taxi).
03ae48a @semperos Initial commit
authored
75
849cc3c @semperos Add notes for generating documentation locally
authored
76 For reference documentation, run `lein doc` at the root of this repo. For annotated source documentation, run `lein marg`.
77
4b12ba5 @semperos Add instructions for contributing, branches
authored
78 ## Contributing ##
79
80 The `master` branch of clj-webdriver houses code intended for the next **minor-version release.** If you want to propose new features for the next release, you're welcome to fork, make a topic branch and issue a pull request against the `master` branch.
81
f45dcf6 @semperos Update what is the current stable release
authored
82 If you want to fix a bug in the **current release**, please pull against the appropriate branch for the current minor version, **0.5.x**.
4b12ba5 @semperos Add instructions for contributing, branches
authored
83
51e9707 @semperos Add YourKit testimonial to README
authored
84 ## Running Tests ##
ed9aefb @semperos Update README with information about running test suite
authored
85
6907a44 @semperos Add hierarhical query information back into README, reformat links
authored
86 The namespace `clj-webdriver.test.example-app.core` contains a [Ring](https://github.com/mmcgrana/ring) app (routing by [Moustache](https://github.com/cgrand/moustache)) that acts as the "control application" for this project's test suite.
ed9aefb @semperos Update README with information about running test suite
authored
87
f4125d1 @semperos Add note about 'lein compile' to testing instructions with addition o…
authored
88 First, run `lein compile`, then use the `script/test` script to run clj-webdriver's tests. Its usage is as follows:
cbc4da9 @semperos Remove extraneous parts in README, keep to quickstart and links to wiki
authored
89
90 ```
ee32da2 @semperos Rewrite 'Running Tests' section of README in light of new script/test…
authored
91 Usage: test {all|core|remote|taxi}
cbc4da9 @semperos Remove extraneous parts in README, keep to quickstart and links to wiki
authored
92 ```
ed9aefb @semperos Update README with information about running test suite
authored
93
ee32da2 @semperos Rewrite 'Running Tests' section of README in light of new script/test…
authored
94 The `core` option runs tests against the core API's using Firefox and Chrome. The `remote` option runs tests for Grid and remote server/driver handling. The `taxi` option tests just the Taxi API. The `all` option runs through each of the other options once.
28aa16e @semperos Update readme with how to run tests for individual browsers
authored
95
0b76354 @semperos Add back part of documentation that gives instructions for starting u…
authored
96 *Note:* If you just want to run the example app that clj-webdriver uses for its testing purposes, do the following:
97
98 * Open a terminal and run `lein repl` or `lein swank` at the root of this project
99 * Evaluate `(use 'clj-webdriver.test.example-app.core 'ring.adapter.jetty)`
100 * Evaluate `(defonce my-server (run-jetty #'routes {:port 5744, :join? false}))`, making sure to adjust the `test-port` in `test/clj_webdriver/test/core.clj` to whatever you use here.
101
51e9707 @semperos Add YourKit testimonial to README
authored
102 ## Acknowledgements ##
fb4d6ae @semperos Add acknowledgements section to README
authored
103
6907a44 @semperos Add hierarhical query information back into README, reformat links
authored
104 Credits to [mikitebeka/webdriver-clj](https://github.com/mikitebeka/webdriver-clj) for the initial code for this project and many of the low-level wrappers around the Selenium-WebDriver API.
fb4d6ae @semperos Add acknowledgements section to README
authored
105
35e16fd @semperos Add link to Eclipse license in README
authored
106 Many thanks to those who have contributed so far (in nick-alphabetical order):
fb4d6ae @semperos Add acknowledgements section to README
authored
107
bdcdd5e @semperos Add mangaohua to contributors list in README
authored
108 * [mangaohua](https://github.com/mangaohua)
9cae71b @semperos Add maxweber to contributors list in README
authored
109 * [maxweber](https://github.com/maxweber) (Max Weber)
fb4d6ae @semperos Add acknowledgements section to README
authored
110 * [RobLally](https://github.com/RobLally) (Rob Lally)
111 * [ulsa](https://github.com/ulsa) (Ulrik Sandberg)
112 * [xeqi](https://github.com/xeqi) (Nelson Morris)
113
114 See Github for an [up-to-date list of contributors](https://github.com/semperos/clj-webdriver/contributors)
115
51e9707 @semperos Add YourKit testimonial to README
authored
116 ## YourKit ##
117
118 I would also like to thank YourKit, LLC for providing its Java profiler to clj-webdriver developers as part of its contribution to the Open Source community.
119
120 YourKit is kindly supporting open source projects with its full-featured Java Profiler.
121 YourKit, LLC is the creator of innovative and intelligent tools for profiling
122 Java and .NET applications. Take a look at YourKit's leading software products:
123 <a href="http://www.yourkit.com/java/profiler/index.jsp">YourKit Java Profiler</a> and
124 <a href="http://www.yourkit.com/.net/profiler/index.jsp">YourKit .NET Profiler</a>.
125
126 ## License ##
03ae48a @semperos Initial commit
authored
127
35e16fd @semperos Add link to Eclipse license in README
authored
128 Distributed under the [Eclipse Public License](http://opensource.org/licenses/eclipse-1.0.php), the same as Clojure.
Something went wrong with that request. Please try again.