---
sourceDocument: Yokohama Build or modify applications
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/yokohama/application-development

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama Build or modify applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# Service Catalog category

# Service Catalog category {#ariaid-title1}

* Release version: Yokohama
* 
* Updated January 30, 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 12 minutes to read

Validate single catalog item transactions as well as requester and fulfiller flows in Service Catalog.

## Activation of the Automated Test Framework for Service Catalog {#test-steps-service-catalog-category__section_dtq_lc2_tfb}

These test steps require activation of the The Automated Test Framework Service Catalog
(com.glide.automated_testing_impl.service_catalog) plugin, which is active by default on new
instances. Administrators may need to activate the plugin on instances upgraded from earlier
versions.

## Support for parametrized tests {#test-steps-service-catalog-category__section_u5y_kjt_rgb}

Service Catalog step configurations support parametrized tests. For more information on
parametrized tests, refer to [Parameterized tests](https://servicenow-prod.fluidtopics.net/uehGzniyJLaEBz8CO_0IOQ "Run a test multiple times with different test data for each run. Create parameters to store test data for each test run.").

## Variable editor support {#test-steps-service-catalog-category__section_cgb_2st_xfb}

After opening a record that supports variable editor (requested item, catalog task, or incident), you can add step configurations to set variable values, or validate variable states or values. Use the step configurations in the following order to support variable editor.

1. Step configurations to order a catalog item or record producer in the Service Catalog category.
2. Open an Existing Record step configuration in the Form category.
3. Set Variable Values, Validate Variable Values, or Variable State Validation step configuration in the Service Catalog category.

{#test-steps-service-catalog-category__ol_lmm_gst_xfb}  
Note:  
Custom variables and custom variable with labels are not supported for Set Variable Values, Validate Variable Values, and Variable State Validation step configurations.

## Open a Catalog Item {#ariaid-title2}

Open a catalog item.
{#atf-servc-cat-open-cat-item__table_czs_hv2_xz__entry__2}{#atf-servc-cat-open-cat-item__atf-exec-order}{#atf-servc-cat-open-cat-item__atf-active}{#atf-servc-cat-open-cat-item__atf-application-scope}{#atf-servc-cat-open-cat-item__atf-test}{#atf-servc-cat-open-cat-item__atf-step-config}{#atf-servc-cat-open-cat-item__atf-description}{#atf-servc-cat-open-cat-item__atf-notes}{#atf-servc-cat-open-cat-item__atf-catalog-item}

| Field | Description |
|-|-|
| Execution order | Integer specifying the order in which the test executes this step. As you create steps, the system automatically assigns each step an incremental value. This value causes the test to execute steps in the order that you created them in. You can change this default order by editing the Execution order values. |
| Active | Option to activate this test step for use. |
| Application | Application scope in which the system runs this step. |
| Test | Read-only name of the test that you're adding the step to. |
| Step config | Read-only name of the step. |
| Description | Description of the test step. This field value is automatically set based on the field values of the test step. This field appears after the test step is submitted. |
| Notes | Notes about the test step. |
| Catalog Item | Catalog item that you want to open. Note: You should have access to this catalog item. |
[Table 1. Inputs]

{#atf-servc-cat-open-cat-item__table_czs_hv2_xz}

## Open a Record Producer {#ariaid-title3}

Open a record producer.
{#atf-servc-cat-open-record-producer__table_q13_5w2_xz__entry__2}{#atf-servc-cat-open-record-producer__atf-exec-order}{#atf-servc-cat-open-record-producer__atf-active}{#atf-servc-cat-open-record-producer__atf-application-scope}{#atf-servc-cat-open-record-producer__atf-test}{#atf-servc-cat-open-record-producer__atf-step-config}{#atf-servc-cat-open-record-producer__atf-description}{#atf-servc-cat-open-record-producer__atf-notes}{#atf-servc-cat-open-record-producer__atf-record-producer}

| Field | Description |
|-|-|
| Execution order | Integer specifying the order in which the test executes this step. As you create steps, the system automatically assigns each step an incremental value. This value causes the test to execute steps in the order that you created them in. You can change this default order by editing the Execution order values. |
| Active | Option to activate this test step for use. |
| Application | Application scope in which the system runs this step. |
| Test | Read-only name of the test that you're adding the step to. |
| Step config | Read-only name of the step. |
| Description | Description of the test step. This field value is automatically set based on the field values of the test step. This field appears after the test step is submitted. |
| Notes | Notes about the test step. |
| Record Producer | Record producer that you want to open. Note: You should have access to the record producer. |
[Table 2. Inputs]

{#atf-servc-cat-open-record-producer__table_q13_5w2_xz}

## Set Variable Values {#ariaid-title4}

Set variable values for the current catalog item or the record producer.
For a catalog item, use this step after opening a catalog item page using the Open a Catalog Item step, and before using the Order Catalog Item step. For a record producer, use this
step after opening a record producer page using the Open a Record Producer step, and before using the Submit Record Producer step.
{#atf-servc-cat-set-variable-value__table_fzv_hz2_xz__entry__2}{#atf-servc-cat-set-variable-value__atf-exec-order}{#atf-servc-cat-set-variable-value__atf-active}{#atf-servc-cat-set-variable-value__atf-application-scope}{#atf-servc-cat-set-variable-value__atf-test}{#atf-servc-cat-set-variable-value__atf-step-config}{#atf-servc-cat-set-variable-value__atf-description}{#atf-servc-cat-set-variable-value__atf-notes-condition-builder}{#atf-servc-cat-set-variable-value__atf-item}{#atf-servc-cat-set-variable-value__atf-variable-values}

| Field | Description |
|-|-|
| Execution order | Integer specifying the order in which the test executes this step. As you create steps, the system automatically assigns each step an incremental value. This value causes the test to execute steps in the order that you created them in. You can change this default order by editing the Execution order values. |
| Active | Option to activate this test step for use. |
| Application | Application scope in which the system runs this step. |
| Test | Read-only name of the test that you're adding the step to. |
| Step config | Read-only name of the step. |
| Description | Description of the test step. This field value is automatically set based on the field values of the test step. This field appears after the test step is submitted. |
| Notes | Notes about the test step. Note: Use the condition builder to set the field value. The condition builder displays an appropriate control for the field data type. For example, a reference field displays a Lookup record control. |
| Item | Catalog item or record producer for which you want to set variable values. |
| Variable Values | List of variables and the values that you want to set for them. Note: You can set the value for multiple variables. |
[Table 3. Inputs]

{#atf-servc-cat-set-variable-value__table_fzv_hz2_xz}

## Set Catalog Item Quantity {#ariaid-title5}

Set the quantity for the current catalog
item.
{#atf-servc-cat-set-cat-item-quantity__table_lkm_x1f_xz__entry__2}{#atf-servc-cat-set-cat-item-quantity__atf-exec-order}{#atf-servc-cat-set-cat-item-quantity__atf-active}{#atf-servc-cat-set-cat-item-quantity__atf-application-scope}{#atf-servc-cat-set-cat-item-quantity__atf-test}{#atf-servc-cat-set-cat-item-quantity__atf-step-config}{#atf-servc-cat-set-cat-item-quantity__atf-description}{#atf-servc-cat-set-cat-item-quantity__atf-notes}{#atf-servc-cat-set-cat-item-quantity__atf-item-set-cat-item-quantity}{#atf-servc-cat-set-cat-item-quantity__atf-quantity-set-cat-item-quantity}

| Field | Description |
|-|-|
| Execution order | Integer specifying the order in which the test executes this step. As you create steps, the system automatically assigns each step an incremental value. This value causes the test to execute steps in the order that you created them in. You can change this default order by editing the Execution order values. |
| Active | Option to activate this test step for use. |
| Application | Application scope in which the system runs this step. |
| Test | Read-only name of the test that you're adding the step to. |
| Step config | Read-only name of the step. |
| Description | Description of the test step. This field value is automatically set based on the field values of the test step. This field appears after the test step is submitted. |
| Notes | Notes about the test step. |
| Item | Catalog item whose quantity you want to set. |
| Quantity | Quantity you want to set for the catalog item. |
[Table 4. Inputs]

{#atf-servc-cat-set-cat-item-quantity__table_lkm_x1f_xz}

## Validate Variable Values {#ariaid-title6}

Validate variable values on the current catalog item or record producer.
For a catalog item, use this step after opening a catalog item page using the Open a Catalog Item step, and before using the Order Catalog Item step. For a record producer, use this
step after opening a record producer page using the Open a Record Producer step, and before using the Submit Record Producer step.
{#atf-servc-cat-validate-VarValue__table_f2q_vbf_xz__entry__2}{#atf-servc-cat-validate-VarValue__atf-exec-order}{#atf-servc-cat-validate-VarValue__atf-active}{#atf-servc-cat-validate-VarValue__atf-timeout}{#atf-servc-cat-validate-VarValue__atf-application-scope}{#atf-servc-cat-validate-VarValue__atf-test}{#atf-servc-cat-validate-VarValue__atf-step-config}{#atf-servc-cat-validate-VarValue__atf-description}{#atf-servc-cat-validate-VarValue__atf-notes-condition-builder}{#atf-servc-cat-validate-VarValue__atf-item-validate}{#atf-servc-cat-validate-VarValue__atf-catalog-conditions}

| Field | Description |
|-|-|
| Execution order | Integer specifying the order in which the test executes this step. As you create steps, the system automatically assigns each step an incremental value. This value causes the test to execute steps in the order that you created them in. You can change this default order by editing the Execution order values. |
| Active | Option to activate this test step for use. |
| Timeout | Number of seconds allowed before the step fails. If the validation fails, the system repeats the step until it reaches the duration of the timeout. If the validation fails after the timeout duration has passed, the step fails. |
| Application | Application scope in which the system runs this step. |
| Test | Read-only name of the test that you're adding the step to. |
| Step config | Read-only name of the step. |
| Description | Description of the test step. This field value is automatically set based on the field values of the test step. This field appears after the test step is submitted. |
| Notes | Notes about the test step. Note: Use the condition builder to set the field value. The condition builder displays an appropriate control for the field data type. For example, a reference field displays a Lookup record control. |
| Item | Catalog item or record producer whose variables should be validated. |
| Catalog Conditions | Conditions for variable validation. If the conditions are met, the test passes. Note: The label of a variable associated with a variable set reflects the variable set name. The format is <var class="keyword varname">variable_set_name » variable_name</var>. |
[Table 5. Inputs]

{#atf-servc-cat-validate-VarValue__table_f2q_vbf_xz}

## Variable State Validation {#ariaid-title7}

Validate the state of variables. Possible variable states are
mandatory, not mandatory, read only, not read only, visible, and not visible.
{#atf-servc-cat-validate-VarState__table_tzv_cnk_xz__entry__2}{#atf-servc-cat-validate-VarState__atf-exec-order}{#atf-servc-cat-validate-VarState__atf-active}{#atf-servc-cat-validate-VarState__atf-timeout}{#atf-servc-cat-validate-VarState__atf-application-scope}{#atf-servc-cat-validate-VarState__atf-test}{#atf-servc-cat-validate-VarState__atf-step-config}{#atf-servc-cat-validate-VarState__atf-description}{#atf-servc-cat-validate-VarState__atf-notes}{#atf-servc-cat-validate-VarState__atf-cat-item-state-validation}{#atf-servc-cat-validate-VarState__atf-visible}{#atf-servc-cat-validate-VarState__atf-not-visible}{#atf-servc-cat-validate-VarState__atf-read-only}{#atf-servc-cat-validate-VarState__atf-not-read-only}{#atf-servc-cat-validate-VarState__atf-mandatory}{#atf-servc-cat-validate-VarState__atf-not-mandatory}

| Field | Description |
|-|-|
| Execution order | Integer specifying the order in which the test executes this step. As you create steps, the system automatically assigns each step an incremental value. This value causes the test to execute steps in the order that you created them in. You can change this default order by editing the Execution order values. |
| Active | Option to activate this test step for use. |
| Timeout | Number of seconds allowed before the step fails. If the validation fails, the system repeats the step until it reaches the duration of the timeout. If the validation fails after the timeout duration has passed, the step fails. |
| Application | Application scope in which the system runs this step. |
| Test | Read-only name of the test that you're adding the step to. |
| Step config | Read-only name of the step. |
| Description | Description of the test step. This field value is automatically set based on the field values of the test step. This field appears after the test step is submitted. |
| Notes | Notes about the test step. |
| Catalog item | Catalog item for which you want to validate the state. Note: You should have access to this catalog item. |
| Visible | List of the catalog item variables that must be visible for the step to pass. |
| Not visible | List of the catalog item variables that must be hidden for the step to pass. |
| Read only | List of the catalog item variables that must be read-only for the step to pass. |
| Not read only | List of the catalog item variables that must not be read-only for the step to pass. |
| Mandatory | List of the catalog item variables that must be mandatory for the step to pass. |
| Not mandatory | List of the catalog item variables that must not be mandatory for the step to pass. |
[Table 6. Inputs]

{#atf-servc-cat-validate-VarState__table_tzv_cnk_xz}

## Validate Price and Recurring Price {#ariaid-title8}

Validate price and recurring price of a catalog item. Use this step
after opening a catalog item page using the Open a Catalog Item step, and
before using the Order Catalog Item step.
{#atf-servc-cat-validate-price-recprice__table_a1r_zpk_xz__entry__2}{#atf-servc-cat-validate-price-recprice__atf-exec-order}{#atf-servc-cat-validate-price-recprice__atf-active}{#atf-servc-cat-validate-price-recprice__atf-application-scope}{#atf-servc-cat-validate-price-recprice__atf-test}{#atf-servc-cat-validate-price-recprice__atf-step-config}{#atf-servc-cat-validate-price-recprice__atf-description}{#atf-servc-cat-validate-price-recprice__atf-notes}{#atf-servc-cat-validate-price-recprice__atf-price}{#atf-servc-cat-validate-price-recprice__atf-recurring-price}{#atf-servc-cat-validate-price-recprice__atf-recurring-price-frequency}

| Field | Description |
|-|-|
| Execution order | Integer specifying the order in which the test executes this step. As you create steps, the system automatically assigns each step an incremental value. This value causes the test to execute steps in the order that you created them in. You can change this default order by editing the Execution order values. |
| Active | Option to activate this test step for use. |
| Application | Application scope in which the system runs this step. |
| Test | Read-only name of the test that you're adding the step to. |
| Step config | Read-only name of the step. |
| Description | Description of the test step. This field value is automatically set based on the field values of the test step. This field appears after the test step is submitted. |
| Notes | Notes about the test step. |
| Price | Price of the catalog item for the step to pass. |
| Recurring price | Recurring price of the catalog item for the step to pass. |
| Recurring price frequency | Recurring price frequency of the catalog item for the step to pass. |
[Table 7. Inputs]

{#atf-servc-cat-validate-price-recprice__table_a1r_zpk_xz}

## Add Item to Shopping Cart {#ariaid-title9}

Add a catalog item to the shopping cart. Use this step after opening a catalog item
page using the Open a Catalog Item step. After this step, you cannot use any other steps on the
catalog item.
{#atf-servc-cat-add-item-shopcart__table_g5z_tqk_xz__entry__2}{#atf-servc-cat-add-item-shopcart__atf-exec-order}{#atf-servc-cat-add-item-shopcart__atf-active}{#atf-servc-cat-add-item-shopcart__atf-timeout}{#atf-servc-cat-add-item-shopcart__atf-application-scope}{#atf-servc-cat-add-item-shopcart__atf-test}{#atf-servc-cat-add-item-shopcart__atf-step-config}{#atf-servc-cat-add-item-shopcart__atf-description}{#atf-servc-cat-add-item-shopcart__atf-notes}{#atf-servc-cat-add-item-shopcart__atf-assert-type-add-item}

| Field | Description |
|-|-|
| Execution order | Integer specifying the order in which the test executes this step. As you create steps, the system automatically assigns each step an incremental value. This value causes the test to execute steps in the order that you created them in. You can change this default order by editing the Execution order values. |
| Active | Option to activate this test step for use. |
| Timeout | Number of seconds allowed before the step fails. If the validation fails, the system repeats the step until it reaches the duration of the timeout. If the validation fails after the timeout duration has passed, the step fails. |
| Application | Application scope in which the system runs this step. |
| Test | Read-only name of the test that you're adding the step to. |
| Step config | Read-only name of the step. |
| Description | Description of the test step. This field value is automatically set based on the field values of the test step. This field appears after the test step is submitted. |
| Notes | Notes about the test step. |
| Assert Type | Criteria for the test to pass. Successfully added item to Shopping Cart :   Test passes only if the catalog item is successfully added to the shopping cart. Cannot add item to Shopping Cart :   Test passes only if the catalog item cannot be added to the shopping cart. |
[Table 8. Inputs]

{#atf-servc-cat-add-item-shopcart__table_g5z_tqk_xz} {#atf-servc-cat-add-item-shopcart__d5b_d2p_tw__entry__2}

| Field | Description |
|-|-|
| cart_item_id | The sys_id of the added catalog item. |
[Table 9. Outputs]

{#atf-servc-cat-add-item-shopcart__d5b_d2p_tw}

## Order Catalog Item {#ariaid-title10}

Clicks Order Now for a catalog item. Use this step after opening a catalog item page using the Open a Catalog Item step.
After this step, you cannot use any other steps on the catalog item. If the two-step checkout is false, a request is generated for the catalog item. If the two-step checkout is true, you are redirected to the cart preview
page.
{#atf-servc-cat-order-cat-item__table_wtz_hrk_xz__entry__2}{#atf-servc-cat-order-cat-item__atf-exec-order}{#atf-servc-cat-order-cat-item__atf-active}{#atf-servc-cat-order-cat-item__atf-timeout}{#atf-servc-cat-order-cat-item__atf-application-scope}{#atf-servc-cat-order-cat-item__atf-test}{#atf-servc-cat-order-cat-item__atf-step-config}{#atf-servc-cat-order-cat-item__atf-description}{#atf-servc-cat-order-cat-item__atf-notes}{#atf-servc-cat-order-cat-item__atf-assert-type-order-catalog-item}

| Field | Description |
|-|-|
| Execution order | Integer specifying the order in which the test executes this step. As you create steps, the system automatically assigns each step an incremental value. This value causes the test to execute steps in the order that you created them in. You can change this default order by editing the Execution order values. |
| Active | Option to activate this test step for use. |
| Timeout | Number of seconds allowed before the step fails. If the validation fails, the system repeats the step until it reaches the duration of the timeout. If the validation fails after the timeout duration has passed, the step fails. |
| Application | Application scope in which the system runs this step. |
| Test | Read-only name of the test that you're adding the step to. |
| Step config | Read-only name of the step. |
| Description | Description of the test step. This field value is automatically set based on the field values of the test step. This field appears after the test step is submitted. |
| Notes | Notes about the test step. |
| Assert type | Criteria for the test to pass. Successfully ordered Catalog Item :   Test passes only if the catalog item is successfully ordered. Cannot order Catalog Item :   Test passes only if the catalog item cannot be ordered. |
[Table 10. Inputs]

{#atf-servc-cat-order-cat-item__table_wtz_hrk_xz} {#atf-servc-cat-order-cat-item__d5b_d2p_tw__entry__2}

| Field | Description |
|-|-|
| request_id | The sys_id of the created catalog request. |
| cart | the sys_id of the cart holding the catalog item. |
[Table 11. Outputs]

{#atf-servc-cat-order-cat-item__d5b_d2p_tw}

## Submit Record Producer {#ariaid-title11}

Submits the current record producer. Use this step after opening the record producer
page using the Open a Record producer step. After this step, you cannot use any other steps on
the catalog item.
{#atf-servc-cat-sumbit-record-producer__table_rhb_vrk_xz__entry__2}{#atf-servc-cat-sumbit-record-producer__atf-exec-order}{#atf-servc-cat-sumbit-record-producer__atf-active}{#atf-servc-cat-sumbit-record-producer__atf-timeout}{#atf-servc-cat-sumbit-record-producer__atf-application-scope}{#atf-servc-cat-sumbit-record-producer__atf-test}{#atf-servc-cat-sumbit-record-producer__atf-step-config}{#atf-servc-cat-sumbit-record-producer__atf-description}{#atf-servc-cat-sumbit-record-producer__atf-notes}{#atf-servc-cat-sumbit-record-producer__atf-assert-type-submit-record-producer}

| Field | Description |
|-|-|
| Execution order | Integer specifying the order in which the test executes this step. As you create steps, the system automatically assigns each step an incremental value. This value causes the test to execute steps in the order that you created them in. You can change this default order by editing the Execution order values. |
| Active | Option to activate this test step for use. |
| Timeout | Number of seconds allowed before the step fails. If the validation fails, the system repeats the step until it reaches the duration of the timeout. If the validation fails after the timeout duration has passed, the step fails. |
| Application | Application scope in which the system runs this step. |
| Test | Read-only name of the test that you're adding the step to. |
| Step config | Read-only name of the step. |
| Description | Description of the test step. This field value is automatically set based on the field values of the test step. This field appears after the test step is submitted. |
| Notes | Notes about the test step. |
| Assert Type | Criteria for the test to pass. Successfully submitted Record Producer :   Test passes only if the record producer is submitted successfully. Cannot submit Record Producer :   Test passes only if the record producer cannot be submitted. |
[Table 12. Inputs]

{#atf-servc-cat-sumbit-record-producer__table_rhb_vrk_xz} {#atf-servc-cat-sumbit-record-producer__d5b_d2p_tw__entry__2}

| Field | Description |
|-|-|
| record_id | The sys_id of target record of the record producer. |
[Table 13. Outputs]

{#atf-servc-cat-sumbit-record-producer__d5b_d2p_tw}

