Skip to content

Ninja Forms Testing


CheckView officially supports automated testing of Ninja Forms. Ninja Forms appears as a form plugin when you create a test flow, and CheckView builds the test steps for you, no manual step configuration required. Forms embedded with the Ninja Forms block and forms embedded with the shortcode both work.

Requirements

  • Ninja Forms 3. CheckView reads your forms from the Ninja Forms 3 database tables.
  • The CheckView helper plugin, kept up to date. See Installing and Updating the CheckView Helper Plugin.
  • CheckView helper plugin 2.0.33 or newer for the Disable Form Integrations During Tests setting to be respected on Ninja Forms. Older versions switch integrations off on every test regardless of the setting.

What CheckView does on a Ninja Forms test

  • Automatic test generation. CheckView detects your Ninja Forms forms, finds the pages they appear on (including pages that use them through a reusable block), and generates the test steps automatically.
  • Email suppression. Every Email action on the form is sent to the CheckView test inbox during a test run, so your real recipients never receive test submissions, and neither does the visitor confirmation email if the form sends one. CC and BCC recipients are stripped.
  • Anti-spam and CAPTCHA handling. Ninja Forms’ reCAPTCHA field (v2 and invisible) and the hCaptcha field added by hCaptcha for WordPress are removed for CheckView test sessions only, the reCAPTCHA check passes for the test, and Akismet is switched off for the test submission. Forms protected by Ninja Forms’ Cloudflare Turnstile field, by CleanTalk, by Simple Cloudflare Turnstile or by WP Armour also submit cleanly. Real visitors are unaffected. See Automatic Disabling of Anti-Spam and CAPTCHA Plugins.
  • Integration suppression. When Disable Form Integrations During Tests is on, CheckView keeps only three of the form’s actions running for the test submission: Email, Store Submission and Success Message. Every other action, including Redirect, Mailchimp, webhooks, Zapier, CRM and payment actions, is switched off for that one submission. When the setting is off, every action runs as normal. See Disable Form Integrations During Tests.
  • Database submission validation. CheckView copies the values the browser actually submitted into the CheckView tables and verifies them against the values the bot entered, then removes the test entry from Ninja Forms’ Submissions.
  • Conditional logic. Fields hidden by conditional logic are left alone when the steps are built, and the values of the fields that were shown are captured before Ninja Forms’ own actions can clear them.
  • Field coverage. Text, paragraph text, email, phone, number, address fields, lists, selects, radios and checkboxes, including Ninja Forms’ custom-styled radio and checkbox lists. See Form Field Support for the full list.
  • File uploads. Upload fields from the File Uploads add-on are filled by attaching a sample file directly to the upload input. See Testing File Uploads.
  • Date and time fields. The date picker is supported, including restrictions such as future only, past only, next week or next month only, a start date such as next Monday, a default of the current date and custom display formats like YYYY.MM.DD. Time dropdowns are supported too, including a limited range of hours. See Date Pickers.
  • Multi-part forms. CheckView steps through forms built with the Multi-Part Forms add-on using the Next button, and never clicks Previous.

Creating a Ninja Forms test flow

Ninja Forms works the same as any other supported form plugin. From your website dashboard, click Add Test Flow, choose Ninja Forms, select your form and URL, set a schedule, and CheckView builds the steps. Full walkthrough: Creating a Form Test Flow.

Things to know

Where CheckView looks for your form

CheckView lists a page for a form when the page content embeds it with the Ninja Forms block or the [ninja_form id=3] shortcode, or through a reusable block that does. A form placed another way, such as through a page builder module, a widget or a theme template, may not have its page listed. Add the page with Add Custom URL instead; see No URLs Detected When Creating a Test Flow.

Test entries appear briefly in Submissions

The test submission is removed from Ninja Forms’ Submissions about 15 minutes after the test, not instantly, so that any add-on still working on it has time to finish. The removal runs through WordPress’s scheduled tasks, so on a site with little traffic and no server cron it can take a little longer. You may see a test entry in the Submissions screen during that window.

Server-side field validation is skipped for tests

For CheckView test sessions only, the helper plugin skips Ninja Forms’ server-side field validation, which is also where CAPTCHA fields are checked. The validation Ninja Forms runs in the browser, such as required fields, still applies to the test. A rule that exists only on the server, for example one added by custom code, will not fail a CheckView test.

Redirects and payments

With integrations disabled during tests, a Redirect action does not run, so the test stays on the page, and a Success Message action on the form still runs. Payment actions are switched off the same way, which means the test confirms the form submits and the notification arrives, but does not exercise a payment. If you need a flow’s redirect to run, turn the setting off for that flow, bearing in mind that every other action on the form will then run as well.

The Store Submission action is optional

CheckView captures the submitted values itself at the end of Ninja Forms’ submission processing, so database validation works whether or not the form has a Store Submission action. When it does, CheckView also cleans up the stored entry as described above.

Ninja Forms is one of the form plugins covered by automated WordPress form testing.