Commit 49b530135e for woocommerce
commit 49b530135e365c79056ff4398e5c2ea8ade50782
Author: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
Date: Fri Dec 5 15:08:21 2025 +0200
k6 tests: clean up unused scenarios configurations (#62262)
diff --git a/plugins/woocommerce/changelog/cleanup-k6-performance-tests b/plugins/woocommerce/changelog/cleanup-k6-performance-tests
new file mode 100644
index 0000000000..b805798b60
--- /dev/null
+++ b/plugins/woocommerce/changelog/cleanup-k6-performance-tests
@@ -0,0 +1,5 @@
+Significance: patch
+Type: dev
+Comment: Cleaned-up K6 tests
+
+
diff --git a/plugins/woocommerce/package.json b/plugins/woocommerce/package.json
index 1f92722674..ecbf0480d8 100644
--- a/plugins/woocommerce/package.json
+++ b/plugins/woocommerce/package.json
@@ -72,7 +72,7 @@
"test:e2e:blocks:legacy-mini-cart": "pnpm ci:legacy-minicart-flag-off && pnpm --filter='@woocommerce/block-library' test:e2e:legacy-mini-cart",
"test:php:legacy-mini-cart": "pnpm ci:legacy-minicart-flag-off && pnpm test:php:env",
"test:env:start": "pnpm env:test",
- "test:perf": "./tests/performance/bin/k6 run ./tests/performance/tests/gh-action-pr-requests.js",
+ "test:perf": "./tests/performance/bin/k6 run ./tests/performance/tests/main.js",
"test:perf:ci-setup": "pnpm test:perf:install-k6 && pnpm env:perf",
"test:perf:install-k6": "bash ./tests/performance/bin/install-k6.sh",
"test:php": "sh ./client/blocks/bin/copy-blocks-json.sh && ./vendor/bin/phpunit -c ./phpunit.xml",
diff --git a/plugins/woocommerce/tests/performance/config.js b/plugins/woocommerce/tests/performance/config.js
index c11ee66f6a..a927883108 100644
--- a/plugins/woocommerce/tests/performance/config.js
+++ b/plugins/woocommerce/tests/performance/config.js
@@ -19,10 +19,7 @@ export const customer_user_id = __ENV.C_UID || '2';
export const customer_first_name = 'Jane';
export const customer_last_name = 'Smith';
-export const hpos_status = __ENV.HPOS || false;
-
export const admin_orders_base_url = 'edit.php?post_type=shop_order';
-export const hpos_admin_orders_base_url = 'admin.php?page=wc-orders';
export const addresses_customer_billing_first_name = 'John';
export const addresses_customer_billing_last_name = 'Doe';
diff --git a/plugins/woocommerce/tests/performance/requests/merchant/add-order.js b/plugins/woocommerce/tests/performance/requests/merchant/add-order.js
index 139b5ce7fb..7cd1e7ef8d 100644
--- a/plugins/woocommerce/tests/performance/requests/merchant/add-order.js
+++ b/plugins/woocommerce/tests/performance/requests/merchant/add-order.js
@@ -14,7 +14,6 @@ import {
*/
import {
base_url,
- hpos_status,
addresses_guest_billing_first_name,
addresses_guest_billing_last_name,
addresses_guest_billing_company,
@@ -42,33 +41,11 @@ import {
commonNonStandardHeaders,
} from '../../headers.js';
-// Change URL if HPOS is enabled and being used
-let admin_new_order_base;
-let admin_new_order_assert;
-let admin_created_order_assert;
-let admin_open_order_base;
-let admin_open_order_assert;
-let admin_update_order_base;
-let admin_update_order;
-let admin_update_order_id;
-let admin_update_order_params;
-let admin_update_order_assert;
-
-if ( hpos_status === true ) {
- admin_new_order_base = 'admin.php?page=wc-orders&action=new';
- admin_update_order_base = 'admin.php?page=wc-orders&action=edit';
- admin_new_order_assert = 'post_status" type="hidden" value="pending';
- admin_open_order_assert = 'post_status" type="hidden" value="pending';
- admin_created_order_assert = 'Order updated.';
- admin_update_order_assert = 'changed from Pending payment to Completed';
-} else {
- admin_new_order_base = 'post-new.php?post_type=shop_order';
- admin_update_order_base = 'post.php';
- admin_new_order_assert = 'Add new order';
- admin_open_order_assert = 'Edit order</h1>';
- admin_created_order_assert = 'Order updated.';
- admin_update_order_assert = 'Order updated.';
-}
+const admin_new_order_url = 'post-new.php?post_type=shop_order';
+const admin_update_order_url = 'post.php';
+const admin_new_order_assert = 'Add new order';
+const admin_open_order_assert = 'Edit order</h1>';
+const admin_order_updated_assert = 'Order updated.';
const global_order_date = new Date().toJSON().slice( 0, 10 );
@@ -80,7 +57,6 @@ export function addOrder( includeTests = {} ) {
let woocommerce_meta_nonce;
let meta_box_order_nonce;
let post_id;
- let hpos_post_id;
let api_x_wp_nonce;
let apiNonceHeader;
let heartbeat_nonce;
@@ -105,7 +81,7 @@ export function addOrder( includeTests = {} ) {
);
const response = http.get(
- `${ base_url }/wp-admin/${ admin_new_order_base }`,
+ `${ base_url }/wp-admin/${ admin_new_order_url }`,
{
headers: requestHeaders,
tags: { name: 'Merchant - New Order Page' },
@@ -153,11 +129,6 @@ export function addOrder( includeTests = {} ) {
.find( 'input[id=post_ID]' )
.first()
.attr( 'value' );
- hpos_post_id = findBetween(
- response.body,
- ';id=',
- '" method="post" id="order"'
- );
heartbeat_nonce = findBetween(
response.body,
'heartbeatSettings = {"nonce":"',
@@ -327,7 +298,7 @@ export function addOrder( includeTests = {} ) {
[ '_wp_original_http_referer', '' ],
[ '_wpnonce', `${ wpnonce }` ],
[ 'action', 'editpost' ],
- [ 'auto_draft', '1' ], //no
+ [ 'auto_draft', '1' ],
[ 'closedpostboxesnonce', `${ closed_postboxes_nonce }` ],
[ 'customer_user', '' ],
[ 'excerpt', '' ],
@@ -358,95 +329,9 @@ export function addOrder( includeTests = {} ) {
[ 'woocommerce_meta_nonce', `${ woocommerce_meta_nonce }` ],
] );
- const hposOrderParams = new URLSearchParams( [
- [ '_ajax_nonce-add-meta', `${ ajax_nonce_add_meta }` ],
- [
- '_billing_address_1',
- `${ addresses_guest_billing_address_1 }`,
- ],
- [
- '_billing_address_2',
- `${ addresses_guest_billing_address_2 }`,
- ],
- [ '_billing_city', `${ addresses_guest_billing_city }` ],
- [ '_billing_company', `${ addresses_guest_billing_company }` ],
- [ '_billing_country', `${ addresses_guest_billing_country }` ],
- [ '_billing_email', `${ addresses_guest_billing_email }` ],
- [
- '_billing_first_name',
- `${ addresses_guest_billing_first_name }`,
- ],
- [
- '_billing_last_name',
- `${ addresses_guest_billing_last_name }`,
- ],
- [ '_billing_phone', `${ addresses_guest_billing_phone }` ],
- [
- '_billing_postcode',
- `${ addresses_guest_billing_postcode }`,
- ],
- [ '_billing_state', `${ addresses_guest_billing_state }` ],
- [
- '_shipping_address_1',
- `${ addresses_guest_billing_address_1 }`,
- ],
- [
- '_shipping_address_2',
- `${ addresses_guest_billing_address_2 }`,
- ],
- [ '_shipping_city', `${ addresses_guest_billing_city }` ],
- [ '_shipping_company', `${ addresses_guest_billing_company }` ],
- [ '_shipping_country', `${ addresses_guest_billing_country }` ],
- [
- '_shipping_first_name',
- `${ addresses_guest_billing_first_name }`,
- ],
- [
- '_shipping_last_name',
- `${ addresses_guest_billing_last_name }`,
- ],
- [ '_shipping_phone', `${ addresses_guest_billing_phone }` ],
- [
- '_shipping_postcode',
- `${ addresses_guest_billing_postcode }`,
- ],
- [ '_shipping_state', `${ addresses_guest_billing_state }` ],
- [ '_payment_method', `${ payment_method }` ],
- [ '_transaction_id', '' ],
- [ '_wp_http_referer', '' ],
- [ '_wpnonce', `${ wpnonce }` ],
- [ 'action', 'edit_order' ],
- [ 'customer_user', '' ],
- [ 'excerpt', '' ],
- [ 'metakeyinput', '' ],
- [ 'metavalue', '' ],
- [ 'order_date', `${ order_date }` ],
- [ 'order_date_hour', '01' ],
- [ 'order_date_minute', '01' ],
- [ 'order_date_second', '01' ],
- [ 'order_note', '' ],
- [ 'order_note_type', '' ],
- [ 'order_status', 'wc-pending' ],
- [ 'original_order_status', 'auto-draft' ],
- [ 'post_status', 'auto-draft' ],
- [ 'post_title', 'Order' ],
- [ 'referredby', '' ],
- [ 'save', 'Create' ],
- [ 'wc_order_action', '' ],
- [ 'woocommerce_meta_nonce', `${ woocommerce_meta_nonce }` ],
- ] );
-
- if ( hpos_status === true ) {
- admin_update_order = `${ admin_update_order_base }&id=${ hpos_post_id }`;
- admin_update_order_params = hposOrderParams.toString();
- } else {
- admin_update_order = admin_update_order_base;
- admin_update_order_params = orderParams.toString();
- }
-
const response = http.post(
- `${ base_url }/wp-admin/${ admin_update_order }`,
- admin_update_order_params.toString(),
+ `${ base_url }/wp-admin/${ admin_update_order_url }`,
+ orderParams.toString(),
{
headers: requestHeaders,
tags: { name: 'Merchant - Create New Order' },
@@ -457,7 +342,7 @@ export function addOrder( includeTests = {} ) {
"body contains: 'Edit order' header": ( r ) =>
r.body.includes( `${ admin_open_order_assert }` ),
"body contains: 'Order updated' confirmation": ( r ) =>
- r.body.includes( `${ admin_created_order_assert }` ),
+ r.body.includes( `${ admin_order_updated_assert }` ),
} );
} );
@@ -476,14 +361,8 @@ export function addOrder( includeTests = {} ) {
commonNonStandardHeaders
);
- if ( hpos_status === true ) {
- admin_open_order_base = `${ admin_update_order_base }&id=${ hpos_post_id }`;
- } else {
- admin_open_order_base = `${ admin_update_order_base }?post=${ post_id }`;
- }
-
const response = http.get(
- `${ base_url }/wp-admin/${ admin_open_order_base }&action=edit`,
+ `${ base_url }/wp-admin/${ admin_update_order_url }?post=${ post_id }&action=edit`,
{
headers: requestHeaders,
tags: { name: 'Merchant - Open Order' },
@@ -601,95 +480,9 @@ export function addOrder( includeTests = {} ) {
[ 'woocommerce_meta_nonce', `${ woocommerce_meta_nonce }` ],
] );
- const hposOrderParams = new URLSearchParams( [
- [ '_ajax_nonce-add-meta', `${ ajax_nonce_add_meta }` ],
- [
- '_billing_address_1',
- `${ addresses_guest_billing_address_1 }`,
- ],
- [
- '_billing_address_2',
- `${ addresses_guest_billing_address_2 }`,
- ],
- [ '_billing_city', `${ addresses_guest_billing_city }` ],
- [ '_billing_company', `${ addresses_guest_billing_company }` ],
- [ '_billing_country', `${ addresses_guest_billing_country }` ],
- [ '_billing_email', `${ addresses_guest_billing_email }` ],
- [
- '_billing_first_name',
- `${ addresses_guest_billing_first_name }`,
- ],
- [
- '_billing_last_name',
- `${ addresses_guest_billing_last_name }`,
- ],
- [ '_billing_phone', `${ addresses_guest_billing_phone }` ],
- [
- '_billing_postcode',
- `${ addresses_guest_billing_postcode }`,
- ],
- [ '_billing_state', `${ addresses_guest_billing_state }` ],
- [
- '_shipping_address_1',
- `${ addresses_guest_billing_address_1 }`,
- ],
- [
- '_shipping_address_2',
- `${ addresses_guest_billing_address_2 }`,
- ],
- [ '_shipping_city', `${ addresses_guest_billing_city }` ],
- [ '_shipping_company', `${ addresses_guest_billing_company }` ],
- [ '_shipping_country', `${ addresses_guest_billing_country }` ],
- [
- '_shipping_first_name',
- `${ addresses_guest_billing_first_name }`,
- ],
- [
- '_shipping_last_name',
- `${ addresses_guest_billing_last_name }`,
- ],
- [ '_shipping_phone', `${ addresses_guest_billing_phone }` ],
- [
- '_shipping_postcode',
- `${ addresses_guest_billing_postcode }`,
- ],
- [ '_shipping_state', `${ addresses_guest_billing_state }` ],
- [ '_payment_method', `${ payment_method }` ],
- [ '_transaction_id', '' ],
- [ '_wp_http_referer', '' ],
- [ '_wpnonce', `${ wpnonce }` ],
- [ 'action', 'edit_order' ],
- [ 'customer_user', '' ],
- [ 'excerpt', '' ],
- [ 'metakeyinput', '' ],
- [ 'metavalue', '' ],
- [ 'order_date', `${ global_order_date }` ],
- [ 'order_date_hour', '01' ],
- [ 'order_date_minute', '01' ],
- [ 'order_date_second', '01' ],
- [ 'order_note', '' ],
- [ 'order_note_type', '' ],
- [ 'order_status', 'wc-completed' ],
- [ 'original_order_status', 'pending' ],
- [ 'post_status', 'pending' ],
- [ 'post_title', 'Order' ],
- [ 'referredby', '' ],
- [ 'save', 'Save' ],
- [ 'wc_order_action', '' ],
- [ 'woocommerce_meta_nonce', `${ woocommerce_meta_nonce }` ],
- ] );
-
- if ( hpos_status === true ) {
- admin_update_order_id = `${ admin_update_order_base }&id=${ hpos_post_id }`;
- admin_update_order_params = hposOrderParams.toString();
- } else {
- admin_update_order_params = orderParams.toString();
- admin_update_order_id = `${ admin_open_order_base }`;
- }
-
const response = http.post(
- `${ base_url }/wp-admin/${ admin_update_order_id }`,
- admin_update_order_params.toString(),
+ `${ base_url }/wp-admin/${ admin_update_order_url }?post=${ post_id }&action=edit`,
+ orderParams.toString(),
{
headers: requestHeaders,
tags: { name: 'Merchant - Update Existing Order Status' },
@@ -698,354 +491,12 @@ export function addOrder( includeTests = {} ) {
check( response, {
'is status 200': ( r ) => r.status === 200,
"body contains: 'Order updated' confirmation": ( r ) =>
- r.body.includes( `${ admin_update_order_assert }` ),
+ r.body.includes( `${ admin_order_updated_assert }` ),
} );
} );
}
sleep( randomIntBetween( `${ think_time_min }`, `${ think_time_max }` ) );
-
- group( 'Create New Order', function () {
- const requestHeaders = Object.assign(
- {},
- htmlRequestHeader,
- commonRequestHeaders,
- commonGetRequestHeaders,
- contentTypeRequestHeader,
- commonNonStandardHeaders
- );
-
- const order_date = new Date().toJSON().slice( 0, 10 );
-
- const orderParams = new URLSearchParams( [
- [ '_ajax_nonce-add-meta', `${ ajax_nonce_add_meta }` ],
- [ '_billing_address_1', `${ addresses_guest_billing_address_1 }` ],
- [ '_billing_address_2', `${ addresses_guest_billing_address_2 }` ],
- [ '_billing_city', `${ addresses_guest_billing_city }` ],
- [ '_billing_company', `${ addresses_guest_billing_company }` ],
- [ '_billing_country', `${ addresses_guest_billing_country }` ],
- [ '_billing_email', `${ addresses_guest_billing_email }` ],
- [
- '_billing_first_name',
- `${ addresses_guest_billing_first_name }`,
- ],
- [ '_billing_last_name', `${ addresses_guest_billing_last_name }` ],
- [ '_billing_phone', `${ addresses_guest_billing_phone }` ],
- [ '_billing_postcode', `${ addresses_guest_billing_postcode }` ],
- [ '_billing_state', `${ addresses_guest_billing_state }` ],
- [ '_shipping_address_1', `${ addresses_guest_billing_address_1 }` ],
- [ '_shipping_address_2', `${ addresses_guest_billing_address_2 }` ],
- [ '_shipping_city', `${ addresses_guest_billing_city }` ],
- [ '_shipping_company', `${ addresses_guest_billing_company }` ],
- [ '_shipping_country', `${ addresses_guest_billing_country }` ],
- [
- '_shipping_first_name',
- `${ addresses_guest_billing_first_name }`,
- ],
- [ '_shipping_last_name', `${ addresses_guest_billing_last_name }` ],
- [ '_shipping_phone', `${ addresses_guest_billing_phone }` ],
- [ '_shipping_postcode', `${ addresses_guest_billing_postcode }` ],
- [ '_shipping_state', `${ addresses_guest_billing_state }` ],
- [ '_payment_method', `${ payment_method }` ],
- [ '_transaction_id', '' ],
- [ '_wp_http_referer', '' ],
- [ '_wp_original_http_referer', '' ],
- [ '_wpnonce', `${ wpnonce }` ],
- [ 'action', 'editpost' ],
- [ 'auto_draft', '1' ], //no
- [ 'closedpostboxesnonce', `${ closed_postboxes_nonce }` ],
- [ 'customer_user', '' ],
- [ 'excerpt', '' ],
- [ 'meta-box-order-nonce', `${ meta_box_order_nonce }` ],
- [ 'metakeyinput', '' ],
- [ 'metakeyselect', '%23NONE%23' ],
- [ 'metavalue', '' ],
- [ 'order_date', `${ order_date }` ],
- [ 'order_date_hour', '01' ],
- [ 'order_date_minute', '01' ],
- [ 'order_date_second', '01' ],
- [ 'order_note', '' ],
- [ 'order_note_type', '' ],
- [ 'order_status', 'wc-pending' ],
- [ 'original_post_status', 'auto-draft' ],
- [ 'original_post_title', '' ],
- [ 'originalaction', 'editpost' ],
- [ 'post_ID', `${ post_id }` ],
- [ 'post_author', '1' ],
- [ 'post_status', 'auto-draft' ],
- [ 'post_title', '%2COrder' ],
- [ 'post_type', 'shop_order' ],
- [ 'referredby', '' ],
- [ 'samplepermalinknonce', `${ sample_permalink_nonce }` ],
- [ 'save', 'Create' ],
- [ 'user_ID', '1' ],
- [ 'wc_order_action', '' ],
- [ 'woocommerce_meta_nonce', `${ woocommerce_meta_nonce }` ],
- ] );
-
- const hposOrderParams = new URLSearchParams( [
- [ '_ajax_nonce-add-meta', `${ ajax_nonce_add_meta }` ],
- [ '_billing_address_1', `${ addresses_guest_billing_address_1 }` ],
- [ '_billing_address_2', `${ addresses_guest_billing_address_2 }` ],
- [ '_billing_city', `${ addresses_guest_billing_city }` ],
- [ '_billing_company', `${ addresses_guest_billing_company }` ],
- [ '_billing_country', `${ addresses_guest_billing_country }` ],
- [ '_billing_email', `${ addresses_guest_billing_email }` ],
- [
- '_billing_first_name',
- `${ addresses_guest_billing_first_name }`,
- ],
- [ '_billing_last_name', `${ addresses_guest_billing_last_name }` ],
- [ '_billing_phone', `${ addresses_guest_billing_phone }` ],
- [ '_billing_postcode', `${ addresses_guest_billing_postcode }` ],
- [ '_billing_state', `${ addresses_guest_billing_state }` ],
- [ '_shipping_address_1', `${ addresses_guest_billing_address_1 }` ],
- [ '_shipping_address_2', `${ addresses_guest_billing_address_2 }` ],
- [ '_shipping_city', `${ addresses_guest_billing_city }` ],
- [ '_shipping_company', `${ addresses_guest_billing_company }` ],
- [ '_shipping_country', `${ addresses_guest_billing_country }` ],
- [
- '_shipping_first_name',
- `${ addresses_guest_billing_first_name }`,
- ],
- [ '_shipping_last_name', `${ addresses_guest_billing_last_name }` ],
- [ '_shipping_phone', `${ addresses_guest_billing_phone }` ],
- [ '_shipping_postcode', `${ addresses_guest_billing_postcode }` ],
- [ '_shipping_state', `${ addresses_guest_billing_state }` ],
- [ '_payment_method', `${ payment_method }` ],
- [ '_transaction_id', '' ],
- [ '_wp_http_referer', '' ],
- [ '_wpnonce', `${ wpnonce }` ],
- [ 'action', 'edit_order' ],
- [ 'customer_user', '' ],
- [ 'excerpt', '' ],
- [ 'metakeyinput', '' ],
- [ 'metavalue', '' ],
- [ 'order_date', `${ order_date }` ],
- [ 'order_date_hour', '01' ],
- [ 'order_date_minute', '01' ],
- [ 'order_date_second', '01' ],
- [ 'order_note', '' ],
- [ 'order_note_type', '' ],
- [ 'order_status', 'wc-pending' ],
- [ 'original_order_status', 'auto-draft' ],
- [ 'post_status', 'auto-draft' ],
- [ 'post_title', 'Order' ],
- [ 'referredby', '' ],
- [ 'save', 'Create' ],
- [ 'wc_order_action', '' ],
- [ 'woocommerce_meta_nonce', `${ woocommerce_meta_nonce }` ],
- ] );
-
- if ( hpos_status === true ) {
- admin_update_order = `${ admin_update_order_base }&id=${ hpos_post_id }`;
- admin_update_order_params = hposOrderParams.toString();
- } else {
- admin_update_order = admin_update_order_base;
- admin_update_order_params = orderParams.toString();
- }
-
- const response = http.post(
- `${ base_url }/wp-admin/${ admin_update_order }`,
- admin_update_order_params.toString(),
- {
- headers: requestHeaders,
- tags: { name: 'Merchant - Create New Order' },
- }
- );
- check( response, {
- 'is status 200': ( r ) => r.status === 200,
- "body contains: 'Edit order' header": ( r ) =>
- r.body.includes( `${ admin_open_order_assert }` ),
- "body contains: 'Order updated' confirmation": ( r ) =>
- r.body.includes( `${ admin_created_order_assert }` ),
- } );
- } );
-
- sleep( randomIntBetween( `${ think_time_min }`, `${ think_time_max }` ) );
-
- group( 'Open Order', function () {
- const requestHeaders = Object.assign(
- {},
- htmlRequestHeader,
- commonRequestHeaders,
- commonGetRequestHeaders,
- commonNonStandardHeaders
- );
-
- if ( hpos_status === true ) {
- admin_open_order_base = `${ admin_update_order_base }&id=${ hpos_post_id }`;
- } else {
- admin_open_order_base = `${ admin_update_order_base }?post=${ post_id }`;
- }
-
- const response = http.get(
- `${ base_url }/wp-admin/${ admin_open_order_base }&action=edit`,
- {
- headers: requestHeaders,
- tags: { name: 'Merchant - Open Order' },
- }
- );
- check( response, {
- 'is status 200': ( r ) => r.status === 200,
- "body contains: 'Edit order' header": ( r ) =>
- r.body.includes( `${ admin_open_order_assert }` ),
- } );
- } );
-
- sleep( randomIntBetween( `${ think_time_min }`, `${ think_time_max }` ) );
-
- group( 'Update Order', function () {
- const requestHeaders = Object.assign(
- {},
- htmlRequestHeader,
- commonRequestHeaders,
- commonGetRequestHeaders,
- contentTypeRequestHeader,
- commonNonStandardHeaders
- );
-
- const orderParams = new URLSearchParams( [
- [ '_ajax_nonce-add-meta', `${ ajax_nonce_add_meta }` ],
- [ '_billing_address_1', `${ addresses_guest_billing_address_1 }` ],
- [ '_billing_address_2', `${ addresses_guest_billing_address_2 }` ],
- [ '_billing_city', `${ addresses_guest_billing_city }` ],
- [ '_billing_company', `${ addresses_guest_billing_company }` ],
- [ '_billing_country', `${ addresses_guest_billing_country }` ],
- [ '_billing_email', `${ addresses_guest_billing_email }` ],
- [
- '_billing_first_name',
- `${ addresses_guest_billing_first_name }`,
- ],
- [ '_billing_last_name', `${ addresses_guest_billing_last_name }` ],
- [ '_billing_phone', `${ addresses_guest_billing_phone }` ],
- [ '_billing_postcode', `${ addresses_guest_billing_postcode }` ],
- [ '_billing_state', `${ addresses_guest_billing_state }` ],
- [ '_shipping_address_1', `${ addresses_guest_billing_address_1 }` ],
- [ '_shipping_address_2', `${ addresses_guest_billing_address_2 }` ],
- [ '_shipping_city', `${ addresses_guest_billing_city }` ],
- [ '_shipping_company', `${ addresses_guest_billing_company }` ],
- [ '_shipping_country', `${ addresses_guest_billing_country }` ],
- [
- '_shipping_first_name',
- `${ addresses_guest_billing_first_name }`,
- ],
- [ '_shipping_last_name', `${ addresses_guest_billing_last_name }` ],
- [ '_shipping_phone', `${ addresses_guest_billing_phone }` ],
- [ '_shipping_postcode', `${ addresses_guest_billing_postcode }` ],
- [ '_shipping_state', `${ addresses_guest_billing_state }` ],
- [ '_payment_method', `${ payment_method }` ],
- [ '_transaction_id', '' ],
- [ '_wp_http_referer', '' ],
- [ '_wp_original_http_referer', '' ],
- [ '_wpnonce', `${ wpnonce }` ],
- [ 'action', 'editpost' ],
- [ 'closedpostboxesnonce', `${ closed_postboxes_nonce }` ],
- [ 'customer_user', '' ],
- [ 'excerpt', '' ],
- [ 'meta-box-order-nonce', `${ meta_box_order_nonce }` ],
- [ 'metakeyinput', '' ],
- [ 'metakeyselect', '%23NONE%23' ],
- [ 'metavalue', '' ],
- [ 'order_date', `${ global_order_date }` ],
- [ 'order_date_hour', '01' ],
- [ 'order_date_minute', '01' ],
- [ 'order_date_second', '01' ],
- [ 'order_note', '' ],
- [ 'order_note_type', '' ],
- [ 'order_status', 'wc-completed' ],
- [ 'original_post_status', 'wc-pending' ],
- [ 'original_post_title', '' ],
- [ 'originalaction', 'editpost' ],
- [ 'post_ID', `${ post_id }` ],
- [ 'post_author', '1' ],
- [ 'post_status', 'pending' ],
- [ 'post_title', '%2COrder' ],
- [ 'post_type', 'shop_order' ],
- [ 'referredby', '' ],
- [ 'samplepermalinknonce', `${ sample_permalink_nonce }` ],
- [ 'save', 'Update' ],
- [ 'user_ID', '1' ],
- [ 'wc_order_action', '' ],
- [ 'woocommerce_meta_nonce', `${ woocommerce_meta_nonce }` ],
- ] );
-
- const hposOrderParams = new URLSearchParams( [
- [ '_ajax_nonce-add-meta', `${ ajax_nonce_add_meta }` ],
- [ '_billing_address_1', `${ addresses_guest_billing_address_1 }` ],
- [ '_billing_address_2', `${ addresses_guest_billing_address_2 }` ],
- [ '_billing_city', `${ addresses_guest_billing_city }` ],
- [ '_billing_company', `${ addresses_guest_billing_company }` ],
- [ '_billing_country', `${ addresses_guest_billing_country }` ],
- [ '_billing_email', `${ addresses_guest_billing_email }` ],
- [
- '_billing_first_name',
- `${ addresses_guest_billing_first_name }`,
- ],
- [ '_billing_last_name', `${ addresses_guest_billing_last_name }` ],
- [ '_billing_phone', `${ addresses_guest_billing_phone }` ],
- [ '_billing_postcode', `${ addresses_guest_billing_postcode }` ],
- [ '_billing_state', `${ addresses_guest_billing_state }` ],
- [ '_shipping_address_1', `${ addresses_guest_billing_address_1 }` ],
- [ '_shipping_address_2', `${ addresses_guest_billing_address_2 }` ],
- [ '_shipping_city', `${ addresses_guest_billing_city }` ],
- [ '_shipping_company', `${ addresses_guest_billing_company }` ],
- [ '_shipping_country', `${ addresses_guest_billing_country }` ],
- [
- '_shipping_first_name',
- `${ addresses_guest_billing_first_name }`,
- ],
- [ '_shipping_last_name', `${ addresses_guest_billing_last_name }` ],
- [ '_shipping_phone', `${ addresses_guest_billing_phone }` ],
- [ '_shipping_postcode', `${ addresses_guest_billing_postcode }` ],
- [ '_shipping_state', `${ addresses_guest_billing_state }` ],
- [ '_payment_method', `${ payment_method }` ],
- [ '_transaction_id', '' ],
- [ '_wp_http_referer', '' ],
- [ '_wpnonce', `${ wpnonce }` ],
- [ 'action', 'edit_order' ],
- [ 'customer_user', '' ],
- [ 'excerpt', '' ],
- [ 'metakeyinput', '' ],
- [ 'metavalue', '' ],
- [ 'order_date', `${ global_order_date }` ],
- [ 'order_date_hour', '01' ],
- [ 'order_date_minute', '01' ],
- [ 'order_date_second', '01' ],
- [ 'order_note', '' ],
- [ 'order_note_type', '' ],
- [ 'order_status', 'wc-completed' ],
- [ 'original_order_status', 'pending' ],
- [ 'post_status', 'pending' ],
- [ 'post_title', 'Order' ],
- [ 'referredby', '' ],
- [ 'save', 'Save' ],
- [ 'wc_order_action', '' ],
- [ 'woocommerce_meta_nonce', `${ woocommerce_meta_nonce }` ],
- ] );
-
- if ( hpos_status === true ) {
- admin_update_order_id = `${ admin_update_order_base }&id=${ hpos_post_id }`;
- admin_update_order_params = hposOrderParams.toString();
- } else {
- admin_update_order_params = orderParams.toString();
- admin_update_order_id = `${ admin_open_order_base }`;
- }
-
- const response = http.post(
- `${ base_url }/wp-admin/${ admin_update_order_id }`,
- admin_update_order_params.toString(),
- {
- headers: requestHeaders,
- tags: { name: 'Merchant - Update Existing Order Status' },
- }
- );
- check( response, {
- 'is status 200': ( r ) => r.status === 200,
- "body contains: 'Order updated' confirmation": ( r ) =>
- r.body.includes( `${ admin_update_order_assert }` ),
- } );
- } );
}
export default function () {
diff --git a/plugins/woocommerce/tests/performance/requests/merchant/orders-filter.js b/plugins/woocommerce/tests/performance/requests/merchant/orders-filter.js
index 6d787b7231..fd6e3daeee 100644
--- a/plugins/woocommerce/tests/performance/requests/merchant/orders-filter.js
+++ b/plugins/woocommerce/tests/performance/requests/merchant/orders-filter.js
@@ -1,5 +1,4 @@
/* eslint-disable import/no-unresolved */
-/* eslint-disable no-shadow */
/**
* External dependencies
*/
@@ -12,9 +11,7 @@ import { randomIntBetween } from 'https://jslib.k6.io/k6-utils/1.1.0/index.js';
*/
import {
base_url,
- hpos_status,
admin_orders_base_url,
- hpos_admin_orders_base_url,
think_time_min,
think_time_max,
customer_user_id,
@@ -31,16 +28,8 @@ const month = date.toJSON().slice( 5, 7 );
const year = date.toJSON().slice( 0, 4 );
const currentDate = `${ year }${ month }`;
-// Change URL if HPOS is enabled and being used
-let admin_orders_base;
-let admin_filter_month_assert;
-if ( hpos_status === true ) {
- admin_orders_base = hpos_admin_orders_base_url;
- admin_filter_month_assert = `selected='selected' value="${ currentDate }">`;
-} else {
- admin_orders_base = `${ admin_orders_base_url }&post_status=all`;
- admin_filter_month_assert = `selected='selected' value='${ currentDate }'>`;
-}
+const admin_orders_base = `${ admin_orders_base_url }&post_status=all`;
+const admin_filter_month_assert = `selected='selected' value='${ currentDate }'>`;
export function ordersFilter() {
let response;
@@ -64,8 +53,8 @@ export function ordersFilter() {
);
check( response, {
'is status 200': ( r ) => r.status === 200,
- 'body contains: filter set to selected month': ( response ) =>
- response.body.includes( `${ admin_filter_month_assert }` ),
+ 'body contains: filter set to selected month': ( r ) =>
+ r.body.includes( `${ admin_filter_month_assert }` ),
} );
response = http.get(
@@ -78,8 +67,8 @@ export function ordersFilter() {
);
check( response, {
'is status 200': ( r ) => r.status === 200,
- 'body contains: filter set to selected customer': ( response ) =>
- response.body.includes(
+ 'body contains: filter set to selected customer': ( r ) =>
+ r.body.includes(
`<option value="${ customer_user_id }" selected="selected">`
),
} );
diff --git a/plugins/woocommerce/tests/performance/requests/merchant/orders-heartbeat.js b/plugins/woocommerce/tests/performance/requests/merchant/orders-heartbeat.js
index ad5677f098..a395db5f4c 100644
--- a/plugins/woocommerce/tests/performance/requests/merchant/orders-heartbeat.js
+++ b/plugins/woocommerce/tests/performance/requests/merchant/orders-heartbeat.js
@@ -14,9 +14,7 @@ import {
*/
import {
base_url,
- hpos_status,
admin_orders_base_url,
- hpos_admin_orders_base_url,
think_time_min,
think_time_max,
} from '../../config.js';
@@ -34,13 +32,7 @@ import {
let heartbeat_nonce;
let jar;
-// Change URL if HPOS is enabled and being used
-let admin_orders_base;
-if ( hpos_status === true ) {
- admin_orders_base = hpos_admin_orders_base_url;
-} else {
- admin_orders_base = admin_orders_base_url;
-}
+const admin_orders_base = admin_orders_base_url;
export function ordersHeartbeat() {
let response;
@@ -66,9 +58,8 @@ export function ordersHeartbeat() {
);
check( response, {
'is status 200': ( r ) => r.status === 200,
- // eslint-disable-next-line no-shadow
- "body contains: 'Orders' header": ( response ) =>
- response.body.includes( 'Orders</h1>' ),
+ "body contains: 'Orders' header": ( r ) =>
+ r.body.includes( 'Orders</h1>' ),
} );
// Correlate nonce values for use in subsequent requests.
diff --git a/plugins/woocommerce/tests/performance/requests/merchant/orders-search.js b/plugins/woocommerce/tests/performance/requests/merchant/orders-search.js
index 198f37dc4b..837ce56f8c 100644
--- a/plugins/woocommerce/tests/performance/requests/merchant/orders-search.js
+++ b/plugins/woocommerce/tests/performance/requests/merchant/orders-search.js
@@ -1,5 +1,4 @@
/* eslint-disable import/no-unresolved */
-/* eslint-disable no-shadow */
/**
* External dependencies
*/
@@ -12,9 +11,7 @@ import { randomIntBetween } from 'https://jslib.k6.io/k6-utils/1.1.0/index.js';
*/
import {
base_url,
- hpos_status,
admin_orders_base_url,
- hpos_admin_orders_base_url,
think_time_min,
think_time_max,
product_search_term,
@@ -28,16 +25,8 @@ import {
commonNonStandardHeaders,
} from '../../headers.js';
-// Change URL if HPOS is enabled and being used
-let admin_orders_base;
-let admin_search_assert;
-if ( hpos_status === true ) {
- admin_orders_base = hpos_admin_orders_base_url;
- admin_search_assert = 'tbody id="the-list"';
-} else {
- admin_orders_base = `${ admin_orders_base_url }&post_status=all`;
- admin_search_assert = 'Search results for:';
-}
+const admin_orders_base = `${ admin_orders_base_url }&post_status=all`;
+const admin_search_assert = 'Search results for:';
export function ordersSearch() {
let response;
@@ -62,8 +51,8 @@ export function ordersSearch() {
);
check( response, {
'is status 200': ( r ) => r.status === 200,
- "body contains: 'Search results' subtitle": ( response ) =>
- response.body.includes( `${ admin_search_assert }` ),
+ "body contains: 'Search results' subtitle": ( r ) =>
+ r.body.includes( `${ admin_search_assert }` ),
} );
response = http.get(
@@ -77,8 +66,8 @@ export function ordersSearch() {
);
check( response, {
'is status 200': ( r ) => r.status === 200,
- "body contains: 'Search results' subtitle": ( response ) =>
- response.body.includes( `${ admin_search_assert }` ),
+ "body contains: 'Search results' subtitle": ( r ) =>
+ r.body.includes( `${ admin_search_assert }` ),
} );
response = http.get(
@@ -92,8 +81,8 @@ export function ordersSearch() {
);
check( response, {
'is status 200': ( r ) => r.status === 200,
- "body contains: 'Search results' subtitle": ( response ) =>
- response.body.includes( `${ admin_search_assert }` ),
+ "body contains: 'Search results' subtitle": ( r ) =>
+ r.body.includes( `${ admin_search_assert }` ),
} );
} );
diff --git a/plugins/woocommerce/tests/performance/requests/merchant/orders.js b/plugins/woocommerce/tests/performance/requests/merchant/orders.js
index d4d118b0fb..31a5059b15 100644
--- a/plugins/woocommerce/tests/performance/requests/merchant/orders.js
+++ b/plugins/woocommerce/tests/performance/requests/merchant/orders.js
@@ -1,4 +1,3 @@
-/* eslint-disable no-shadow */
/* eslint-disable import/no-unresolved */
/**
* External dependencies
@@ -15,9 +14,7 @@ import {
*/
import {
base_url,
- hpos_status,
admin_orders_base_url,
- hpos_admin_orders_base_url,
think_time_min,
think_time_max,
} from '../../config.js';
@@ -33,23 +30,16 @@ import {
commonNonStandardHeaders,
} from '../../headers.js';
-// Change URL if HPOS is enabled and being used
-let admin_orders_base;
-let admin_orders_completed;
-if ( hpos_status === true ) {
- admin_orders_base = hpos_admin_orders_base_url;
- admin_orders_completed = 'status=wc-completed';
-} else {
- admin_orders_base = admin_orders_base_url;
- admin_orders_completed = 'post_status=wc-completed';
-}
+const admin_orders_base = admin_orders_base_url;
+const admin_orders_completed = 'post_status=wc-completed';
export function orders( includeTests = {} ) {
let response;
let api_x_wp_nonce;
let apiNonceHeader;
let heartbeat_nonce;
- let includedTests = Object.assign( {
+ const includedTests = Object.assign(
+ {
completed: true,
heartbeat: true,
other: true,
@@ -72,8 +62,8 @@ export function orders( includeTests = {} ) {
} );
check( response, {
'is status 200': ( r ) => r.status === 200,
- "body contains: 'Orders' header": ( response ) =>
- response.body.includes( 'Orders</h1>' ),
+ "body contains: 'Orders' header": ( r ) =>
+ r.body.includes( 'Orders</h1>' ),
} );
// Correlate nonce values for use in subsequent requests.
@@ -169,7 +159,9 @@ export function orders( includeTests = {} ) {
} );
} );
- sleep( randomIntBetween( `${ think_time_min }`, `${ think_time_max }` ) );
+ sleep(
+ randomIntBetween( `${ think_time_min }`, `${ think_time_max }` )
+ );
}
if ( includedTests.completed ) {
@@ -191,12 +183,14 @@ export function orders( includeTests = {} ) {
);
check( response, {
'is status 200': ( r ) => r.status === 200,
- "body contains: 'Orders' header": ( response ) =>
- response.body.includes( 'Orders</h1>' ),
+ "body contains: 'Orders' header": ( r ) =>
+ r.body.includes( 'Orders</h1>' ),
} );
} );
- sleep( randomIntBetween( `${ think_time_min }`, `${ think_time_max }` ) );
+ sleep(
+ randomIntBetween( `${ think_time_min }`, `${ think_time_max }` )
+ );
}
}
diff --git a/plugins/woocommerce/tests/performance/tests/example-all-requests-arrival-rate.js b/plugins/woocommerce/tests/performance/tests/example-all-requests-arrival-rate.js
deleted file mode 100644
index cbac3ffa5f..0000000000
--- a/plugins/woocommerce/tests/performance/tests/example-all-requests-arrival-rate.js
+++ /dev/null
@@ -1,141 +0,0 @@
-import { homePage } from '../requests/shopper/home.js';
-import { shopPage } from '../requests/shopper/shop-page.js';
-import { searchProduct } from '../requests/shopper/search-product.js';
-import { singleProduct } from '../requests/shopper/single-product.js';
-import { cart } from '../requests/shopper/cart.js';
-import { cartRemoveItem } from '../requests/shopper/cart-remove-item.js';
-import { cartApplyCoupon } from '../requests/shopper/cart-apply-coupon.js';
-import { checkoutGuest } from '../requests/shopper/checkout-guest.js';
-import { checkoutCustomerLogin } from '../requests/shopper/checkout-customer-login.js';
-import { coupons } from '../requests/merchant/coupons.js';
-import { myAccount } from '../requests/shopper/my-account.js';
-import { wpLogin } from '../requests/merchant/wp-login.js';
-import { products } from '../requests/merchant/products.js';
-import { addProduct } from '../requests/merchant/add-product.js';
-import { orders } from '../requests/merchant/orders.js';
-import { ordersHeartbeat } from '../requests/merchant/orders-heartbeat.js';
-import { ordersSearch } from '../requests/merchant/orders-search.js';
-import { homeWCAdmin } from '../requests/merchant/home-wc-admin.js';
-import { myAccountMerchantLogin } from '../requests/merchant/my-account-merchant.js';
-import { categoryPage } from '../requests/shopper/category-page.js';
-
-export let options = {
- scenarios: {
- merchantBackgroundActivity: {
- executor: 'ramping-arrival-rate',
- startRate: 1, // starting iterations per timeUnit
- timeUnit: '1s',
- preAllocatedVUs: 5,
- maxVUs: 10,
- stages: [ // target value is iterations per timeUnit
- { target: 1, duration: '5s' },
- { target: 2, duration: '600s' },
- { target: 2, duration: '120s' },
- { target: 4, duration: '600s' },
- { target: 4, duration: '120s' },
- { target: 0, duration: '120s' },
- ],
- exec: 'merchantAllFlows',
- },
- merchantIdleBackgroundActivity: {
- executor: 'ramping-arrival-rate',
- startRate: 1, // starting iterations per timeUnit
- timeUnit: '1s',
- preAllocatedVUs: 5,
- maxVUs: 10,
- stages: [ // target value is iterations per timeUnit
- { target: 1, duration: '5s' },
- { target: 2, duration: '600s' },
- { target: 2, duration: '120s' },
- { target: 4, duration: '600s' },
- { target: 4, duration: '120s' },
- { target: 0, duration: '120s' },
- ],
- exec: 'merchantHeartbeatFlow',
- },
- shopperBackgroundActivity: {
- executor: 'ramping-arrival-rate',
- startRate: 1, // starting iterations per timeUnit
- timeUnit: '1s',
- preAllocatedVUs: 5,
- maxVUs: 10,
- stages: [ // target value is iterations per timeUnit
- { target: 1, duration: '5s' },
- { target: 2, duration: '600s' },
- { target: 2, duration: '120s' },
- { target: 4, duration: '600s' },
- { target: 4, duration: '120s' },
- { target: 0, duration: '120s' },
- ],
- exec: 'shopperBrowsingFlows',
- },
- shopperGuestCheckouts: {
- executor: 'ramping-arrival-rate',
- startRate: 1, // starting iterations per timeUnit
- timeUnit: '1s',
- preAllocatedVUs: 10,
- maxVUs: 20,
- stages: [ // target value is iterations per timeUnit
- { target: 1, duration: '5s' },
- { target: 4, duration: '600s' },
- { target: 4, duration: '120s' },
- { target: 8, duration: '600s' },
- { target: 8, duration: '120s' },
- { target: 0, duration: '120s' },
- ],
- exec: 'checkoutGuestFlow',
- },
- shopperCustomerCheckouts: {
- executor: 'ramping-arrival-rate',
- startRate: 1, // starting iterations per timeUnit
- timeUnit: '1s',
- preAllocatedVUs: 5,
- maxVUs: 10,
- stages: [ // target value is iterations per timeUnit
- { target: 1, duration: '5s' },
- { target: 2, duration: '600s' },
- { target: 2, duration: '120s' },
- { target: 4, duration: '600s' },
- { target: 4, duration: '120s' },
- { target: 0, duration: '120s' },
- ],
- exec: 'checkoutCustomerLoginFlow',
- },
- },
-};
-
-// Use myAccountMerchantLogin() instead of wpLogin() if having issues with login.
-export function merchantAllFlows() {
- myAccountMerchantLogin();
- homeWCAdmin();
- orders();
- ordersSearch();
- products();
- addProduct();
- coupons();
-}
-// Use myAccountMerchantLogin() instead of wpLogin() if having issues with login.
-export function merchantHeartbeatFlow() {
- // Login only on first iteration
- if (__ITER == 0) {
- myAccountMerchantLogin();}
- ordersHeartbeat();
-}
-export function shopperBrowsingFlows() {
- homePage();
- shopPage();
- searchProduct();
- singleProduct();
- cartRemoveItem();
- cartApplyCoupon();
- myAccount();
- categoryPage();
-}
-export function checkoutGuestFlow() {
- cart();
- checkoutGuest();
-}
-export function checkoutCustomerLoginFlow() {
- cart();
- checkoutCustomerLogin();
-}
diff --git a/plugins/woocommerce/tests/performance/tests/example-all-requests-ramping-vus.js b/plugins/woocommerce/tests/performance/tests/example-all-requests-ramping-vus.js
deleted file mode 100644
index 82e62294b0..0000000000
--- a/plugins/woocommerce/tests/performance/tests/example-all-requests-ramping-vus.js
+++ /dev/null
@@ -1,131 +0,0 @@
-import { homePage } from '../requests/shopper/home.js';
-import { shopPage } from '../requests/shopper/shop-page.js';
-import { searchProduct } from '../requests/shopper/search-product.js';
-import { singleProduct } from '../requests/shopper/single-product.js';
-import { cart } from '../requests/shopper/cart.js';
-import { cartRemoveItem } from '../requests/shopper/cart-remove-item.js';
-import { cartApplyCoupon } from '../requests/shopper/cart-apply-coupon.js';
-import { checkoutGuest } from '../requests/shopper/checkout-guest.js';
-import { checkoutCustomerLogin } from '../requests/shopper/checkout-customer-login.js';
-import { coupons } from '../requests/merchant/coupons.js';
-import { myAccount } from '../requests/shopper/my-account.js';
-import { wpLogin } from '../requests/merchant/wp-login.js';
-import { products } from '../requests/merchant/products.js';
-import { addProduct } from '../requests/merchant/add-product.js';
-import { orders } from '../requests/merchant/orders.js';
-import { ordersHeartbeat } from '../requests/merchant/orders-heartbeat.js';
-import { ordersSearch } from '../requests/merchant/orders-search.js';
-import { homeWCAdmin } from '../requests/merchant/home-wc-admin.js';
-import { myAccountMerchantLogin } from '../requests/merchant/my-account-merchant.js';
-import { categoryPage } from '../requests/shopper/category-page.js';
-
-export let options = {
- scenarios: {
- merchantBackgroundActivity: {
- executor: 'ramping-vus',
- startVUs: 1,
- stages: [
- { target: 1, duration: '5s' },
- { target: 2, duration: '600s' },
- { target: 2, duration: '120s' },
- { target: 4, duration: '600s' },
- { target: 4, duration: '120s' },
- { target: 0, duration: '120s' },
- ],
- gracefulRampDown: '0',
- exec: 'merchantAllFlows',
- },
- merchantIdleBackgroundActivity: {
- executor: 'ramping-vus',
- startVUs: 1,
- stages: [
- { target: 1, duration: '5s' },
- { target: 2, duration: '600s' },
- { target: 2, duration: '120s' },
- { target: 4, duration: '600s' },
- { target: 4, duration: '120s' },
- { target: 0, duration: '120s' },
- ],
- gracefulRampDown: '0',
- exec: 'merchantHeartbeatFlow',
- },
- shopperBackgroundActivity: {
- executor: 'ramping-vus',
- startVUs: 1,
- stages: [
- { target: 1, duration: '5s' },
- { target: 2, duration: '600s' },
- { target: 2, duration: '120s' },
- { target: 4, duration: '600s' },
- { target: 4, duration: '120s' },
- { target: 0, duration: '120s' },
- ],
- gracefulRampDown: '0',
- exec: 'shopperBrowsingFlows',
- },
- shopperGuestCheckouts: {
- executor: 'ramping-vus',
- startVUs: 1,
- stages: [
- { target: 1, duration: '5s' },
- { target: 4, duration: '600s' },
- { target: 4, duration: '120s' },
- { target: 8, duration: '600s' },
- { target: 8, duration: '120s' },
- { target: 0, duration: '120s' },
- ],
- gracefulRampDown: '0',
- exec: 'checkoutGuestFlow',
- },
- shopperCustomerCheckouts: {
- executor: 'ramping-vus',
- startVUs: 1,
- stages: [
- { target: 1, duration: '5s' },
- { target: 2, duration: '600s' },
- { target: 2, duration: '120s' },
- { target: 4, duration: '600s' },
- { target: 4, duration: '120s' },
- { target: 0, duration: '120s' },
- ],
- gracefulRampDown: '0',
- exec: 'checkoutCustomerLoginFlow',
- },
- },
-};
-
-// Use myAccountMerchantLogin() instead of wpLogin() if having issues with login.
-export function merchantAllFlows() {
- myAccountMerchantLogin();
- homeWCAdmin();
- orders();
- ordersSearch();
- products();
- addProduct();
- coupons();
-}
-// Use myAccountMerchantLogin() instead of wpLogin() if having issues with login.
-export function merchantHeartbeatFlow() {
- // Login only on first iteration
- if (__ITER == 0) {
- myAccountMerchantLogin();}
- ordersHeartbeat();
-}
-export function shopperBrowsingFlows() {
- homePage();
- shopPage();
- searchProduct();
- singleProduct();
- cartRemoveItem();
- cartApplyCoupon();
- myAccount();
- categoryPage();
-}
-export function checkoutGuestFlow() {
- cart();
- checkoutGuest();
-}
-export function checkoutCustomerLoginFlow() {
- cart();
- checkoutCustomerLogin();
-}
diff --git a/plugins/woocommerce/tests/performance/tests/gh-action-daily-ext-requests.js b/plugins/woocommerce/tests/performance/tests/gh-action-daily-ext-requests.js
deleted file mode 100644
index f0ce502d2c..0000000000
--- a/plugins/woocommerce/tests/performance/tests/gh-action-daily-ext-requests.js
+++ /dev/null
@@ -1,290 +0,0 @@
-/**
- * Internal dependencies
- */
-import { homePage } from '../requests/shopper/home.js';
-import { shopPage } from '../requests/shopper/shop-page.js';
-import { searchProduct } from '../requests/shopper/search-product.js';
-import { singleProduct } from '../requests/shopper/single-product.js';
-import { cart } from '../requests/shopper/cart.js';
-import { cartRemoveItem } from '../requests/shopper/cart-remove-item.js';
-import { checkoutGuest } from '../requests/shopper/checkout-guest.js';
-import { checkoutCustomerLogin } from '../requests/shopper/checkout-customer-login.js';
-import { myAccount } from '../requests/shopper/my-account.js';
-import { myAccountOrders } from '../requests/shopper/my-account-orders.js';
-import { categoryPage } from '../requests/shopper/category-page.js';
-import { myAccountMerchantLogin } from '../requests/merchant/my-account-merchant.js';
-import { products } from '../requests/merchant/products.js';
-import { addProduct } from '../requests/merchant/add-product.js';
-import { coupons } from '../requests/merchant/coupons.js';
-import { orders } from '../requests/merchant/orders.js';
-import { ordersSearch } from '../requests/merchant/orders-search.js';
-import { addOrder } from '../requests/merchant/add-order.js';
-import { ordersAPI } from '../requests/api/orders.js';
-import { homeWCAdmin } from '../requests/merchant/home-wc-admin.js';
-import { addCustomerOrder } from '../setup/add-customer-order.js';
-
-const shopper_request_threshold = 'p(95)<10000';
-const merchant_request_threshold = 'p(95)<10000';
-const api_request_threshold = 'p(95)<10000';
-
-export const options = {
- scenarios: {
- shopperBrowseSmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 3,
- maxDuration: '180s',
- exec: 'shopperBrowseFlow',
- },
- myAccountSmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 3,
- maxDuration: '60s',
- startTime: '20s',
- exec: 'myAccountFlow',
- },
- cartSmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 3,
- maxDuration: '60s',
- startTime: '25s',
- exec: 'cartFlow',
- },
- checkoutGuestSmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 3,
- maxDuration: '120s',
- startTime: '30s',
- exec: 'checkoutGuestFlow',
- },
- checkoutCustomerLoginSmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 3,
- maxDuration: '120s',
- startTime: '40s',
- exec: 'checkoutCustomerLoginFlow',
- },
- allMerchantSmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 3,
- maxDuration: '360s',
- exec: 'allMerchantFlow',
- },
- allAPISmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 3,
- maxDuration: '120s',
- exec: 'allAPIFlow',
- },
- },
- thresholds: {
- checks: [ 'rate==1' ],
- // Listing individual metrics due to https://github.com/grafana/k6/issues/1321
- 'http_req_duration{name:Shopper - Site Root}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Shop Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Search Products}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Category Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Product Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=add_to_cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - View Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Remove Item From Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=apply_coupon}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Update Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - View Checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=update_order_review}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Order Received}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=get_refreshed_fragments}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Login to Checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Login Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Login to My Account}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Orders}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Open Order}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - WP Login Page}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Login to WP Admin}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - WC-Admin}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/orders?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/products/reviews?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/products/low-in-stock?}':
- [ `${ merchant_request_threshold }` ],
- 'http_req_duration{name:Merchant - All Orders}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Completed Orders}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - New Order Page}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Create New Order}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Open Order}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Update Existing Order Status}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Customer Email}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Customer Address}':
- [ `${ merchant_request_threshold }` ],
- 'http_req_duration{name:Merchant - Filter Orders By Month}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Filter Orders By Customer}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - All Products}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Add New Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - action=sample-permalink}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - action=heartbeat autosave}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Update New Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Coupons}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-admin/onboarding/tasks?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/admin/notes?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-admin/options?options=woocommerce_ces_tracks_queue}':
- [ `${ merchant_request_threshold }` ],
- 'http_req_duration{name:Merchant - action=heartbeat}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:API - Create Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Retrieve Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Update Order (Status)}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Delete Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Batch Create Orders}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Batch Update (Status) Orders}': [
- `${ api_request_threshold }`,
- ],
- },
-};
-
-export function setup() {
- addCustomerOrder();
-}
-
-export function shopperBrowseFlow() {
- homePage();
- shopPage();
- categoryPage();
- searchProduct();
- singleProduct();
-}
-export function checkoutGuestFlow() {
- cart();
- checkoutGuest();
-}
-export function checkoutCustomerLoginFlow() {
- cart();
- checkoutCustomerLogin();
-}
-export function myAccountFlow() {
- myAccount();
- myAccountOrders();
-}
-export function cartFlow() {
- cartRemoveItem();
-}
-export function allMerchantFlow() {
- myAccountMerchantLogin();
- homeWCAdmin();
- addOrder();
- orders();
- ordersSearch();
- addProduct();
- products();
- coupons();
-}
-
-export function allAPIFlow() {
- ordersAPI();
-}
diff --git a/plugins/woocommerce/tests/performance/tests/hpos-baseline-load.js b/plugins/woocommerce/tests/performance/tests/hpos-baseline-load.js
deleted file mode 100644
index 291a2e4e2e..0000000000
--- a/plugins/woocommerce/tests/performance/tests/hpos-baseline-load.js
+++ /dev/null
@@ -1,313 +0,0 @@
-/* eslint-disable eqeqeq */
-/* eslint-disable no-undef */
-/**
- * Internal dependencies
- */
-import { homePage } from '../requests/shopper/home.js';
-import { shopPage } from '../requests/shopper/shop-page.js';
-import { searchProduct } from '../requests/shopper/search-product.js';
-import { singleProduct } from '../requests/shopper/single-product.js';
-import { cart } from '../requests/shopper/cart.js';
-import { cartRemoveItem } from '../requests/shopper/cart-remove-item.js';
-import { cartApplyCoupon } from '../requests/shopper/cart-apply-coupon.js';
-import { checkoutGuest } from '../requests/shopper/checkout-guest.js';
-import { checkoutCustomerLogin } from '../requests/shopper/checkout-customer-login.js';
-import { myAccountOrders } from '../requests/shopper/my-account-orders.js';
-import { categoryPage } from '../requests/shopper/category-page.js';
-import { coupons } from '../requests/merchant/coupons.js';
-import { addProduct } from '../requests/merchant/add-product.js';
-import { orders } from '../requests/merchant/orders.js';
-import { ordersSearch } from '../requests/merchant/orders-search.js';
-import { ordersFilter } from '../requests/merchant/orders-filter.js';
-import { addOrder } from '../requests/merchant/add-order.js';
-import { homeWCAdmin } from '../requests/merchant/home-wc-admin.js';
-import { myAccountMerchantLogin } from '../requests/merchant/my-account-merchant.js';
-import { wpLogin } from '../requests/merchant/wp-login.js';
-import { ordersAPI } from '../requests/api/orders.js';
-import { admin_acc_login } from '../config.js';
-import { addCustomerOrder } from '../setup/add-customer-order.js';
-
-const shopper_request_threshold = 'p(95)<100000';
-const merchant_request_threshold = 'p(95)<100000';
-const api_request_threshold = 'p(95)<100000';
-
-export const options = {
- scenarios: {
- merchantOrders: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '10s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 2, duration: '60s' },
- { target: 5, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'merchantOrderFlows',
- },
- merchantOther: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '10s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 2, duration: '60s' },
- { target: 5, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'merchantOtherFlows',
- },
- shopperBrowsing: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '10s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 2, duration: '60s' },
- { target: 10, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'shopperBrowsingFlows',
- },
- shopperGuestCheckouts: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '10s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 2, duration: '60s' },
- { target: 5, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'checkoutGuestFlow',
- },
- shopperCustomerCheckouts: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '10s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 2, duration: '60s' },
- { target: 5, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'checkoutCustomerLoginFlow',
- },
- apiBackground: {
- executor: 'ramping-arrival-rate',
- startRate: 1, // starting iterations per timeUnit
- timeUnit: '10s',
- preAllocatedVUs: 5,
- maxVUs: 5,
- stages: [
- // target value is iterations per timeUnit
- { target: 1, duration: '60s' },
- { target: 5, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'allAPIFlow',
- },
- },
- thresholds: {
- // Listing individual metrics due to https://github.com/grafana/k6/issues/1321
- 'http_req_duration{name:Shopper - Site Root}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Shop Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Search Products}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Category Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Product Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=add_to_cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - View Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Remove Item From Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=apply_coupon}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Update Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - View Checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=update_order_review}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Order Received}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=get_refreshed_fragments}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Login to Checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Login Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Login to My Account}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Orders}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Open Order}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - WP Login Page}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Login to WP Admin}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - WC-Admin}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/orders?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - All Orders}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Completed Orders}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - New Order Page}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Create New Order}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Open Order}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Update Existing Order Status}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Customer Email}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Customer Address}':
- [ `${ merchant_request_threshold }` ],
- 'http_req_duration{name:Merchant - Filter Orders By Month}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Filter Orders By Customer}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - All Products}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Add New Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Update New Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:API - Create Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Retrieve Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Update Order (Status)}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Delete Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Batch Create Orders}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Batch Update (Status) Orders}': [
- `${ api_request_threshold }`,
- ],
- },
-};
-
-export function setup() {
- addCustomerOrder();
-}
-
-// Use myAccountMerchantLogin() instead of wpLogin() if having issues with login.
-export function merchantOrderFlows() {
- if ( admin_acc_login === true ) {
- myAccountMerchantLogin();
- } else {
- wpLogin();
- }
- addOrder( { heartbeat: false, other: false } );
- orders( { heartbeat: false, other: false } );
- ordersSearch();
- ordersFilter();
-}
-
-// Use myAccountMerchantLogin() instead of wpLogin() if having issues with login.
-export function merchantOtherFlows() {
- if ( admin_acc_login === true ) {
- myAccountMerchantLogin();
- } else {
- wpLogin();
- }
- homeWCAdmin( { other: false, products: false, reviews: false } );
- addProduct( {
- heartbeat: false,
- other: false,
- permalink: false,
- update: false,
- } );
- coupons();
-}
-export function shopperBrowsingFlows() {
- homePage();
- shopPage();
- searchProduct();
- singleProduct();
- cartRemoveItem();
- cartApplyCoupon();
- categoryPage();
-}
-export function checkoutGuestFlow() {
- cart();
- checkoutGuest();
-}
-export function checkoutCustomerLoginFlow() {
- cart();
- checkoutCustomerLogin();
- myAccountOrders();
-}
-export function allAPIFlow() {
- ordersAPI();
-}
diff --git a/plugins/woocommerce/tests/performance/tests/gh-action-pr-requests.js b/plugins/woocommerce/tests/performance/tests/main.js
similarity index 97%
rename from plugins/woocommerce/tests/performance/tests/gh-action-pr-requests.js
rename to plugins/woocommerce/tests/performance/tests/main.js
index 37780d605d..be022f437e 100644
--- a/plugins/woocommerce/tests/performance/tests/gh-action-pr-requests.js
+++ b/plugins/woocommerce/tests/performance/tests/main.js
@@ -25,6 +25,7 @@ import { homeWCAdmin } from '../requests/merchant/home-wc-admin.js';
import { setCartCheckoutShortcodes } from '../setup/cart-checkout-shortcode.js';
import { addCustomerOrder } from '../setup/add-customer-order.js';
+const defaultIterations = 3;
const shopper_request_threshold = 'p(95)<10000';
const merchant_request_threshold = 'p(95)<10000';
const api_request_threshold = 'p(95)<10000';
@@ -34,14 +35,14 @@ export const options = {
shopperBrowseSmoke: {
executor: 'per-vu-iterations',
vus: 1,
- iterations: 3,
+ iterations: defaultIterations,
maxDuration: '180s',
exec: 'shopperBrowseFlow',
},
myAccountSmoke: {
executor: 'per-vu-iterations',
vus: 1,
- iterations: 3,
+ iterations: defaultIterations,
maxDuration: '60s',
startTime: '20s',
exec: 'myAccountFlow',
@@ -49,7 +50,7 @@ export const options = {
cartSmoke: {
executor: 'per-vu-iterations',
vus: 1,
- iterations: 3,
+ iterations: defaultIterations,
maxDuration: '60s',
startTime: '25s',
exec: 'cartFlow',
@@ -57,7 +58,7 @@ export const options = {
checkoutGuestSmoke: {
executor: 'per-vu-iterations',
vus: 1,
- iterations: 3,
+ iterations: defaultIterations,
maxDuration: '120s',
startTime: '30s',
exec: 'checkoutGuestFlow',
@@ -65,7 +66,7 @@ export const options = {
checkoutCustomerLoginSmoke: {
executor: 'per-vu-iterations',
vus: 1,
- iterations: 3,
+ iterations: defaultIterations,
maxDuration: '120s',
startTime: '40s',
exec: 'checkoutCustomerLoginFlow',
@@ -73,14 +74,14 @@ export const options = {
allMerchantSmoke: {
executor: 'per-vu-iterations',
vus: 1,
- iterations: 3,
+ iterations: defaultIterations,
maxDuration: '360s',
exec: 'allMerchantFlow',
},
allAPISmoke: {
executor: 'per-vu-iterations',
vus: 1,
- iterations: 3,
+ iterations: defaultIterations,
maxDuration: '120s',
exec: 'allAPIFlow',
},
diff --git a/plugins/woocommerce/tests/performance/tests/simple-all-requests.js b/plugins/woocommerce/tests/performance/tests/simple-all-requests.js
deleted file mode 100644
index 172503d45f..0000000000
--- a/plugins/woocommerce/tests/performance/tests/simple-all-requests.js
+++ /dev/null
@@ -1,301 +0,0 @@
-/**
- * Internal dependencies
- */
-import { homePage } from '../requests/shopper/home.js';
-import { shopPage } from '../requests/shopper/shop-page.js';
-import { searchProduct } from '../requests/shopper/search-product.js';
-import { singleProduct } from '../requests/shopper/single-product.js';
-import { cart } from '../requests/shopper/cart.js';
-import { cartRemoveItem } from '../requests/shopper/cart-remove-item.js';
-import { cartApplyCoupon } from '../requests/shopper/cart-apply-coupon.js';
-import { checkoutGuest } from '../requests/shopper/checkout-guest.js';
-import { checkoutCustomerLogin } from '../requests/shopper/checkout-customer-login.js';
-import { myAccount } from '../requests/shopper/my-account.js';
-import { myAccountOrders } from '../requests/shopper/my-account-orders.js';
-import { categoryPage } from '../requests/shopper/category-page.js';
-import { products } from '../requests/merchant/products.js';
-import { addProduct } from '../requests/merchant/add-product.js';
-import { coupons } from '../requests/merchant/coupons.js';
-import { orders } from '../requests/merchant/orders.js';
-import { ordersSearch } from '../requests/merchant/orders-search.js';
-import { ordersFilter } from '../requests/merchant/orders-filter.js';
-import { addOrder } from '../requests/merchant/add-order.js';
-import { homeWCAdmin } from '../requests/merchant/home-wc-admin.js';
-import { wpLogin } from '../requests/merchant/wp-login.js';
-import { myAccountMerchantLogin } from '../requests/merchant/my-account-merchant.js';
-import { ordersAPI } from '../requests/api/orders.js';
-import { admin_acc_login } from '../config.js';
-import { addCustomerOrder } from '../setup/add-customer-order.js';
-
-const shopper_request_threshold = 'p(95)<10000';
-const merchant_request_threshold = 'p(95)<10000';
-const api_request_threshold = 'p(95)<10000';
-
-export const options = {
- scenarios: {
- shopperBrowseSmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 1,
- maxDuration: '50s',
- exec: 'shopperBrowseFlow',
- },
- checkoutGuestSmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 1,
- maxDuration: '50s',
- startTime: '16s',
- exec: 'checkoutGuestFlow',
- },
- checkoutCustomerLoginSmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 1,
- maxDuration: '50s',
- startTime: '32s',
- exec: 'checkoutCustomerLoginFlow',
- },
- myAccountSmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 1,
- maxDuration: '50s',
- startTime: '48s',
- exec: 'myAccountFlow',
- },
- cartSmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 1,
- maxDuration: '50s',
- startTime: '58s',
- exec: 'cartFlow',
- },
- allMerchantSmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 2,
- maxDuration: '360s',
- exec: 'allMerchantFlow',
- },
- allAPISmoke: {
- executor: 'per-vu-iterations',
- vus: 1,
- iterations: 1,
- maxDuration: '120s',
- exec: 'allAPIFlow',
- },
- },
- thresholds: {
- checks: [ 'rate==1' ],
- // Listing individual metrics due to https://github.com/grafana/k6/issues/1321
- 'http_req_duration{name:Shopper - Site Root}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Shop Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Search Products}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Category Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Product Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=add_to_cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - View Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Remove Item From Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=apply_coupon}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Update Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - View Checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=update_order_review}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Order Received}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=get_refreshed_fragments}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Login to Checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Login Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Login to My Account}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Orders}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Open Order}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - WP Login Page}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Login to WP Admin}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - WC-Admin}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/orders?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/products/reviews?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/products/low-in-stock?}':
- [ `${ merchant_request_threshold }` ],
- 'http_req_duration{name:Merchant - All Orders}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Completed Orders}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - New Order Page}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Create New Order}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Open Order}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Update Existing Order Status}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Customer Email}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Customer Address}':
- [ `${ merchant_request_threshold }` ],
- 'http_req_duration{name:Merchant - Filter Orders By Month}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Filter Orders By Customer}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - All Products}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Add New Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - action=sample-permalink}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - action=heartbeat autosave}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Update New Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Coupons}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-admin/onboarding/tasks?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/admin/notes?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-admin/options?options=woocommerce_ces_tracks_queue}':
- [ `${ merchant_request_threshold }` ],
- 'http_req_duration{name:Merchant - action=heartbeat}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:API - Create Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Retrieve Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Update Order (Status)}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Delete Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Batch Create Orders}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Batch Update (Status) Orders}': [
- `${ api_request_threshold }`,
- ],
- },
-};
-
-export function setup() {
- addCustomerOrder();
-}
-
-export function shopperBrowseFlow() {
- homePage();
- shopPage();
- categoryPage();
- searchProduct();
- singleProduct();
-}
-export function checkoutGuestFlow() {
- cart();
- checkoutGuest();
-}
-export function checkoutCustomerLoginFlow() {
- cart();
- checkoutCustomerLogin();
-}
-export function myAccountFlow() {
- myAccount();
- myAccountOrders();
-}
-export function cartFlow() {
- cartRemoveItem();
- cartApplyCoupon();
-}
-
-export function allMerchantFlow() {
- if ( admin_acc_login === true ) {
- myAccountMerchantLogin();
- } else {
- wpLogin();
- }
- homeWCAdmin();
- addOrder();
- orders();
- ordersSearch();
- ordersFilter();
- addProduct();
- products();
- coupons();
-}
-
-export function allAPIFlow() {
- ordersAPI();
-}
diff --git a/plugins/woocommerce/tests/performance/tests/wc-baseline-load.js b/plugins/woocommerce/tests/performance/tests/wc-baseline-load.js
deleted file mode 100644
index 988cf49b16..0000000000
--- a/plugins/woocommerce/tests/performance/tests/wc-baseline-load.js
+++ /dev/null
@@ -1,335 +0,0 @@
-/* eslint-disable eqeqeq */
-/* eslint-disable no-undef */
-/**
- * Internal dependencies
- */
-import { homePage } from '../requests/shopper/home.js';
-import { shopPage } from '../requests/shopper/shop-page.js';
-import { searchProduct } from '../requests/shopper/search-product.js';
-import { singleProduct } from '../requests/shopper/single-product.js';
-import { cart } from '../requests/shopper/cart.js';
-import { cartRemoveItem } from '../requests/shopper/cart-remove-item.js';
-import { cartApplyCoupon } from '../requests/shopper/cart-apply-coupon.js';
-import { checkoutGuest } from '../requests/shopper/checkout-guest.js';
-import { checkoutCustomerLogin } from '../requests/shopper/checkout-customer-login.js';
-import { myAccountOrders } from '../requests/shopper/my-account-orders.js';
-import { categoryPage } from '../requests/shopper/category-page.js';
-import { products } from '../requests/merchant/products.js';
-import { addProduct } from '../requests/merchant/add-product.js';
-import { coupons } from '../requests/merchant/coupons.js';
-import { orders } from '../requests/merchant/orders.js';
-import { ordersSearch } from '../requests/merchant/orders-search.js';
-import { ordersFilter } from '../requests/merchant/orders-filter.js';
-import { addOrder } from '../requests/merchant/add-order.js';
-import { homeWCAdmin } from '../requests/merchant/home-wc-admin.js';
-import { myAccountMerchantLogin } from '../requests/merchant/my-account-merchant.js';
-import { wpLogin } from '../requests/merchant/wp-login.js';
-import { ordersAPI } from '../requests/api/orders.js';
-import { admin_acc_login } from '../config.js';
-import { addCustomerOrder } from '../setup/add-customer-order.js';
-
-const shopper_request_threshold = 'p(95)<100000';
-const merchant_request_threshold = 'p(95)<100000';
-const api_request_threshold = 'p(95)<100000';
-
-export const options = {
- scenarios: {
- merchantOrders: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '10s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 2, duration: '60s' },
- { target: 5, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'merchantOrderFlows',
- },
- merchantOther: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '10s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 2, duration: '60s' },
- { target: 5, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'merchantOtherFlows',
- },
- shopperBrowsing: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '10s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 2, duration: '60s' },
- { target: 10, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'shopperBrowsingFlows',
- },
- shopperGuestCheckouts: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '10s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 2, duration: '60s' },
- { target: 5, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'checkoutGuestFlow',
- },
- shopperCustomerCheckouts: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '10s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 2, duration: '60s' },
- { target: 5, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'checkoutCustomerLoginFlow',
- },
- apiBackground: {
- executor: 'ramping-arrival-rate',
- startRate: 1, // starting iterations per timeUnit
- timeUnit: '10s',
- preAllocatedVUs: 5,
- maxVUs: 5,
- stages: [
- // target value is iterations per timeUnit
- { target: 1, duration: '60s' },
- { target: 5, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'allAPIFlow',
- },
- },
- thresholds: {
- // Listing individual metrics due to https://github.com/grafana/k6/issues/1321
- 'http_req_duration{name:Shopper - Site Root}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Shop Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Search Products}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Category Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Product Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=add_to_cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - View Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Remove Item From Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=apply_coupon}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Update Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - View Checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=update_order_review}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Order Received}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=get_refreshed_fragments}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Login to Checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Login Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Login to My Account}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Orders}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Open Order}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - WP Login Page}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Login to WP Admin}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - WC-Admin}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/orders?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/products/reviews?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/products/low-in-stock?}':
- [ `${ merchant_request_threshold }` ],
- 'http_req_duration{name:Merchant - All Orders}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Completed Orders}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - New Order Page}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Create New Order}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Open Order}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Update Existing Order Status}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Customer Email}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Customer Address}':
- [ `${ merchant_request_threshold }` ],
- 'http_req_duration{name:Merchant - Filter Orders By Month}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Filter Orders By Customer}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - All Products}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Add New Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - action=sample-permalink}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - action=heartbeat autosave}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Update New Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Coupons}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-admin/onboarding/tasks?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/admin/notes?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-admin/options?options=woocommerce_ces_tracks_queue}':
- [ `${ merchant_request_threshold }` ],
- 'http_req_duration{name:Merchant - action=heartbeat}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:API - Create Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Retrieve Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Update Order (Status)}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Delete Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Batch Create Orders}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Batch Update (Status) Orders}': [
- `${ api_request_threshold }`,
- ],
- },
-};
-
-export function setup() {
- addCustomerOrder();
-}
-
-// Use myAccountMerchantLogin() instead of wpLogin() if having issues with login.
-export function merchantOrderFlows() {
- if ( admin_acc_login === true ) {
- myAccountMerchantLogin();
- } else {
- wpLogin();
- }
- addOrder();
- orders();
- ordersSearch();
- ordersFilter();
-}
-
-// Use myAccountMerchantLogin() instead of wpLogin() if having issues with login.
-export function merchantOtherFlows() {
- if ( admin_acc_login === true ) {
- myAccountMerchantLogin();
- } else {
- wpLogin();
- }
- homeWCAdmin();
- addProduct();
- products();
- coupons();
-}
-export function shopperBrowsingFlows() {
- homePage();
- shopPage();
- searchProduct();
- singleProduct();
- cartRemoveItem();
- cartApplyCoupon();
- categoryPage();
-}
-export function checkoutGuestFlow() {
- cart();
- checkoutGuest();
-}
-export function checkoutCustomerLoginFlow() {
- cart();
- checkoutCustomerLogin();
- myAccountOrders();
-}
-export function allAPIFlow() {
- ordersAPI();
-}
diff --git a/plugins/woocommerce/tests/performance/tests/wc-regression-test-load.js b/plugins/woocommerce/tests/performance/tests/wc-regression-test-load.js
deleted file mode 100644
index 69c9d33d52..0000000000
--- a/plugins/woocommerce/tests/performance/tests/wc-regression-test-load.js
+++ /dev/null
@@ -1,335 +0,0 @@
-/* eslint-disable eqeqeq */
-/* eslint-disable no-undef */
-/**
- * Internal dependencies
- */
-import { homePage } from '../requests/shopper/home.js';
-import { shopPage } from '../requests/shopper/shop-page.js';
-import { searchProduct } from '../requests/shopper/search-product.js';
-import { singleProduct } from '../requests/shopper/single-product.js';
-import { cart } from '../requests/shopper/cart.js';
-import { cartRemoveItem } from '../requests/shopper/cart-remove-item.js';
-import { cartApplyCoupon } from '../requests/shopper/cart-apply-coupon.js';
-import { checkoutGuest } from '../requests/shopper/checkout-guest.js';
-import { checkoutCustomerLogin } from '../requests/shopper/checkout-customer-login.js';
-import { myAccountOrders } from '../requests/shopper/my-account-orders.js';
-import { categoryPage } from '../requests/shopper/category-page.js';
-import { products } from '../requests/merchant/products.js';
-import { addProduct } from '../requests/merchant/add-product.js';
-import { coupons } from '../requests/merchant/coupons.js';
-import { orders } from '../requests/merchant/orders.js';
-import { ordersSearch } from '../requests/merchant/orders-search.js';
-import { ordersFilter } from '../requests/merchant/orders-filter.js';
-import { addOrder } from '../requests/merchant/add-order.js';
-import { homeWCAdmin } from '../requests/merchant/home-wc-admin.js';
-import { myAccountMerchantLogin } from '../requests/merchant/my-account-merchant.js';
-import { wpLogin } from '../requests/merchant/wp-login.js';
-import { ordersAPI } from '../requests/api/orders.js';
-import { admin_acc_login } from '../config.js';
-import { addCustomerOrder } from '../setup/add-customer-order.js';
-
-const shopper_request_threshold = 'p(95)<100000';
-const merchant_request_threshold = 'p(95)<100000';
-const api_request_threshold = 'p(95)<100000';
-
-export const options = {
- scenarios: {
- merchantOrders: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '20s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 1, duration: '60s' },
- { target: 2, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'merchantOrderFlows',
- },
- merchantOther: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '20s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 1, duration: '60s' },
- { target: 2, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'merchantOtherFlows',
- },
- shopperBrowsing: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '10s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 2, duration: '60s' },
- { target: 10, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'shopperBrowsingFlows',
- },
- shopperGuestCheckouts: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '20s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 1, duration: '60s' },
- { target: 2, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'checkoutGuestFlow',
- },
- shopperCustomerCheckouts: {
- executor: 'ramping-arrival-rate',
- startRate: 2, // starting iterations per timeUnit
- timeUnit: '20s',
- preAllocatedVUs: 5,
- maxVUs: 9,
- stages: [
- // target value is iterations per timeUnit
- { target: 1, duration: '60s' },
- { target: 2, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'checkoutCustomerLoginFlow',
- },
- apiBackground: {
- executor: 'ramping-arrival-rate',
- startRate: 1, // starting iterations per timeUnit
- timeUnit: '30s',
- preAllocatedVUs: 5,
- maxVUs: 5,
- stages: [
- // target value is iterations per timeUnit
- { target: 1, duration: '60s' },
- { target: 2, duration: '500s' },
- { target: 1, duration: '60' },
- ],
- exec: 'allAPIFlow',
- },
- },
- thresholds: {
- // Listing individual metrics due to https://github.com/grafana/k6/issues/1321
- 'http_req_duration{name:Shopper - Site Root}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Shop Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Search Products}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Category Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Product Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=add_to_cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - View Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Remove Item From Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=apply_coupon}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Update Cart}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - View Checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=update_order_review}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Order Received}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - wc-ajax=get_refreshed_fragments}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Login to Checkout}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Login Page}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - Login to My Account}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Orders}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Shopper - My Account Open Order}': [
- `${ shopper_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - WP Login Page}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Login to WP Admin}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - WC-Admin}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/orders?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/products/reviews?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/products/low-in-stock?}':
- [ `${ merchant_request_threshold }` ],
- 'http_req_duration{name:Merchant - All Orders}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Completed Orders}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - New Order Page}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Create New Order}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Open Order}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Update Existing Order Status}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Customer Email}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Search Orders By Customer Address}':
- [ `${ merchant_request_threshold }` ],
- 'http_req_duration{name:Merchant - Filter Orders By Month}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Filter Orders By Customer}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - All Products}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Add New Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - action=sample-permalink}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - action=heartbeat autosave}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Update New Product}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - Coupons}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-admin/onboarding/tasks?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-analytics/admin/notes?}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:Merchant - wc-admin/options?options=woocommerce_ces_tracks_queue}':
- [ `${ merchant_request_threshold }` ],
- 'http_req_duration{name:Merchant - action=heartbeat}': [
- `${ merchant_request_threshold }`,
- ],
- 'http_req_duration{name:API - Create Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Retrieve Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Update Order (Status)}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Delete Order}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Batch Create Orders}': [
- `${ api_request_threshold }`,
- ],
- 'http_req_duration{name:API - Batch Update (Status) Orders}': [
- `${ api_request_threshold }`,
- ],
- },
-};
-
-export function setup() {
- addCustomerOrder();
-}
-
-// Use myAccountMerchantLogin() instead of wpLogin() if having issues with login.
-export function merchantOrderFlows() {
- if ( admin_acc_login === true ) {
- myAccountMerchantLogin();
- } else {
- wpLogin();
- }
- addOrder();
- orders();
- ordersSearch();
- ordersFilter();
-}
-
-// Use myAccountMerchantLogin() instead of wpLogin() if having issues with login.
-export function merchantOtherFlows() {
- if ( admin_acc_login === true ) {
- myAccountMerchantLogin();
- } else {
- wpLogin();
- }
- homeWCAdmin();
- addProduct();
- products();
- coupons();
-}
-export function shopperBrowsingFlows() {
- homePage();
- shopPage();
- searchProduct();
- singleProduct();
- cartRemoveItem();
- cartApplyCoupon();
- categoryPage();
-}
-export function checkoutGuestFlow() {
- cart();
- checkoutGuest();
-}
-export function checkoutCustomerLoginFlow() {
- cart();
- checkoutCustomerLogin();
- myAccountOrders();
-}
-export function allAPIFlow() {
- ordersAPI();
-}