Onboarding flow
Signup, verify, first login, and profile complete as one .stk file
Hypothetical SaaS onboarding across several scenarios. Group slots (@@) carry the new account into later steps in the same file run.
# onboarding-flow.stk — signup → verify → login → profile (hypothetical)
Platform: web
Group: User Onboarding
Scenario: Create a unique account @smoke @onboarding
Given I navigate to "$BASE_URL/signup"
And I wait for "email"
When I generate "@@new-email" as email domain "trial.example"
And I generate "@@new-pass" as password length "16"
And I generate "@phone" as phone format "E164"
And I fill "full name" with "{{name}}"
And I fill "email" with "@@new-email"
And I fill "confirm email" with "@@new-email"
And I fill "password" with "@@new-pass"
And I fill "phone" with "@phone"
And I select "United States" from "Country"
And I click on "terms"
Then I should have "terms" be checked
When I click on "Create account"
And I wait for see "Check your email"
Then I should see "Check your email"
And I should see "@@new-email"
And I should not see "Email already registered"
Scenario: Open verification link and confirm @onboarding
Given I navigate to "$BASE_URL/verify?token=$VERIFY_TOKEN"
And I wait for see "Email verified"
Then I should see "Email verified"
And I should see containing "You can now sign in"
When I click on "Continue to login"
And I wait until be on "/login"
Scenario: First login with generated credentials @smoke @onboarding
Given I navigate to "$BASE_URL/login"
When I fill "username" with "@@new-email"
And I fill "password" with "@@new-pass"
And I click on "Login"
And I wait for "dashboard"
Then I should see "Welcome"
And I should be on "/dashboard"
And I should not see "Invalid credentials"
When I store "@welcome" from "welcome-banner"
Then I should see "@welcome"
Scenario: Complete profile and save @onboarding
Given I navigate to "$BASE_URL/settings/profile"
And I wait for "Display name"
When I fill "Display name" with "{{firstname}}"
And I type "San" in "City" and pick "San Francisco"
And I pick "Pacific Time" from "Timezone"
And I open "Interests" and pick "QA,Automation,CI"
And I upload "avatar.png" to "Profile photo"
And I click on "Save profile"
And I wait until not see "Saving..."
And I wait for see "Profile updated"
Then I should see "Profile updated"
And I should have "Display name" be enabled
When I refresh
And I wait for "Display name"
Then I should see containing "San Francisco"Set $VERIFY_TOKEN from your test mail harness or seed data. Place avatar.png beside the .stk file or under files/.
Commands used
generate, fill, select, click, should, wait, navigate, store, type, pick, open, upload, refresh