Core Profiler Testing Instructions
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.
The general overview of the possible flows can be seen in this diagram:
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.
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
To set up an environment for testing, we suggest the following steps:
- Download the latest nightly build of the WooCommerce plugin from GitHub.
woocommerce-trunk-nightly.zip
- Create a new site on Jurassic Ninja without Jetpack (click "Want more options?" and uncheck
Include Jetpack
) - Upload the nightly version from
Plugins -> Add New
- Install and activate the plugin.
- You should be redirected to the new core profiler once the plugin is activated.
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.
- 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
- 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
-
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[]
- Store name:
-
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
- 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
- The merchant should not be able to proceed without picking a country
- There is no geolocation on this page
- 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
- 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
- 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
- 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
- Same as 2c but observe that you are able to switch to another user and/or create a new WordPress.com account
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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! 👍️
WooCommerce is an open source commerce platform built for WordPress and lovingly crafted by Automattic and the WooCommerce community 💜. Come and work with us!
Contribution
- Set up development environment
- Our Git Flow
- SCSS and JS minification
- Naming conventions
- CSS SASS coding guidelines and naming conventions
- Critical Flows
- API Critical Flows
- String localisation guidelines
- Translating WooCommerce
- Deprecation in core
- Adding Actions and Filters
- Common Issues
- Writing high-quality testing instructions
Release Notes
- Release Testing Instructions
- 3.6.x notes/FAQ
- 2.6.x to 3.0.0 Developer Migration Notes
- Select2 fields not working in 3.0.x
- Thumbnail Image Regeneration in 3.3+
- Customizing image sizes in 3.3+
REST API and CLI
CRUD & Data Descriptions
- Database Description
- CRUD Objects in 3.0
- Order and Order Line Item Data
- Coupon Data
- Customer Data
- Product Data
- Data Stores
Internal APIs
Theming
- Enabling product gallery features (zoom, swipe, lightbox)
- Template File Guidelines for Devs and Theme Authors
Examples / Guides