250 – Automated website testing with Ghost Inspector

‘A-Z of WordPress’ with Nathan Wrigley and David Waumsley

So you have a WordPress website and it’s all built and handed over to the client. You’re done! Hurrah! Wait a minute, you’re not done are you?

WP Builds is brought to you by...



GoDaddy Pro

You need to get the client on to the care plan and that involves making sure that the website is up and running.

Chances are that you’ve used some simple tools for uptime monitoring. You know what I mean. The kind of tools that periodically ping your website and report back if the site is still alive.

You might even have gone a step further and employed a tool that offers you some sort of visual feedback. It will make sure that the site of yesterday looks like the site of today, and in this way you can be sure that nothing untoward has occurred.

But what if you wanted to go a step further? What if you wanted to check all-the-things, and not just make sure that the website is up, but that the website is working. There is a difference!

Want to get your product or service on our 'viewed quite a lot' Black Friday Page? Fill out the form...

Today we speak to Justin Klemm about Ghost Inspector, which is tool which can do many, many things to make sure that your site is up and working.

The idea is that you or your client knows about something that’s gone wrong on the site before it starts to cost them, and let’s be honest, mistakes do happen and things do break!

Take the example of a form. You’re not going to know if your form breaks unless you test it, and you’re not going to test it all that often. Perhaps this form is the single biggest lead generator for your company, or perhaps it’s the checkout form for your online store. If that form goes down, it goes down silently, and you’ll never know it stopped working unless you fill it in yourself or some kind soul contacts you to tell you about it.

With Ghost Inspector you can set up all sorts of complex tests in your browser and their platform will carry out those tests for you and let you know when somethings is not as expected.

You use their browser extension and record events on the site, like mouse clicks, form field autocomplete and much more. You then say how often you want the test to be performed. That’s it.

In an ideal world you’ll never hear from Ghost Inspector again because everything always works, but it’s a great insurance policy to know that it’s got your back and will update you before you get the angry call from the client who wants to know just how long that form has been broken.

We go into all the details on the podcast today and Justin answer the following questions:

  • What’s the main point of the software?
  • Is suitable for simple, brochure websites, or just larger online properties?
  • Are there any issues / integrations with WordPress directly?
  • How does it work? Browser extensions? Tell us about the workflow, is it like creating a form with instructions of what to test?
  • How complex and refined can you get?
  • What specifically can it test?
  • Does it test different scenarios, like desktop / mobile / other?
  • Is this software available for your entire team?
  • Does it offer guidance on how to fix things, or just that things are broken?
  • Do you offer support in getting up and running? How does your support work? Chat / email etc.?
  • Why would you want to use this instead of an uptime monitor or a site that just looks for changes on a page layout? What makes it stand out from the competition?
  • Are there people for whom this is not a good fit?
  • Are there ways that this can be used poorly, too much, not giving the data that you want need?
  • What are the price points?
  • What is on the roadmap for the future?

Have a listen to the podcast, and as always leave a comment if you have something to say, or you can reach out to Justin on his Twitter account.

Mentioned in this podcast:

Ghost Inspector

The WP Builds podcast is brought to you this week by…


Omnisend is the top-rated email and SMS marketing platform for WordPress. More than a hundred thousand merchants use Omnisend every day to grow their audience and sales. Ready to start building campaigns that really sell? Find out more at www.omnisend.com

GoDaddy Pro

The home of Managed WordPress hosting that includes free domain, SSL, and 24/7 support. Bundle that with the Hub by GoDaddy Pro to unlock more free benefits to manage multiple sites in one place, invoice clients, and get 30% off new purchases! Find out more at go.me/wpbuilds.

The WP Builds Deals Page

It’s like Black Friday, but everyday of the year! Search and Filter WordPress Deals! Check out the deals now

Transcript (if available)

These transcripts are created using software, so apologies if there are errors in them.

Read Full Transcript

[00:00:00] Nathan Wrigley: Welcome. So the WP Builds podcast, bringing you the latest news from the WordPress community. Welcome your hosts, David Waumsley, and Nathan Wrigley.

Hello there and welcome to the WP Bill's podcast. Once again, this is episode number 250, which was published on Thursday, the 7th of October, 2021. My name's Nathan Wrigley, and a few bits of housekeeping just before we begin. In fact, one bit of housekeeping in a week, just over a week. So let's get the dates, right?

It's the 18th of October, 2021. We will be launching the page builder summit 3.0, we have got absolutely tons in store. We've got 40 odd speakers and sessions going on. We've got our Facebook group, we've got prizes. It's all to do with WordPress and page. Which includes the Gutenberg block editor as well, loads of stuff going on, and you can find out all about it at page builder, summit.com.

If you go there, you'll see a pink button and that pink button will enable you to get signed up so that you can attend all the events. And we'll keep you posted as things are happening. Free to attend. There is an upsell offer. If you'd like to avail yourself of that, that enables you to get all of the content for ever and all of the speaker bonuses and things as well.

It's a really good deal and I would recommend it, but it's up to you. You can just watch live on the day. If you prefer to do it that way. One small page build a summit to.com. It goes from Monday the 18th of August. All the way through till Friday. And there's a page where you can look at everything that's page builder, summit.com forward slash schedule.

