Skip to content

Core Profiler Testing Instructions

Ilyas Foo edited this page Jul 4, 2023 · 3 revisions

Core Profiler - Testing Instructions

Introduction

The new WooCommerce Core profiler is introduced in WooCommerce 7.9 as part of a wider effort to simplify onboarding setup for merchants. This replaces the current Onboarding Wizard.

It consists of 5 steps in a largely linear flow, with an option to skip the entire guided setup or various individual pages. The only mandatory piece of information is the Store Country. This information is provided in either the Business Info page or the Business Location page if the user opts to skip guided setup.

The following steps show detailed testing steps, but it is also okay to test them as if it's your first time using WooCommerce.

Flow Overview

The general overview of the possible flows can be seen in this diagram:

Core Profiler flow overview

While this may look intimidating, it is a mostly linear flow that can be simplified to:

Intro -> User profile -> Business Info -> Extensions -> Jetpack Login -> WooCommerce Home

The branches cover the shortcuts or error loops that progress along this flow.

Core Profiler Happy path flow

Testing Considerations

Try out the steps in different browsers and screen sizes. The screen sizes you should test are mobile, tablet, and desktop. If you're using Firefox responsive design mode, we'd recommend testing the following device viewports:

  • iPad
  • Galaxy S10

Setting up a Test Environment

To set up an environment for testing, we suggest the following steps:

  1. Download the latest nightly build of the WooCommerce plugin from GitHub.
    woocommerce-trunk-nightly.zip
  2. Create a new site on Jurassic Ninja without Jetpack (click "Want more options?" and uncheck Include Jetpack)
  3. Upload the nightly version from Plugins -> Add New
  4. Install and activate the plugin.
  5. You should be redirected to the new core profiler once the plugin is activated.

WordPress.com Account

The happy path flow allows you to create a WordPress.com account so you do not need to set one up prior to testing.

However, the Jetpack connection screens will present differently depending on whether you are logged into a WordPress.com account.

Pages

Intro & Opt In

Intro & Opt In page design, desktop and mobile

  • Opt in is selected by default if the merchant has not previously deselected it
  • Opt in checkbox is above the fold for common screen sizes
  • Data sharing preferences should be saved upon form submission into the woocommerce_allow_tracking option

User's Profile

User profile page design, desktop

User profile page design, with platforms selected, desktop

User profile page drop-down designs

User profile page designs, mobile

  • The platform selection dropdown should only appear if the merchant has selected "Yes, I'm selling online" or "I'm selling both online and offline"
  • Choices should be correctly saved into the woocommerce_onboarding_profile option upon form submission
  • Any previously saved data should be pre-populated

Business Info

Business info page design, desktop and mobile

Business info page design, with geolocation overriden, desktop

  • If your are using Jurassic Ninja the store name will already be prefilled

  • The geolocation feature should work, but if you are using a proxy or VPN it may mis-detect your location.

  • The geolocation feature should not be enabled if you previously unchecked the data sharing opt in

  • The merchant should not be allowed to progress without a country set

  • Form data should be correctly saved into the following options:

    • Store name: blogname
    • Store country: woocommerce_default_country , woocommerce_onboarding_profile.is_store_country_set
    • Industry: woocommerce_onboarding_profile.industry[]
  • Any previously saved data should be pre-populated

  • The industry label should vary depending on the choices from the User profile page:

    • I'm already selling -> Which industry is your business in?

    • I'm just starting my business -> What type of products or services do you plan to sell?

    • I'm setting up a store for a client -> Which industry is your client's business in?

  • If the geolocated choice is overridden by the user, there should be a warning notice

    • warning notice should have a link that changes the selection back to the geolocated country

Extensions

Extensions page design, desktop

Extensions page design, unselected checkbox, desktop and mobile

Extensions page design, odd numbers, aligned left, desktop

Extensions page design, error occurred, desktop

  • All extensions should be selected by default upon entry, except the ones that are already installed
  • The presented list of extensions should vary depending on the country selected in the previous step
  • Extensions which are already installed but not activated should not present as installed
  • Each extension should have a "Learn More" link that brings the merchant to an informational page in a new browser tab
  • The TOS text below should correctly reflect the selected extensions
  • If all plugins have already been installed, this page should not show up at all
  • If the merchant opts to skip extensions installation using the link in the top right hand corner, he should see a short loader sequence following this page
  • If the merchant submits the form with extensions selected for installation, he will see a long loader sequence which should last for no longer than approximately 30s (small variation expected)
  • All selected plugins may have completed installation and activation by 30s, this is expected. The remaining plugins will be scheduled for background installation immediately
  • If an error occurs during the loader sequence after this page, they should be returned to this page with an error notice and allowed to retry
  • If the merchant submits the form with Jetpack selected, they will see the Jetpack connection screen after a long loader sequence
  • If the merchant submits the form with all the extensions deselected, they should see a short loader sequence

Business Location (Skip Guided Setup)

Business location page, desktop and mobile

  • The merchant should not be able to proceed without picking a country
  • There is no geolocation on this page

Jetpack Connection

Jetpack connection page design, user previously logged in, desktop

Jetpack connection page design, user previously logged in, mobile

Jetpack connection page design, user logged out or has no account, desktop

Jetpack connection page design, sign in as another user, desktop

Jetpack connection page design, password recovery, desktop

Jetpack connection page design, 2FA entry, desktop and mobile

  • This step occurs on Wordpress.com rather than the merchant's WooCommerce store
  • The redirect to these screens from the merchant's WooCommerce store may take some time, but it should not be noticeable as it is happening behind the loader screens
  • The merchant will see 2 possible initial screens depending on whether they were already logged in to a WordPress.com account previously
  • If the merchant already has a WordPress account, but does not want to use that account, they should be able to log in as another user or create a new account
  • The redirect back to the merchant's WooCommerce store may take some time, but this should not be noticeable as it is happening behind the loader screens

