Ghostwriter
A blog about QA and testing from the Ghost Inspector team. Subscribe to stay up to date with our latest posts!

5 Post-Launch Steps to Make Your App Successful
This post originally appeared on the Build Blog by ThinkApps. View the full, original post by Runscope’s VP of Developer Relations, Neil Mansilla. So you’ve designed, built and launched

Automated Browser Testing During Continuous Integration with CircleCI and ngrok
Note: this article relates to CircleCI 1.0 configuration which is scheduled to be sunset on August 31, 2018. Documentation for integrating with CircleCI 2.0 can be can be found in our

5 Best Practices for Automated Browser Testing
Automated testing entails much more than simply creating tests and enabling them. A “set it and forget it” approach won’t get you very far with

GruntJS Plugin for Ghost Inspector
We just released a new Ghost Inspector plugin for GruntJS called grunt-ghost-inspector. Grunt is a JavaScript task runner that’s often used for building projects and related processes. Our

We’re now recording video of all tests!
We launched a huge new feature over the weekend that we thought was worthy of a blog post: Video! We’re now recording video of all

Tips for Making CasperJS Tests More Reliable
— a powerful open source navigation scripting & testing utility. Over the past 6 months we’ve learned a ton about what it takes to make
Webcast — PhantomJS, CasperJS, Screenshot Comparison and Ghost Inspector
Last night I had the privilege of presenting a webcast to the NYC Metro Selenium Users Meetup. I’m happy to report that over 80 people tuned in

Everything You Need to Configure a 10 Server Infrastructure Stack for $50/mo
We’re excited about a lot here at Ghost Inspector. One of the things we’re most excited about is our server stack — specifically, just how

Regex for validating the HTML id AttributeRegex for validating the HTML id Attribute
When we initially started building our test recorder, we needed a way to validate the id attributes being used on the page. We would sometimes capture