It is being updated from time to time as we get some new information. But most of the stuff that you need is that. Okay. The normal stuff though. WP bills.com forward slash subscribe to keep in touch with everything that we do and barring that let's move on to today's subject today. I'm talking with a lovely chap called Justin Klemm, and we're talking all about a tool that I confess I had not heard.

Called ghost inspector. Justin reached out to me after listening to a podcast episode of ours. It was HS for health, where we talked about all of the things that you might need to do to keep your whole website healthy. And he said there's something that you've missed. And it's our tool called ghost inspector.

Ghost inspector allows you to do all of the things that you might wish to do to test whether your website is actually working. So for example, you can see. Automations. This is a really nice thing. You can use that Chrome extension to set up some automations. You can fill out forms and make sure the forms are being submitted.

You can do the usual capturing of screenshots to make sure your website is up. And I have to say it's an impressive suite of software. It's not something I've ever dwelt on in the past, particularly, but obviously if you've got a really high profile site and you need to make. Everything is working including pages, loading forms being filled out correctly.

And so on. Then ghost inspector might well be the tool for you. So here's the podcast. I hope that you enjoy it. I am with Justin Klemm on the podcast today. Hello. Hello, Nathan, we have a quite an unusual story of how we met. We've just been discussing it offline just a moment ago, because it feels um, we mentioned your product, which is called ghost inspector a little while ago on a podcast episode.

And do you want to just tell us how we, uh, how we ended up colliding on the podcast?

[00:03:46] Justin Klemm: Yeah, that's right. It was a fun situation. You had recorded a podcast a while back. That was, I believe H for health. And it was talking about different tools you can use to monitor your WordPress sites. And the company I worked for ghost inspector came up where an automated browser testing tool.

And someone mentioned that you could use it to test a contact for him, and it was great. And then there was a conversation around. It was like, what would be really cool if you could submit that form and then you could actually check and make sure that email got delivered. And I don't think there was a good solution on that podcast.

But our, one of our users heard it and commented on Twitter and was like, Hey, ghost inspector actually has this email testing feature too. So, so you can actually do that in some situations. And that looped me in, I caught my interest and we got in touch and thought it'd be fun to hop on a podcast and talk about ghost inspector and maybe touch on that email testing.

[00:04:46] Nathan Wrigley: Okay. That sounds really good. We've already mentioned the name of the product. It is ghost inspector, probably. Good idea. I've mentioned things like this is. Pause the podcast now go to ghost inspector.com. It's spelled exactly as you would imagine, ghost inspector.com familiarize yourself with it and then pop back in and press play again.

If not, you're in for the you're in for the ride and you'll go through it as we go through it. I have to say, Justin, this is not an area where I'm have a particular expertise. So I'm going to ask some fairly, you dumb questions and you'll just have to pull me out of the mire and dragging me through it.

But but you've already touched on basically what the software does, but maybe you've got like some sort of elevator pitch that you can throw at us for just under a minute. What is ghost inspector? What's the point?

[00:05:36] Justin Klemm: Yeah, absolutely. So ghost inspector is an automated testing service and we're designed to be very approachable so that folks who host websites are managed websites can create automated tests.

The interact with their website, the same way a user would. So you can imagine testing things like adding an item to the shopping cart or logging in, logging out, submitting contact forms, the types of actions that it user would carry out and expect to work on your website. What you can do is use ghost inspector to record or recreate those actions and turn it into a reproducible test.

And that's stored on our service. We give you options for running those tests so you can schedule them or you can run them post-deployment you can run them on demand. And what we do is launch a browser and carry out those same actions in an automated way, adding the item to your shopping cart, submitting your form and capture that as a test result.

So we give you video and a screenshot comparison. We can check some emails in situations we can do accessibility testing, a whole slew of features that you might want to test on your website. And so when things go wrong, Suddenly your WooCommerce plugin has broken and an item can't be added to the shopping cart.

Ghost inspector is going to catch that and it can notify you via email or slack or other methods and tell you, Hey, there's a problem with your website and give you a result showing you what happened.

[00:07:00] Nathan Wrigley: Great really nice summation there. So the website ghost inspector.com, one of the sort of UVP is at the top is simple codeless test automation.

Getting started with automated browser testing can be difficult and requires integrating many tools together. Not with ghost inspector. Now anyone can test. And really my question is around the. Anyone can test and curious about who your current client basis, maybe you don't have these metrics, but I'm interested to know if it's just kind of end users, people that are using WordPress and maybe they've got their own independent site and they don't really know a lot about WordPress, or they're curious to see if their site's up and performing as it should, or whether you've maybe got a bit more of a balance, maybe swinging more to the agency side and the freelancer side professionals who are building multiple WordPress websites.

Yeah. Sure.

[00:07:47] Justin Klemm: So we have a pretty broad range of customers. We do see a lot of WordPress users. In fact, we have a WordPress plugin. I can talk about it a little later on, but often agencies, but we do see those individual WordPress developers in there sometimes using our service. Obviously we're oriented a little more B2B.

