-
Notifications
You must be signed in to change notification settings - Fork 10.8k
Testing the Core Profiler
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 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 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[]
- 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
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 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 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
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, desktop
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 or connected, 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
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