fasttest.io

fasttest is down at this moment


What it is

fasttest.io is your ticket to faster, easier to write and cheaper functional tests. They run in the server instead of your machine, so they’re closer to the browser that runs them. They are run in series so you can use the result from the previous test in the next one.

Your tests are going to be really simple to write and also run extremely fast.

It was launched in January 26 of 2019, so it’s pretty bleeding edge too. It’s free for now and when we consider we have the critical mass of users, you’ll be able to use it on a pay-what-you-use basis.

Comparison to other selenium-based cloud testing providers

This is set apart from services like Saucelabs or BrowserStack because, as it runs on AWS Lambda, it’s incredibly cheap. Additionally, the tests run in the same machine as the browser that’s running them, so there’s no extra hop between the test code and your server.

We're going to add a benchmark here to show how tests are easier to write and faster too!

It’s also a lot easier to point a fasttest test suite to any environments you might be running (staging, production) than other competitors, through the simple command line argument --base-url. Local environments aren’t done yet but they will be very nice. You won’t need to use something like sauceconnect to create a tunnel, we’ll create the tunnel for you and connect you to the test without any intervention.

In the future, when we have more than one browser, it will be trivial to do matrix testing, where you test against many browsers, by way of new arguments in our CLI.

Demo

Check out the demo below:

How to run

npm install fasttest -g
fasttest testfile.js --base-url http://example.com

The --base-url option is mandatory. It enables you to run tests against many environments (localhost support coming soon!). So to test your real production site you would put http://yourprodapp.com, and for staging you would put http://yourstagingapp.com, wherever your staging is. You can also add /path/to/staging if that’s where you deployed staging.

And testfile.js would have the following (check here for wind documentation)):

module.exports = {
  'Example Test': wind => {
    let heading = wind.getElement('h1').getText()
    return heading
  },
  'Example Test 2': wind => {
    // Add more tests below...
  }
}

Notice that you don’t have to type “async”. This is not an accident. fasttest.io turns your code into async code automatically, so you can focus on making good tests.

Documentation

The documentation for fasttest is this website for now.

Check the docs for wind here.