Uh, in cases where you have maybe a personal WordPress website, Our solution may be a little too aggressive for your needs. But yeah, we S we see a range and oftentimes we see agencies who are building WordPress sites for their clients and then continue continue to monitor those sites and make sure that they're online and working.

What's nice about ghost inspector is you're not, you don't have to buy a ghost inspector account like per website. So we'll have agencies who might. 10 15, 20, a hundred websites built. They just have one account with us and they're managing the tests and they're making sure that the website looks the way it's supposed to look and, and acts the way it's supposed to act.


[00:08:49] Nathan Wrigley: Yeah. Oh, that's good to know. We'll come on to the pricing and all of that and how the tiers. But maybe towards the end, but so probably it's going to fit better with our audience. I would imagine. Cause I think most people listening to this, their life is in some way, professionally connected with WordPress.

And that's not always going to be the case, but I think a lot of the people listening to this are doing WordPress websites multiple each year, perhaps working for an agency or freelancing and build building up their own agency. So this is right in that wheelhouse. I'm just curious as to whether or not there's a.

Type of website, is there a point where actually ghost inspector is not suitable for you because your website is just too straightforward. So you mentioned mom and pop stores. Let's say for example, that I've got a simple website, three or four pages, it's just a brochure thing. There's a contact form at best, but that's about it.

It's three or four pages of information about something that I'm interested in on the internet. Is it suitable for that or are we stretching the benefit of ghosting the spectrum? Yeah.

[00:09:50] Justin Klemm: So I think it's in those cases, it's really up to the person who managing the website. And in some ways I think of ghost spectris as an insurance policy.

So maybe it's you know, how important is it that this contact form. Is working all the time. But there are certainly there's a broad range of tools available to help you with money or your website and starting with things that are very simple and often like very reasonably priced kind of like an uptime monitoring tool.

That's essentially just. Hitting your URL. And it's do I get a, a 200 status response? Is it, is it reachable or maybe it searches for a string, maybe your Google analytics string in the content, something really simple. And then you can take a step up and there's services that might take like a screenshot of your website each day and compare it.

That might be like a little more expensive, but still, on the cheaper side. And you can go up from there. With GOSA spectrum, you get a pretty comprehensive set of features. So we do do screenshot comparison and what's nice is if your style sheet breaks or maybe your theme like updated itself and now something's off it can flag that you have the contact form testing.

We, we do accessibility checks. So if that's a concern for you and some websites have pretty strict requirements about Uh, being accessible, meaning like, uh, are able to be used by folks with disabilities. We can check for those kinds of things. So I think it's ultimately your call of you know, what are the things you're looking to confirm on your website that are working?

How regularly do you want to do that? If it's like a casual web. I'm sure you can get by with even some free solutions just making sure the bare minimum is met. If you really want to tick all those boxes and make sure all the things are working and, you're responsive, we do different screen sizes.

You know, is there a responsive version working on an iPhone is the tablet size, rendering properly. You really want to take all those. Then ghost inspector can be a good option for

[00:11:58] Nathan Wrigley: you. Yeah. It feels as if you're more into the interactive side of things. I could be misrepresenting ghost inspector, but it feels like your pitch is firmly in the look.

We do a lot more than just taking a screenshot and checking if your style sheets available and things like that. This is the higher end. You've got a product where you can tell it here's a set of instructions. Follow these instructions. And if these instructions. Fulfilled and we don't get the expected output returned then do something about that.

So if the complexity is really whether where the joy is.

[00:12:33] Justin Klemm: That's correct. Yeah, we definitely that's really, the meat and potatoes is that we can open a browser and not just check, did this load where we're able to fill things out, submit forms, log in. And so that opens up a pretty big doorway of, uh, uh, possibilities in terms of testing things.

So that's really where it's going show.

[00:12:53] Nathan Wrigley: Okay. So that brings me to the question. I'm not sure in which order to do this, how to, how does it actually behave in the UI? How do you do it? Or what can it test? I think I'll go for, what can it test for? So this may be an massive, great long list of things that it can test.

It might only be five or six things but whatever you feel are the most important things to get out what kind of things are up on the table? What can, what could I test for the typical WordPress user might be.

[00:13:20] Justin Klemm: Yeah. So there's, it's a funny question because this is something we touch on with new users a lot.

Because it, it's almost, it's overwhelming a little bit. What can you tell? Because you can almost carry out any operation, a user would. And well, we try to tell our new customers when we onboard them is really try to think about like the 10 most important things that like really matter on your website.

What are the things that must be working, right? If you're selling things, a user must be able to add something to their shopping cart. Ideally you could test that. They can actually check out and buy something. If your users log into your website, you'd want to make sure that they could log in.

Maybe that they can update their profile. Yeah. Maybe that they can change their password. If you have a contact form, you probably want to make sure that contact form is submitting. So you really want to pin down what are what are the core things that I want to make sure 100% of the time are working.

And then once once you build tests around those and have good coverage for those things, Then you can start to get a little crazier and test some of the subtler things are more complex things. But it's important to really start with the most important. Features of your website because if if you kind go nuts with it and you suddenly, it's day three and you've got 400 tests that are testing all these edge cases it can become a bit unwieldy.

