<commit_before><a href="https://travis-ci.org/alltonp/flakeless" target="_blank"><img src="https://travis-ci.org/alltonp/flakeless.png?branch=master"></a>


# Flakeless - light touch, flake free browser testing in scala


### Why would I use it?
- You want to write your tests in blissful ignorance of async/ajax browser updates
- You never want to write another sleep, explicit, implicit or fluent wait
- You value zero tolerance to flaky tests

### How?
- No big bang switch, flakeless lets you gradually migrate your tests one interaction at a time
- Replace each action or assertion with Flakeless' simple [Tell Dont Ask](https://martinfowler.com/bliki/TellDontAsk.html) style primitives


### Sounds good, how do I start eradicating my existing flaky tests?
- Read the [Migration Guide](src/example/scala/im/mange/flakeless/examples/MigrationGuide.scala)



### Installing

Add the following lines to your build.sbt (click on the 'build passing' link above to get the version number)

    resolvers += "Sonatype Repo" at "http://oss.sonatype.org/content/groups/public/"

    libraryDependencies += "im.mange" %% "flakeless" % "version"


-----

Copyright © 2016-2017 Spabloshi Ltd<commit_msg>yet more<commit_after><a href="https://travis-ci.org/alltonp/flakeless" target="_blank"><img src="https://travis-ci.org/alltonp/flakeless.png?branch=master"></a>


# Flakeless - light touch, flake free browser testing in scala

#What is it?
- A lightweight library that wraps WebDriver for easy integration into both new and existing projects

### Why would I use it?
- You want to write your tests in blissful ignorance of async/ajax browser updates
- You never want to write another sleep, explicit, implicit or fluent wait
- You value zero tolerance to flaky tests
- You value strong assertions (i.e. 'assert Element Not Found' is the most useless assertion one could possibly write - so Flakeless does not support it)
- You want zero-effort test reporting

### How?
- No big bang changes, Flakeless lets you gradually migrate your tests one interaction at a time
- Replace each browser action/assertion with one of Flakeless' simple [Tell Dont Ask](https://martinfowler.com/bliki/TellDontAsk.html) style primitives

### Sounds good, how do I start eradicating my existing flaky tests?
- Read the [Migration Guide](src/example/scala/im/mange/flakeless/examples/MigrationGuide.scala)

### Sounds good, how do I using flakeless on a new project?
- Read the New Project Guide (coming soon)

### I'm using it, how do I better understand my test suite?
- Read the Reports Guide (coming soon)


### Installing

Add the following lines to your build.sbt (click on the 'build passing' link above to get the version number)

    resolvers += "Sonatype Repo" at "http://oss.sonatype.org/content/groups/public/"

    libraryDependencies += "im.mange" %% "flakeless" % "version"


-----

Copyright © 2016-2017 Spabloshi Ltd
{'fraction_non_alphanumeric': 0.09859154929577464, 'fraction_numerical': 0.005496392992098935, 'mean_word_length': 4.343119266055046, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 6, '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': '4566997', 'n_tokens_mistral': 884, 'n_tokens_neox': 830, 'n_words': 341}