<commit_before># Hound (work in progress)

Elixir WebDriver library. Implements the W3C WebDriver spec. Supports Selenium.

Ships with free helpers for ExUnit.

### Setup

* Add `hound` as a dependency to your mix project

```elixir
{ :hound, github: "HashNuke/hound" }
```

* In your `mix` project, start the Hound application. See below for examples.

```elixir
# Start Hound for localhost webdriver server (Selenium assumed at port 4444)
Hound.start

# Start Hound for remote webdriver server at port 5555
Hound.start [host: "http://example.com", port: 5555]

# Start hound with a different driver.
# Right now Json driver is the default and only driver available.
# If you write a driver for a different webdriver server, then you can use it like this.
Hound.start [driver: Hound.YourFavouriteDriver]
```

### Usage

* In your test files, add `use Hound.ExUnitHelpers` to add helpers for ExUnit.

* Add `hound_session` to create a hound session for your tests.

```elixir
defmodule HoundTest do
  use ExUnit.Case
  use Hound.ExUnitHelpers

  hound_session

  test "the truth", meta do
    navigate_to("http://google.com")
    assert(true)
  end
end
```

### TODO

* Cookie
* Window size, position, maximize, close window, focus frame
* Mouse
* Geo location
* Local storage
* Session storage
* Session log
* Application cache status

### Reference

https://code.google.com/p/selenium/wiki/JsonWireProtocol<commit_msg>Clean up readme<commit_after># Hound (work in progress)

Elixir WebDriver library. Implements the W3C WebDriver spec. Supports Selenium.

Ships with free helpers for ExUnit.

### Setup

* Add `hound` as a dependency to your mix project

```elixir
{ :hound, github: "HashNuke/hound" }
```

* In your `mix` project, start the Hound application. See below for examples.

```elixir
# Start Hound for localhost webdriver server (Selenium assumed at port 4444)
Hound.start

# Start Hound for remote webdriver server at port 5555
Hound.start [host: "http://example.com", port: 5555]
```

### Usage

* In your test files, add `use Hound.ExUnitHelpers` to add helpers for ExUnit.

* Add `hound_session` to create a hound session for your tests.

```elixir
defmodule HoundTest do
  use ExUnit.Case
  use Hound.ExUnitHelpers

  hound_session

  test "the truth", meta do
    navigate_to("http://google.com")
    assert(true)
  end
end
```

### Helpers

TODO


### Reference

https://code.google.com/p/selenium/wiki/JsonWireProtocol
{'fraction_non_alphanumeric': 0.09836065573770492, 'fraction_numerical': 0.010655737704918032, 'mean_word_length': 4.171610169491525, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3447204', 'n_tokens_mistral': 832, 'n_tokens_neox': 784, 'n_words': 296}