And, as you mentioned, this is a fairly complicated thing, right? You're performing you know, actions in an interactive way. And so this can spiral out of control if you try to test like all the things all the time. So in most cases, I hesitate to say almost everything is testable.

It is, but it's more about what's most important to me. What are the things that I need working for my website to be like operations. I've got some

[00:15:18] Nathan Wrigley: curious edged cases. They've just come into mind. So for example, I imagine that you can position the mouse in a certain point and interact with a form field and fill that form field out with a pre.

Set of data and click a submit button and see what that brings back and so on. So really weird things like, can it hear audio in my case, I'm a podcast or if the audio is not coming out the other end, in other words, if the audio file isn't missing, that's a catastrophe for me. And I might be a YouTuber and I might have a blank space on my website where the latest YouTube video should be going.

So I know they're really weird and apologies for just suddenly putting you on the spot, but can it do quirky things like.

[00:15:57] Justin Klemm: That's an excellent question. So at the moment it can't actually do audio. And one of the challenges we've had there is that. B, because the test run on, on Amazon servers those cars don't actually, those servers don't actually have like audio capability.

That's interesting. Okay. So we do have a little bit of work we're doing what's kinda neat is as this field's gotten popular the past couple of years, the browsers themselves have been adding more features to support automation. So there's, there's one that we're working on adding where. When you tell Chrome okay, you can listen to my mic or you can see my video camera.

There's now a way when you're running Chrome and an odd automation mode to provide like an actual video file or an audio file. So even though there's there, you're not on the automated test. There's no mic. You're able to pass that into Chrome and say here's the audio. That the mic would be providing or here's the video that the video would be providing.

So there's a little bit of tooling around that. It's still developing. That's actually that's a great call. Some of the audio and video inputs and things that are. Dealing with external inputs to your computer are, are still a bit challenging at this point.

[00:17:11] Nathan Wrigley: Yeah. Apologies for giving you the most edge of educators.

But I was just curious, just because of what I'm doing here with the podcast, and I'm always fascinated when I look in the tub at the permissions that I'm giving. I remember a couple of years ago there was like two or three permissions. And now the list is literally like 20 permissions.

I guess you can feel those things, but most people are not going to be doing that. So it's going to be filling out forms. It's going to be visiting pages. It's going to be checking up time and so on and making sure that the desired thing is actually working. So that brings me to the question.

How do you actually do it? So let's assume that we've paid our subscription. We've signed in. We figured out how to get to the point where we actually start making a test and we. Make a test bottom or whatever that says, what, how does it work? How do we actually interact with ghost inspector to set up the tests and put the steps in place and tell it what the desired outcomes are?

[00:18:08] Justin Klemm: Sure. Yeah. So the easiest approach that we offer is a browser extension and that's available in Chrome and Firefox and it's free you install it. Once you launch it, you actually sign into your account in that extension. And it has a really simple interface for basically recording yourself, performing actions in your own browser.

So if I wanted to test, create a test that opened up my website and added an item to the shopping cart and then, navigated to the shopping cart and made sure that it was there. Maybe confirm the price, something of that effect. I'd open up my website, I'd click on our little toolbar icon. It's a little ghost and I just hit start recording.

And it gives an indicator showing it's capturing what your. And what the extension will do at that point, is it all actually watched the things you're doing on the page? So when you open your website, it'll record that when you click on the item, it'll record that when you add it to the cart, so on and so forth, maybe if you adjust the quantity, so you change the one to a two it'll record all of those actions.

And when you get to the point where you're done with your. You click the toolbar. I kind, again, you just say stop recording and you give your test a name and there's a few other options there and you save it. And it kind packages up those actions that it recorded and it sends it off to your ghost inspector account.

And then what we do is take those steps and right off the bat, we launch a browser on our side and we walk through those same exact steps. And it's, it's fairly quick, If your test is, 10, 15, 20 steps, usually within 30 seconds to a minute, you're going to have your first result.

And it's going to show you, here are the steps that were recorded. Here's a video, here's a screenshot. And I should mention that the steps themselves, just to get a little more technical on how that works, please. That

[00:20:00] Nathan Wrigley: was going to be my next

[00:20:00] Justin Klemm: question. Yeah, sure. When you're looking at a website, if you've got your WordPress on page open you know, you're looking at elements and images and buttons that are represented underneath by HTML code and your browser kind of parses that into.

What we call the Dom kind of like a model of here, all the elements and there are ways to identify all the elements. So if I click a button there's different syntaxes I can use to identify like this is the add to cart button. So think. CSS classes or IDs or names, or even sometimes the text of the button itself.

And we have a pretty great blog post on this, on our blog goes to spectrum.com/blog that walks through some of the different methods you can use. But what our extension does is it generates these. These strings are call them targets or selectors so that it knows. Okay. When I open up the website and I need to click this button, here's the way I find that button.

Here's basically the identifier using CSS or using sometimes another method called X path so that it can find the button, it needs to click on or find the, the input that it needs to assign something to. And that. The extension captures as the actual target so that it knows what it's interacting with.

