Automatic Checks with Scriptless Tool, Ghost Inspector
Ghost Inspector review: Tool to automate tests without the need for coding skills
We just started a new project with a client from Silicon Valley in e-commerce where one of the first things we’re working on is to review their current testing strategy, and within that, their automation strategy. The tool they use today is called Ghost Inspector, and although I personally had only heard about it, as my fellow ‘Abstractans’ have used it for some projects, I had not had the opportunity to seriously test it. Now that I’ve had the opportunity to see its use in a real project, I figured I’d share some of my comments and observations about this script-less automation tool.
Main Features of Ghost Inspector
An automation tool, they describe it as “scriptless” meaning that there is no need to know how to program. The interesting thing is that not only is the execution in the Cloud, but you use the tool entirely through a browser. There is no IDE or client in which to design the tests. You simply install a plugin to “record” the actions of the test case, and the rest is all on the web.
The tool offers 100 free executions per month— just to give it a try, so don’t get too excited!
The first thing to do is to create your user account on its website. Then you can install the plugin to record tests. I say you can, because as with Selenium, after you get the hang of it, you don’t need to use the recorder.
If you want to use the plugin to record, simply log into the plugin with your account info, and then your recorded tests will be associated with your account in your repository in the Ghost Inspector website. The automation is then done by CSS selectors or xpath.
The tests run in parallel as long as they execute as soon as possible. So, they do not run in a certain order (Keep an eye on that!). If the testing environment does not support a lot of load, you can limit the number of concurrent tests, so as not to overload it.
- It allows you to do an image comparison, in the style of Applitools (but much more limited).
- It can be executed with different resolutions (like iPhone 6 portrait).
- It can be run with Firefox in different versions or PhantomJS. In the paid account you can also select Chrome.
- Apparently it supports data-driven testing, since you can load a file with data. I haven’t tested this yet in detail.
- Something very interesting is that you can choose from where in the world to do the execution. This is particularly helpful in my current project, since depending on the country, the currency should be automatically selected.
- Only supports Firefox and Chrome. Right now in the project, we also need to test on Internet Explorer 11 and Safari, so it does not meet the expectations that we have for our automation strategy.
- Impossible to apply certain patterns and good automation practices, such as the famous page object pattern, although it can be modularized a bit (using sub-routines). This makes the tests not as easy to maintain, so the selection of the cases that you want to automate with this approach is fundamental.
- Doesn’t integrate with CI/CD tools or with cross-browser testing tools such as SauceLabs or BrowserStack but, I found out you can invoke the execution of a test suite from your CI/CD engine using a webhook.
- The videos are recorded on a single “layer.” It’s kind of weird, pop-ups or tooltip texts are not captured. This means that sometimes you do not understand what the script is doing.
- You can’t see the execution running live on your browser, but have to wait for it to finish in order to see the video of the execution. It’s very difficult to correct errors or strange behaviors, etc.
- No version control. When it comes to versions, every time I go to erase or modify something, I think about it three times first, since I have no way to go back. On the other hand when the automation is done with code, it’s put in a Git repository or something similar, so you have more control.
- Difficult to follow a BDD strategy. Something that I am now appreciating a lot about Cucumber (beyond following BDD) is that you have to document the test before writing the automation code. So, if someone comes in after a while to see what I have automated, it will be easier to understand. It is hard for me to understand what each test does because it does not have enough comments that indicate what is meant to be tested in each test (this has more to do with people than with the tool).
I think Ghost Inspector is an excellent alternative for the tester who does not know how to program. You have to roll up your sleeves with HTML and CSS selectors, but you always have to do that for automation. If utilized for the right purpose, I think it can be very useful. If you want to use it as the only tool in your test automation strategy, then I think it will be very limiting.
Have you relied on Ghost Inspector for your test automation? What did you think?
Looking for help with test automation? Our automation experts can help you design and execute the right automation strategy for you!