Various Loaders

Loader page design, desktop

Loader page design, installing extensions, desktop

Loader page design, filler, desktop

Loader page design, final, desktop

Loader page design, Jetpack connection, desktop

Loader page designs, mobile

Testing Flows

Flow 1: Skip Guided Setup
  • Enter the profiler, select the Skip link in the top right hand corner on the Intro & Opt In page
  • Merchant must select a country to return back to WooCommerce Home
  • Selected country should be correctly saved
Flow 2a: All-Inclusive with Jetpack Login (Create New User)
  • Ensure that you are not logged into a WordPress.com account when starting this test run
  • On the Intro & Opt In page, leave the Opt In checkbox selected
  • Step through all the pages in the happy path flow and fill out the information requested.
  • Observe that the various pages should work correctly as noted above
  • Make sure that Jetpack is part of the selected Extensions on the Extensions page
  • Observe that the plugins installation loader should finish within 30s
  • Observe that you are redirected to WordPress.com for Jetpack Connection
  • Follow through with creating a new user and ensure it works
  • You should be redirected back to your WooCommerce Home after it is complete
  • All selected plugins should have completed installation by now
Flow 2b: All-Inclusive with Jetpack Login (Existing User)
  • Same as 2a, but begin with a WordPress.com account already logged in
  • On the Jetpack Connection pages observe that you are able to proceed with your currently logged in user
Flow 2c: All-Inclusive with Jetpack Login (Switch User)
  • Same as 2c but observe that you are able to switch to another user and/or create a new WordPress.com account
Flow 3: All-Inclusive without Jetpack Login
  • Same as 2a but deselect Jetpack on the Extensions selection page
  • Observe that the Jetpack Connection pages do not occur
  • You should be immediately redirected to WooCommerce Home after extensions have installed
Flow 4: Fill out User and Business details, skip Extensions
  • Proceed as usual until the Extensions page
  • Click on the link to skip in the top right hand corner of the Extensions page
  • Observe that the loader screen is much shorter and immediately redirects you to WooCommerce Home
Flow 5: Data sharing Opt out
  • On the Intro & Opt In page, uncheck the Opt In checkbox
  • Proceed with the guided setup as usual
  • Observe that on the Business Info page, there is no automatic country geolocation and you will have to select it yourself
  • No other changes should be present
Flow 6: Skip User profile
  • On the User Profile page, click on the Skip link on the top right hand corner
  • No information on this page should be saved
  • You should be directed to the next page, which is the Business Info page
  • Everything else should work as expected
Flow 7: Various countries
  • The country selector on the Business Info page affects the list of extensions that will be presented to you on the Extensions page
  • Some examples of the plugins presented:
    • For US locations, observe that 8 plugins are presented: WooCommerce Payments, WooCommerce Shipping, Jetpack, Pinterest, MailPoet, TikTok, Google Listings and Ads, and WooCommerce Tax
    • For India, observe that 4 plugins are presented: Jetpack, Pinterest, MailPoet, Google Listings and Ads
  • Note that these promoted extensions are subjected to change regularly, consult with Ghidorah if the extensions list isn't what you expect
Flow 8: Start with Jetpack pre-installed but not connected
  • If Jetpack is previously installed but not activated, you should still see that Jetpack is available for installation
  • Proceeding with Jetpack selected should redirect you to the Jetpack Connection pages
Flow 9: Start with Jetpack pre-installed and connected
  • If Jetpack is previously installed and connected then Jetpack should present as already installed on the Extensions page
  • Proceeding with the installation should not show you the Jetpack Connection pages
Flow 10: Restoring previously saved data
  • On the User Profile and Business Info pages, any previously saved data should be correctly restored
  • This can be tested by revisiting the Core Profiler, by going to WooCommerce Settings, clicking on "Help" in the top right hand corner, and clicking on "Setup wizard" on the left side of the panel that appeared
  • Another way to test this is to just use the browser back and forward buttons to navigate, and also to refresh the pages. Any previously submitted data should be restored, but not data that was entered and subsequently not submitted
Flow 11: Direct navigation to pages via URL
  • Each of the major pages should have their own URL with the &step query parameter
  • The links should bring you directly to the respective pages without having to step through the Core Profiler pages
  • Previously saved data should be correctly restored
  • The browser back and forward buttons should work correctly
  • Test this with various browsers
Flow 12: Extensions installation past 30s
  • When installing extensions, if a few extensions are selected (especially Jetpack), the extensions may not all complete within the 30s allocated for the loader
  • This is normal and expected, especially if the server that your WooCommerce store is running on has a slow internet connection
  • The remaining plugins that did not complete installing should be scheduled for installation and activation in the background immediately
  • If only one plugin is selected, the installation should be able to finish in under 30s and you should be able to continue after that
Flow 13: Extensions installation error
  • If an error occurs while the plugins are being installed, you should be redirected to the Extensions page with an error notice that tells you which extension errored
  • You can force an installation error by going to the command shell on your WooCommerce host, and making a directory by the same name as the plugin and putting a file in it. For example, to cause Jetpack to error:
    • mkdir -p wp-content/plugins/jetpack
    • touch wp-content/plugins/jetpack/foo.txt
Flow 14: Extensions already all installed
  • If all the available extensions have already been installed and activated, the Extensions page should not show up at all
  • An easy way to test this is to run through the profiler once and install all the Extensions, then revisit the profiler

Thanks for testing! 👍️

Clone this wiki locally