[00:21:25] Nathan Wrigley: Does it? So it finds the, the part of the Dom that that it wants to interact with it, perhaps the CSS or something of the button, then it pre-fills it. And that. Find the button to submit it and punch the button off. We go and see what comes out. The other end just raises one question for me. Do you ever fall foul of, I don't know, like firewall software that, ah, this is all happening too quickly.

This can't be real. This is some kind of automated bot crawling the site. Do you sort slow things down a bit on your end to make sure it feels as human as.

[00:21:59] Justin Klemm: Yeah. So there are I wouldn't say there's a huge Shaundra on that, but there are some challenges timing you've hit on a, on an important point.

Timing is a really big thing. Eh, in automation, because as a user, you have not only are you slower as a user? See the time as a little more the pages, a little more time to process. You also have a, an intuition, if you've ever added an item to the shopping cart, and then you get maybe like a spinner for five seconds.

Cause it's taking a while. And then, so you as a user okay, I know it's going, I just got to wait for it. And then it's going to be there. Automation, It doesn't know that by default. So it might click add to the cart and then it's I looked for it. I don't see it after one second, I'm giving up.

But I, I was very conscious of this issues when I first started building a spectrum cause I was facing them. And so we've made a really strong effort over the years to build lots of logic into ghost inspector to be really smart about waiting for things to load. Understanding that you know, the page is transitioning or there's a spinner up.

Um, there's a bunch of settings and we have some defaults that we think make sense, like it automatically weights, I think a quarter of a second between each inner fraction. And that we give you a slide or she can slow your test down or speed it up. It automatically waits for things to show up.

So if you add an item to your shopping cart and it's taking five or 10 seconds, Our automation just sits there and waits. And it just is it in the cart yet? Is it in the cart yet? You can define like how long does it wait, until it gives up. So we have a number of settings to help deal with that.

And then in terms of firewalls we have a couple of methods. Like the IP addresses we use are permanent and published. So you can always like add us to your awhile list. And yeah, a couple of tunneling tools. There are always edge cases. Like catch buzz can be a challenge. Because those are widgets that are designed to prevent automations.

So they're challenged

[00:23:58] Nathan Wrigley: for humans, not just for robots, right?

[00:24:00] Justin Klemm: Yeah. Yeah. They're, they're pretty challenging for everybody at this point. Those can be challenging to deal with. Truthfully, we, we can't solve them. If we could solve them, they wouldn't really be you know, very useful.

Would they? So. There. Yeah. Sometimes you have to find a way to disable that for your test or so on. So there's always, there's always lots of little edge cases, but we've tried to come up with. Different solutions for them. Okay.

[00:24:28] Nathan Wrigley: So the pro the preferred solution I should say is to use Chrome, use Firefox, download the extension, visit the page in question, hit the button in the in the extension tool bar, and then just go through a test and set it up and, see how that performs login and see what the results are.

So on the. On the inside of the platform, that's where the results and everything is stored. And you can see all your automations as you've named them and so on. And you'll be able to get pretty much real time information and feedback about whether these things are working. So let's say for example, that something goes wrong.

Nothing too catastrophic. The hosting is still up, but there's something wrong. And my checkouts now defunct things aren't working as possible. How, how do I know? What is it, what is ghost inspector doing to alert me to the fact that something's gone wrong? And on what level is it able to tell me, is it reporting back?

This test has failed or is it saying this test has failed at step 12, which is the checkout button, or, what's the level of.

[00:25:34] Justin Klemm: Sure. So the level of detail is pretty good. So if you have a test, that's going to add an item to your shopping cart and then attempt to check out. Let's say the problem is that something's wrong with your site now.

And when you add the item to the cart and then navigate to the cart is empty, right? So that's. Just happened on your website in terms of ghost inspector catching, that know part of it is going to be how you're running your tests. Um, you, you can set your test to run on a schedule and that can be very frequent.

It can be like every minute it can be like every 30 minutes it could be, once a day. So that's up to you and that plays into a little bit, obviously, if the more frequently you're running your team that increases your usage. So that may or may not put you into a different plan here if you're running these uh, very, very frequently.

But let's say you're running your test every 30 minutes. And so that issue comes up on your site within 30 minutes, your ghost inspector test runs. It goes and adds the item in the shopping cart. It gets to the shopping cart screen and the item isn't there. It's intending to check for it and click checkout or something, but it's not seeing that.

So your test will fail. And what it will do, depending on how you've got your notification set up, it'll send you an email. It can send you a slack notification. It can do like Ms. Teams can do PagerDuty a couple of more technical options for notifying you, but let's say you're doing email. That's the default.

You would get an email that shows up and it shows basically the initial steps happening. So step one, open the product, page that to click, add to cart, those would be green. And when you got down to the step that made sure the item was in the cart, that would be red. It would say it was failing.

You'd have a screenshot of basically the empty cart which is a pretty good indicator that something's wrong. Yeah. And then if you visit the result, you could actually watch the video. So you could see. Open the page, add the item, navigate to the car and see that it's. So you do get a pretty good high level view of what happened.

And generally it's pretty obvious, at least it's obvious, like what the issue is. It may not be obvious. You know, why is that suddenly broken on your site? Because it is a JavaScript or did somebody mess something up, but in terms of what is happening and what's the issue that users are seeing.

