FluentAutomation


Brandon Stirnaman

FluentAutomation Creator
Simple, fluent automated testing for web applications.



F14N Founder
Fast, easy automation test creation, execution and management.

RELEASED: Fluent Automation 2.0.0

As promised yesterday, v2 is now live and in the wild for all to use. Please refer to the documentation here or hit me up on twitter (@stirno) or our Issue tracker on GitHub">Issue tracker on GitHub.

This a major version increase, which means we've broken a few things. I'll just ramble off a few things off the top of my head here...

Test classes should now inherit from FluentAutomation.FluentTest rather than the specific provider versions we used previously. Instead they must call a Bootstrap function from the chosen provider inside the constructor or a test initialization method:

public class TestClass : FluentAutomation.FluentTest  
{
    public TestClass()
    {
        FluentAutomation.SeleniumWebDriver.Bootstrap();
    }
}

There have been several changes across the API to allow for more predictable access patterns. Configuration is now done via a static Settings object.

We now provide a way for users to grab a value from the page via the I.Find/I.FindMultiple actions. Using these you are able to fetch an entity and work with its properties.

New type of Wait: I.WaitUntil() -- This allows you to specify a condition that must be true for the test to continue. This should eliminate most of the need for explicit timed waits in tests, making them far less fragile.

Utilizing TinyIoC, a user can provide their own Bootstrapper which allows you to override functional and language portions of the framework at their convenience. Don't like the I.Click/I.Expect style of tests? Implement a new INativeSyntaxProvider and replace it, while using our CommandProviders and ExpectProviders. Only replace the parts you need to. If you just need to tack on extra functionality (commonly I.Login/I.Logout), just add extension methods to INativeSyntaxProvider.

The framework is now there to support working with files on remote stores such as Amazon's S3. Custom IFileStoreProvider instances can be implemented to save screenshots to S3 buckets, Dropbox, Box.com, wherever you need it. The same provider is used to load files for I.Upload() calls.

/rambling. Basically there is a lot of new and powerful stuff and I'm excited to see how people use it. Go grab it from NuGet or fork the source on GitHub. I'd love to get some feedback, comments, emails, tweets, whatever works for you.

Updated Website, Documentation API

We've been hard at work for many months now on v2.0 of Fluent Automation. Its been up on NuGet as a pre-release for a few months and several users have been working off their own forks. As a part of preparing to fully release v2.0 we've updated the… Read More

Docs now hosted on GitHub

I’m going to start keeping the documentation with our source on GH now, so this means we will be hosting our documentation with GitHub Pages. Docs for v2 are available here: http://fluent.stirno.com/docs/ EDIT: Updated URL after our move to AWS CloudFront.… Read More

RELEASED: Fluent Automation v2.0-Alpha

A few days ago we pushed Fluent Automation v2 to NuGet, its been in our master branch on GitHub for awhile now but we’ve continued testing and felt it was ready for some more widespread use. There are several breaking changes from v1 to v2, but we’ve streamlined… Read More

.NET API Docs

Finally, after much delay, I’ve put together a first draft of the .NET API documentation and some setup instructions. Hopefully this will help people get comfortable with Fluent more quickly. I included some advanced configuration details where possible. The next step will be to include more code samples, examples… Read More

NuGet Package updated to 1.0.0.97

Just released to NuGet, the latest code including all the .NET client side bits for RemoteCommand API. This is the first big push to NuGet in months and I wanted to make sure the documentation now available matched what people were likely to be using. This will likely be the… Read More