SmoothDeploy Docs

Test Creation Reference

Every way to create a test, and a complete reference for step types and conditions.

There are four ways to create a test in SmoothDeploy. New to the platform? Start with Your First Test, then return here for the full reference.

Creating via the Form

In the sidebar, click Tests.

Then click:

  • Create Test in the empty-state prompt, or
  • New Test in the top-right navbar (keyboard shortcut: /).

Both open the form with the heading Create New Test.

Form Fields

FieldRequiredNotes
Test Nameyes
Descriptionno
Test TypeyesVisual (step-based) or Script (Playwright spec file)
StatusyesDraft or Active; defaults to Draft

For a Script test, upload or paste a .spec.ts or .spec.js file. The test name is prefilled from the filename if left blank.

Click Create Test to save.

Recording

Recording is available in the desktop app only. A real Chromium browser window opens and every interaction is captured as a step.

From the desktop app, the recorder is accessible from:

  • The new-test form — a Go to Recording link appears when no steps have been added yet.
  • The test editor — a Record button in the steps panel opens the recorder for the current test.
  • The tests table toolbar — a Record test icon button opens the recorder. When the project has no tests yet, the empty state shows a Record button instead.

After recording, click Create New Test on the Record page to open the new-test form with the recorded steps pre-filled. See Recording for the full flow.

Importing Code

In the tests table toolbar, click Import code to create a test from a Playwright spec file or pasted raw script. This creates a Script-type test.

Duplicating

Each row in the tests table has a Duplicate button. It copies the test (or directory) with a new name. Members, admins, and owners can duplicate tests.


Step Types

Steps are added in the test editor. Each step has an action type that determines its fields.

Built-in Actions

These actions map directly to Playwright API calls.

Display nameAction
Assert CheckedassertChecked
Assert SnapshotassertSnapshot
Assert TextassertText
Assert ValueassertValue
Assert VisibleassertVisible
Checkcheck
Clickclick
Close PageclosePage
Fillfill
Hoverhover
Navigatenavigate
Presspress
Selectselect
Set Input FilessetInputFiles
Uncheckuncheck

Custom Actions

Custom actions are SmoothDeploy extensions built on top of Playwright.

Display nameAction
Assert ClassassertClass
Assert CountassertCount
Assert CSS PropertyassertCssProperty
Assert DisabledassertDisabled
Assert EnabledassertEnabled
Assert HTML Attribute ValueassertHtmlAttribute
Assert No TextassertNoText
Assert Not VisibleassertNotVisible
Assert No ValueassertNoValue
Assert TitleassertTitle
Assert URLassertURL
Clearclear
Codecode
Debugdebug
Drag TodragTo
Email ValidationemailValidation
Extract CookieextractCookie
Extract TextextractText
Fetchfetch
Focusfocus
Generate DategenerateDate
Generate StringgenerateString
Go BackgoBack
Go ForwardgoForward
Inspect Downloaded FileinspectDownload
Inspect ElementinspectElement
Locator HandlerlocatorHandler
Press SequentiallypressSequentially
Reloadreload
Scriptscript
Scrollscroll
Set Viewport SizesetViewportSize
Taptap
Waitwait

Shared Steps

Any step marked as shared can be inserted into any test. See Shared Steps.


Step Conditions

Every step has a Run with condition section that controls whether the step executes.

Condition typeWhat it does
Always runRuns unconditionally (default)
Skip stepNever runs
Custom conditionRuns only if a JavaScript expression returns truthy
Element visibilityRuns based on whether a Playwright locator is visible
Element textRuns based on whether a Playwright locator contains a specified text

Tokens in Step Fields

Step fields that accept dynamic values support three token prefixes:

TokenResolves to
{{params.key}}A value from the current test parameter set
{{vars.key}}A variable seeded in the Variables editor or written at run time by a previous step
{{secrets.NAME}}A secret injected into the run

Open the reference picker on a step field to browse and insert tokens. See Parameters, Variables, and Secrets.


Frames

Steps can target content inside iframes. When a step is configured to run in a specific frame, the frame selector is stored alongside the step. The test editor shows frame information on each step that targets a nested frame.

Next Steps