You get a pretty clear picture of that. Yeah, that's really

[00:27:59] Nathan Wrigley: nice. That's a really nice implementation. So you can see a sort of bullet pointed list almost of green, green, green, green, red take, go from here. This is where the problem is okay. That's, that's really interesting now, right?

At the top of the show, you mentioned the fact that David and I had been chatting on a previous podcast and we said, I wonder if there's a tool out there that. Capture the reply, actually, what is submitted through a contact form? And we were thinking no, that I couldn't work because it'd be going to my own email, but you, you have a solution for that.

So I'm curious as to how that works. I'm, um, I've got my own guesses, but I'll just let you talk it through and I'll tell you honestly, at the end, whether my guests was in any way accurate.

[00:28:44] Justin Klemm: I feel like I like the surprise if you have the general idea here, so I'll talk through how this works and then I can talk.

There are just a couple of scenarios of how you might use it and the caveat here is that you know, there are trade offs with how you do this and how it might work for you and depending on your site. So I, so I don't want to pitch this out. This is always going to work and we can always test your emails.

It can depend on how you're gonna approach it. Good point. So, so what we do is we offer an email service that's just included with our product and basically the email [email protected] is like a special domain. And. Any user that you email? So if I just think up a random username, let's say WP builds 1, 2, 3 at email dot go spectrum common.

And I send an email right now. Like I haven't created the account. I haven't set anything up. I just send it to that username. Our service receives that and then it makes that email available. At email that goes spectra com slash WP builds 1, 2, 3 for the next hour. So it's like a, you can think of it like a temporary mail store or a temporary web mail where you're choosing your username and you can basically randomize it, or you can add a timestamp.

You can make that username as complex and private as you'd like. You send email to that email address and then you have one hour to open. Our email service website and view it and the way this works is within your automated test. Let's say. Open up a contact form and you submit it and just assume for a moment that a copy of that contact form is going to your WP builds an email that goes Spectracom address.

You submit the form, and then within the automated test, you navigate to our email service. You can open up that email and, uh, see it. You can take a screenshot if it's got you know, a call to action. Click the activate button or the reset password link. It's basically giving you a window of viewing this email that's been sent to the address.

Okay. Does that make

[00:30:50] Nathan Wrigley: sense? Yeah. Yeah. And it is not what I was thinking, so that's really interesting. That's I'm fascinated by that. That's cool. The other thing that I was wondering was how. How do you go through the complete life cycle of a product checkout? How do you get out the, so let's say for example, I've got a website I'm selling shoes.

I want ghost inspector to buy some shoes, actually buy some shoes, but without buying some shoes, if I want it to perform all the things that involve successfully purchasing and getting the emails about shoes. How does that.

[00:31:24] Justin Klemm: Sure. So what we generally do with checkouts, where you actually want to put through a transaction?

Most, I mean, I should say probably all all, all I'll check on systems that I'm aware of. So when I say like a checkout payment system, like talking to Stripe or Braintree or PayPal they all basically have a test mode, like a sandbox mode. And you will need to use that during your test.

So what we don't want to do is have your guests inspector test open up your production site, add an item, put in a live credit card process, right by the shoes. Cause that's. It's a security risk, having your live credit card out there, the payment providers hate it because then they're just these transactions being placed and voided is it's it's, it's not a good way to do it.

So you can certainly have a, you could have a test that gets all the way up to the point of purchasing and puts in like a bogus card number and then, checks that there's like an error. Um, but if you actually want to place the order, you need some way. For your site to know Hey, this is a ghost inspector test.

I need to give it like the testimony. And so what I've seen customers do, various things. You might have a flag that you pass in. If you're opening up your site, it might be like, there might be a question mark test mode equals true at the end. Or you might be able to even run some JavaScript code within your ghost inspector tests to turn test Snowden.

But it's basically leveraging that test mode and then you're putting in, the 42 42 42 number that, that fake credit card number. And you're placing your order.

[00:33:03] Nathan Wrigley: Yeah, that's really interesting. So essentially there's work around, it may not, you might not be able to fulfill the actual thing, but if test it really well before you go live and then hopefully all things work.

Just one other thing that's suddenly occurred to me is that. We have this architecture in WordPress, where we have themes and most people settle on a theme fairly quickly and you probably use that theme for a good period of time, but the theme really does dictate what the output HTML is. And so if I'd have got my.

Let's say my website, selling shoes up and running with one theme. And then I suddenly decide for reasons on knowing that I wish to change the style of that theme. And I flip a switch and put a different theme on I'm very happy with it. Is that the kind of thing which will upset ghost inspector because the Dom and the CSS and all of that, and the classes and IDs of probably going to change what I need to redo my tests at the.

[00:34:03] Justin Klemm: Truthfully, you probably would. Yeah. There might be some overlap where you know, some of the sort of WordPress default classes and things are used and maybe some of those work and some of the IDs work, but if there's large scale change to your Dom, uh, the sort of selectors I was talking about in those steps that click the add to cart button, and suddenly it's a different ID in different class, different spot in the page.

Then you're, you're likely going to have to do some rebuilding of your tests. Yeah,

[00:34:32] Nathan Wrigley: Yeah. Fair enough. That's, that's par for the course, speaking of rebuilding tests and getting to grips with how the whole thing works. If I were to sign up. What is the, what's the level of guidance that you offer?

You know, if I onboard, do you have some sort of tutorials? Do you have any kind of um, any way of me setting up my first couple of tests in the most efficient way possible, any guidance coming in?

[00:34:58] Justin Klemm: Yeah. Yeah, absolutely. We try to provide lots of documentation. We've got some videos. Um, even, the goal of our product is to make this type of testing, like very approachable, even if you're not experienced with it.

Even if you're not familiar with the concept of a selector or the Dom, we try to give you a you know, an on-ramp to, to get familiar with these things and be able to use our tool. But yeah, so docs, videos. We do webinars pretty often. And in fact, we've had a few, we have one coming up that touches on this email testing and we have another specific WordPress, a webinar coming up next month or two.

So again, you can check out our blog for those. And then the last element is where we're really active on support. So we have a really Like really involved support team who will go above and beyond. If, you know, obviously with your permission, but we'll look at your tests, we'll help you adjust them.

We'll help you come up with solutions. So we really want folks to you know, have a good experience and not feel like they're getting thrown into this product. What, you how does this work? How do I I've created assess net failed off the bat. What do I do? You know, we try to be there to walk along with you to give you your bearings.


[00:36:15] Nathan Wrigley: And is the support, is that based upon an email interaction or is it chat support, and do you have a particular part of the world where you're most likely to be active? In other words, if you're awake now, north America time, we're all good. But if you're in Australia, you'll just have to wait a bit.

[00:36:31] Justin Klemm: That's a great question. Yeah. We use Intercom, which is like a, I almost hesitate to call it a chat widget. Cause I can't promise somebody is always live to chat with you. But I'll say an async messaging widget. We also have email our. Are defined hours that we like guarantee someone is around our like business hours in the U S us Pacific time.

But we are a fully distributed team. We do have folks in different places, folks are traveling. Um, Honestly, if you're in Australia, generally, you're going to have to wait a few hours, but we might surprise you sometimes and somebody will be, over in Europe or up late or whatever, and we'll get back to you.


[00:37:13] Nathan Wrigley: yeah it's, it's the dilemma of building a company, right? You can't suddenly go from no employees to flooding the world. You gotta, you gotta go where you are in reality. I think I've got a nice understanding of how the product works. As I said, go to ghost inspector.com.

Now we get to the, the crucial, the meat and potatoes as you described it, the pricing you mentioned that essentially, you've got this one account. You just set it up and you can use that account for as many websites or if you've got an agency, you can use it on different websites and client websites and so on.

So your pricing is billed slightly differently. It's the number of tests. Caveat. Emptor what we say now may not be the same in the future. That's always the case, but for now, how is the pricing and how much do you get for how many.

[00:38:03] Justin Klemm: Yeah. So our small plan starts at $99 a month. We give a discount if you purchase a, an annual pre-pay.

So w what we price on is primarily the number of test runs. So just to clarify, you can test on as many websites as you like any domain names you can have as many. As you'd like a test run would be when I actually trigger that test. And on our side, we launched the browser and we carry out the actions and we give you the video and the screenshot.

So to kind give a simple example, if you've got that test that checks that your shopping cart is working and you set it to run once a day. Over the course of a month, that's going to be 30 test runs or, however many days there are in the month our small plan comes with 10,000 tests runs per month.

So we feel like we give you a pretty hefty amount. And most of the time when folks push up against the limit of that small plan, it's because they're scheduling tests like very frequently, every, every 10 minutes they're running their tests. So. Uh, ultimately, probably like what dictates your pricing is just how many tests you have running and how frequently they are running.

But all our plans come with all of the features your, your test results are maintained for six months. So your tests are there forever. But you can pop back all the way, six months ago to see that failed shopping cart test. If you want to check on it. Each plan comes with a specific number of members.

And they kind scale it from there. So if you find yourself needing more test runs or more users in your organization who are going to join and manage these tests, those numbers scale up with our test plans. Yeah.

[00:39:50] Nathan Wrigley: A quick bit of back of the envelope math center. If you've got an agency with a hundred websites, You can perform three tests a day, 3.3 recurring tests a day on each of those websites for the small plan.

So $99 a month or 89, if you pay annually that I can imagine that's probably going to be enough for most people. So that's a pretty, pretty decent pricing, I would say. Nice. But it goes on.

[00:40:18] Justin Klemm: Yeah. Yeah, I think, and I think we have agencies in that boat. So even sometimes maybe a smaller, like maybe they've got 10 clients and in that case they could be running through it.

Yeah. So they could be running it hourly more or less. So,

[00:40:33] Nathan Wrigley: okay. So from small, we go to medium and basically where you're adding team members. So you can obviously put more people from your team into the platform, but also the limit goes up to 30,000. So for double the price, you get three times the amount of tests, then big jump up to a hundred thousand tests a month for 3, 5, 9, both.

By the way, I'm reading out the annual pricing, the 10% off pricing and then for enterprise, apparently it's free. It's just got a dash there. You just contact us the the normal thing. Yeah. Yeah, that's good. That looks really good. They, the other thing I'm curious to know is, and I always get this.

If I don't ask it, people say, why didn't you ask about the roadmap? So I'm going to ask what's on the roadmap what's coming that we don't have. Now that may be, let's say by the end of this year or something like that, we'll have as a new shiny things.

[00:41:28] Justin Klemm: Yeah. Yeah, absolutely. So one of the things we're most excited about that we're working on is the ability to.

Compare screenshots like throughout your test. So what we do now is you're you run your test and at the end we take a screenshot. This is what the cart page looked like when you landed on it. And we compare it to the way it used to look and we highlight differences and it's really useful for catching style changes.

Something we're working on now is within your test at various points, you can check the visuals of your page so you could open up the product page and be. Does the description section look the way it's supposed to look. Does the comment section look the way it's supposed to look now, add it to that.

Does the cart look the way it's supposed to look now I'm on the checkout screen. Does that page look the way it's supposed to look? And each of those will basically track that area of your website. And each time your test runs it'll look back and be like, okay, the cart looked like this yesterday.

Does it still look like that or have things changed? So it's an expansion of what we call screenshot comparison or visual testing. Yeah. Tell him to let you apply that to lots of different places on your site. And that's something we see out of WordPress users, quite a lot, especially agencies.

Cause they, they generally want their website looking exactly the way it's supposed to look. Okay.

[00:42:47] Nathan Wrigley: Yeah. That's a nice feature coming up soon. So we [email protected] is the URL. You could obviously go and use their Intercom. If there, if you want to. Figure out things and what have you, but I'm just curious, just in personally, on a personal level, is there any way that people could reach out to you if they wanted to figure out things about ghost and spectrum wanting to go straight.

[00:43:09] Justin Klemm: Yeah, absolutely. So I'm on Twitter. It's just at Justin Klemm. I'm always happy to chat about ghost inspector or browser automation in general. I've been at this for years and years. And, uh, lots of great tools and scripts and approaches out there. Always happy. Talk shop

[00:43:27] Nathan Wrigley: about this stuff. Very nice, indeed.

So one more time, go and check it out. Ghost inspector.com. See if it can satisfy your agency needs for getting things checked out, making sure everything's up and working and tickety-boo, as we say, in the UK and on that bombshell, I'll say thanks to Justin. Thanks for joining us today and talking to us about it.

[00:43:49] Justin Klemm: Yeah. Thanks Nathan. Thanks so much.

[00:43:52] Nathan Wrigley: So there we go. I hope that you enjoyed that episode. There's so much in ghost inspector for you to check out lots and lots of features, loads of capabilities that in some respects I didn't even know were possible. So if you've got a website, a high traffic website and you really need for it to be up and active and awake and alert and.

Everything is working as you would hope, then go and check it out. Ghost inspector, have a listen to the podcast and reach out to Justin Klemm. If you've got any questions, if you've got any questions about the podcast in general, then please feel free to contact us. Drop us a comment in the post or go to our Facebook group.

WP builds.com forward slash Facebook and leave us a message. Just a quick reminder that the page builder summits, I mentioned it at the start it's beginning on the 18th of October, 2021 and running for five whole days, Monday through Friday, finishing on the 22nd of October. We'd love for you to join us and you can do that by going to Pagebuilder summit.com and clicking on the pink button and filling out the very very simple form.

If you want to see the schedule, go to page builder, summit.com forward slash schedule. All of the events and when they are happening, you can even book them into your calendar, I think. Okay. That's it. That's all we got for you this week. I hope that you come back next week. I hope that you enjoy your week.

Stay safe. Bye-bye for now cheesy music.

Support WP Builds

We put out this content as often as we can, and we hope that you like! If you do and feel like keeping the WP Builds podcast going then...

Donate to WP Builds

Thank you!

Nathan Wrigley
Nathan Wrigley

Nathan writes posts and creates audio about WordPress on WP Builds and WP Tavern. He can also be found in the WP Builds Facebook group, and on Mastodon at wpbuilds.social. Feel free to donate to WP Builds to keep the lights on as well!

Articles: 1097

Filter Deals

Filter Deals


  • Plugin (183)
  • WordPress (103)
  • Lifetime Deal (34)
  • eCommerce (29)
  • Other (17)
  • Theme (17)
  • Design (14)
  • SaaS (14)
  • Hosting (12)
  • Admin (9)
  • Content (8)
  • Security (7)
  • Maintenance (5)
  • Training (4)
  • Blocks (3)

% discounted

% discounted

Filter Deals

Filter Deals


  • WordPress (39)
  • Plugin (33)
  • Admin (30)
  • Content (18)
  • Design (11)
  • Blocks (6)
  • Maintenance (6)
  • Security (5)
  • Hosting (4)
  • Theme (3)
  • WooCommerce (3)
  • SaaS app (2)
  • Lifetime Deal (1)
  • Not WordPress (1)
  • Training (1)

% discounted

% discounted



WP Builds WordPress Podcast



WP Builds WordPress Podcast
%d bloggers like this: