Tutorials and samples

Requirements:

  1. All required Agent Systems have been configured (see Agent Configuration to learn how to do that).

  2. Synchronization of all required Agent Systems has been done (see Synchronization with Agent system section).

  3. PRO only. Since of 2310 Figaf Tool enables AM/BI logging during creating a recording request or running a test case if ICO Logging messages logging approach is used for the related PRO agent or integration objects. So if you would like to test PRO scenarios with ICO Logging and the scenario relates to one of the following cases:

    • scenario has single receiver interface for one receiver with non-empty condition - condition is lost during update through public web service, so, it’s required to recover it.

    • adapter engine name for wildcard sender ICOs (when it’s not empty, i.e., decentral adapter engine is configured) - WS model doesn’t have that parameter at all so that it’s required to update it after upload.

    then additional SAP PRO client libraries must be available in runtime classpath. They are not included into the build, so they should be added to a folder (you can create libs folder in the folder with jdbc driver) and then the path to that libs folder should be passed through -Dloader.path parameter in the bootstrap command (see that section). If any of these libraries are missing, you will see the following error during transport creation or checking imported objects:

    missing dependencies error

    Required libraries:

    • com.sap.aii.utilxi.core.jar - can be downloaded from <PRO system root url>/dir/directory/com.sap.aii.utilxi.core.jar

    • com.sap.xpi.ib.core.jar - can be downloaded from <PRO system root url>/dir/directory/com.sap.xpi.ib.core.jar

    • com.sap.xpi.ibdir.core.jar - can be donwloaded from <PRO system root url>/dir/directory/com.sap.xpi.ibdir.core.jar

    • sap.com~tc~bl~guidgenerator~impl.jar - can be downloaded from <PRO system root url>/dir/directory/sap.com~tc~bl~guidgenerator~impl.jar

    If some of additional libraries aren’t in the classpath, the corresponding changelist will be rejected.

    AM/BI logging settings aren’t automatically updated for receiver wildcard ICOs. You have to enable the settings manually.

  4. CPI only. If you would like to test IFlow with nested splitters and/or multicasts, it’s required to manually add/update special header FigafMulticastIndex after each multicast (for each branch) and FigafSplitIndex after each splitter. At first time that headers should be just initialized with the value of CamelMulticastIndex and CamelSplitIndex accordingly. For nested splitters/multicasts it should append a new context value: <multicast index from the top level multicast>_<multicast index from the nested multicast>. For example: FigafMulticastIndex: 2_3_4 - that value means that message passed 2nd branch of the 1st multicast, then 3rd branch of the 2ns nested multicast then 4th branch of the 3rd nested multicast.

  5. Api Management only. If instance is run on SAP BTP deployment, Cloud Foundry,configure corresponding API Provider. Otherwise, configure subaccount and mapping in Cloud Connector, related destination in SAP BTP Cockpit and corresponding API Provider.

Default name of API Provider used by the tool is FigafTestingToolApiProvider, but you can define any name and set it to irt.testing.api-management.figaf-api-provider bootstrap property.

The tool creates Key Value Map FigafTestingToolKVM during recording and updates it during testing.

1. E2e testing of scenario (common use case)

In this section we describe the standard use case with e2e testing of scenario.

  1. Go to the Integration Objects tab on the Testing Tool page.

  2. Select required Agent and run synchronization (see Synchronization with Agent system section).

  3. Choose the integration objects that you want to create test cases for.

  4. Click on Record messages. It opens Create recording requests dialog box.

    create recording request
  5. Enter Title of created Test Suite (e.g. Test Suite 1) and click on Save. If chosen objects haven’t been licensed yet, you will see the following error:

    request license testing error

    Click on Request missing licenses to update object licenses.

    After confirming the dialog box, Test Suite: Test Suite 1 page is opened.

    test suite new recordings
  6. Send the messages to the scenario or wait for messages if the scenario is scheduled.

  7. Select all recordings and click on Poll remote messages.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

    It opens Polling results dialog box.

    polling results
  8. When Status of all recordings is COMPLETED, close the dialog box.

  9. Select all recordings and click on play with plus. It opens Test Case Creation dialog box, where you can configure:

    1. Test Objects for new test case.

    2. Test Case Type - REGRESSION or BASELINE.

      Regression testing - app sends prepared input message from test case to the integration scenario and then compares actual output with prepared expected output.

      Baseline testing - app records a full message group (inbound and outbound messages) from integration scenario relying on external natural trigger, then compares that message group with the related message group in test case.

    3. Landscape - binary landscape used to identify development object. So if it’s empty, Agent Object must be licensed for testing. If Landscape is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI.

    4. Msg Groups Count that will be used in new test case.

  10. Once you finish, click on Create Test Case(s).

    Test Objects are resolved automatically by the following rules:

    • For CPI agents objects with the same Technical Name will be used.

    • For PRO agents:

      • Scenario mappings is used (if it’s configured).

      • If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.

  11. Go to the LINKED TEST CASES tab.

  12. To run created test suite (it runs all linked test cases) click on run.

  13. Go to the LAST RESULT tab.

  14. Click on Poll remote results.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

    When polling is finished, close the dialog box clicking on Close.

    If data in the table is not refreshed, click on refresh.

  15. You can see last test suite run results in the table.

    last result with errors
  16. To check details of exact test run result click on its view results button. It opens Test Run Details page.

    test run details page
  17. To open diff viewer and check differences between expected and actual messages, click on the inspected item’s menu button and then click on Diffs. It opens Differences dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.

    Add items and message properties to ignore list once.

    differences add to ignore list
  18. When you finish with adding items and message properties to ignore list, close the dialog box and recompare results clicking on check.

  19. To view all Test Suite run results go to the RESULTS HISTORY tab on test suite page.

2. E2e testing of scenario (fetch chosen message groups, PRO scenarios except RDs)

In this section we describe e2e testing of scenario using fetch chosen message groups recording policy (since of 2209 Figaf Tool supports this feature). The feature is available for PRO scenarios except RDs when PRO Agent has Messages logging approach equals to SAP Log Module or ICO Logging.

  1. Go to the Integration Objects tab on the Testing Tool page.

  2. Select required Agent and run synchronization (see Synchronization with Agent system section).

  3. Choose the integration objects that you want to create test cases for.

  4. Click on Record messages. It opens Create recording requests dialog box.

    create recording request
  5. Enter Title of created Test Suite (e.g. Test Suite 1), choose 'Fetch chosen message groups'. Once it’s chosen, Chosen root messages can be configured by clicking on configuration button. It opens search message groups dialog where you can select message groups:

    search message groups dialog

    Once the data is saved, configure message groups dialog is opened:

    configure message groups dialog

    You can configure root message groups by adding them manually, searching for them and deleting. Once the configuration is saved, you will be returned to Create recording requests dialog. Click on Save to create recordings. If chosen objects haven’t been licensed yet, you will see the following error:

    request license testing error

    Click on Request missing licenses to update object licenses.

    After confirming the dialog box, Polling results dialog box is opened.

    polling results
  6. Select all recordings and click on play with plus. It opens Test Case Creation dialog box, where you can configure:

    1. Test Objects for new test case.

    2. Test Case Type - REGRESSION or BASELINE.

      Regression testing - app sends prepared input message from test case to the integration scenario and then compares actual output with prepared expected output.

      Baseline testing - app records a full message group (inbound and outbound messages) from integration scenario relying on external natural trigger, then compares that message group with the related message group in test case.

    3. Landscape - binary landscape used to identify development object. So if it’s empty, Agent Object must be licensed for testing. If Landscape is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI.

    4. Msg Groups Count that will be used in new test case.

  7. Once you finish, click on Create Test Case(s).

    Test Objects are resolved automatically by the following rules:

    • For CPI agents objects with the same Technical Name will be used.

    • For PRO agents:

      • Scenario mappings is used (if it’s configured).

      • If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.

  8. Go to the LINKED TEST CASES tab.

  9. To run created test suite (it runs all linked test cases) click on run.

  10. Go to the LAST RESULT tab.

  11. Click on Poll remote results.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

    When polling is finished, close the dialog box clicking on Close.

    If data in the table is not refreshed, click on refresh.

  12. You can see last test suite run results in the table.

    last result with errors
  13. To check details of exact test run result click on its view results button. It opens Test Run Details page.

    test run details page
  14. To open diff viewer and check differences between expected and actual messages, click on the inspected item’s menu button and then click on Diffs. It opens Differences dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.

    Add items and message properties to ignore list once.

    differences add to ignore list
  15. When you finish with adding items and message properties to ignore list, close the dialog box and recompare results clicking on check.

  16. To view all Test Suite run results go to the RESULTS HISTORY tab on test suite page.

3. E2e testing of receiver determination (PRO, dual stack system)

In this section we describe a use case with e2e testing of receiver determination (since of 2.12 Figaf Tool supports this feature).

Agent System should be configured with enabled dual stack recording (property Enable dual stack recording on Agent Configuration).

  1. Go to the Integration Objects tab on the Testing Tool page.

  2. Select required Agent and run synchronization (see Synchronization with Agent system section).

  3. Choose the integration objects that you want to create test cases for.

  4. Click on Record messages. It opens Create recording requests dialog box.

    rd create recording request
  5. Enter Title of created Test Suite (e.g. Test Suite 1), choose 'RD historic lookup period' (the left bound is calculated as current time minus specified lookup period. E.g., if 'X hours' lookup period is selected, then ALL messages which satisfy interface filter and have been sent during last X hours will be polled), and click on Save. If chosen objects haven’t been licensed yet, you will see the following error:

    request license testing error

    Click on Request missing licenses to update object licenses.

    After confirming the dialog box, Test Suite: Test Suite 1 page is opened.

    rd test suite new recordings
  6. Trigger agent scenario.

  7. Select all recordings and click on Poll remote messages.

    It opens Polling results dialog box.

    polling results
  8. When Status of all recordings is COMPLETED, close the dialog box.

  9. Select all recordings and click on play with plus. It opens Test Case Creation dialog box, where you can configure:

    1. Test Objects for new test case.

    2. Test Case Type - REGRESSION or BASELINE.

      Regression testing - app sends prepared input message from test case to the integration scenario and then compares actual output with prepared expected output.

      Baseline testing - app records a full message group (inbound and outbound messages) from integration scenario relying on external natural trigger, then compares that message group with the related message group in test case.

    3. Landscape - binary landscape used to identify development object. So if it’s empty, Agent Object must be licensed for testing. If Landscape is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI.

    4. Msg Groups Count that will be used in new test case.

  10. Once you finish, click on Create Test Case(s).

    Test Objects are resolved automatically by the following rules:

    • For CPI agents objects with the same Technical Name will be used.

    • For PRO agents:

      • Scenario mappings is used (if it’s configured).

      • If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.

  11. Go to the LINKED TEST CASES tab.

  12. To run created test suite (it runs all linked test cases) click on run.

  13. Go to the LAST RESULT tab.

  14. Wait for messages to be polled (refresh the page from time to time).

    If data in the table is not refreshed, click on refresh.

  15. You can see last test suite run results in the table.

    last result with errors
  16. To check details of exact test run result click on its view results button. It opens Test Run Details page.

    test run details page
  17. To open diff viewer and check differences between expected and actual messages, click on the inspected item’s menu button and then click on Diffs. It opens Differences dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.

    Add items and message properties to ignore list once.

    differences add to ignore list
  18. When you finish with adding items and message properties to ignore list, close the dialog box and recompare results clicking on check.

  19. To view all Test Suite run results go to the RESULTS HISTORY tab on test suite page.

4. E2e secured testing of scenario with sensitive data (common use case)

Secured testing with sensitive data limits the access granted to developers, to ensure they will not see confidential data. Such testing can be used when your test data is confidential and it isn’t advisable to share this information with people that have not been cleared for it.

Below we describe the standard use case with e2e secured testing of scenario with sensitive data (since of 2.12 Figaf Tool supports this feature).

Agent System should be configured with confidential data (property Has confidential data on Agent Configuration).

Testing with sensitive data is run on secured test systems, so you need to configure Agent (it can be the same Agent or another) as secured (property Secured test system on Agent Configuration).

The following actions have to be done on the PRO system configured as secured to prevent browsing of sensitive payloads sent from Figaf Tool:

  1. Add the rules in SAPWebDispatcher file (e.g., <path_to_PRO_system>\SYS\global\security\data\icm_filter_rules.txt):

    if %{REMOTE_ADDR} !stricmp 127.0.0.1 [AND]
    if %{REMOTE_ADDR} !stricmp ::1  [AND]
    if %{REQUEST_METHOD} stricmp "GET" [AND]
    if %{FORMFIELD:afwmsgkey} !stricmp ""
    RegIRedirectUrl ^/webdynpro/dispatcher/sap.com/tc~lm~itsam~ui~mainframe~wd/FloorPlanApp.*$ /webdynpro/resources/figaf.com/irt-message-filter/MessagePageServlet [QSA]
    
    
    if %{REMOTE_ADDR} !stricmp 127.0.0.1 [AND]
    if %{REMOTE_ADDR} !stricmp ::1  [AND]
    if %{REQUEST_METHOD} stricmp "GET" [AND]
    if %{FORMFIELD:afwmsgkey} !stricmp ""
    RegIRedirectUrl ^/webdynpro/resources/sap.com/tc~lm~itsam~ui~mainframe~wd/FloorPlanApp.*$ /webdynpro/resources/figaf.com/irt-message-filter/MessagePageServlet [QSA]
    
    if %{REMOTE_ADDR} !stricmp 127.0.0.1 [AND]
    if %{REMOTE_ADDR} !stricmp ::1 [AND]
    if %{REQUEST_METHOD} stricmp "GET"
    RegIRedirectUrl ^/webdynpro/resources/sap.com/tc~lm~itsam~co~ui~xi~msg~wd/Components/com.sap.tc.lm.itsam.co.ui.xi.msg.ximessagedetailed.XIMessageDetailed(.*)$ /webdynpro/resources/figaf.com/irt-message-filter/MessageContentPartsServlet$1 [QSA]
    
    if %{REMOTE_ADDR} !stricmp 127.0.0.1 [AND]
    if %{REMOTE_ADDR} !stricmp ::1 [AND]
    if %{REQUEST_METHOD} stricmp "GET"
    RegIRedirectUrl ^/mdt/messagecontent$ /webdynpro/resources/figaf.com/irt-message-filter/DownloadMessageContentServlet [QSA]
  2. Restart the system.

  3. Deploy IRT-MESSAGE-FILTER-1.0.sca component.

  1. Go to the Integration Objects tab on the Testing Tool page.

  2. Select required Agent and run synchronization (see Synchronization with Agent system section).

  3. Choose the integration objects that you want to create test cases for.

  4. Click on Record messages. It opens Create recording requests dialog box.

    create recording request
  5. Enter Title of created Test Suite (e.g. Test Suite 1) and click on Save. If chosen objects haven’t been licensed yet, you will see the following error:

    request license testing error

    Click on Request missing licenses to update object licenses.

    After confirming the dialog box, Test Suite: Test Suite 1 page is opened.

    test suite new recordings
  6. Send the messages to the scenario or wait for messages if the scenario is scheduled.

  7. Select all recordings and click on Poll remote messages.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

    It opens Polling results dialog box.

    polling results
  8. When Status of all recordings is COMPLETED, close the dialog box.

  9. Select all recordings and click on play with plus. It opens Test Case Creation dialog box, where you can configure:

    1. Test Objects for new test case.

    2. Test Case Type - REGRESSION or BASELINE.

      Regression testing - app sends prepared input message from test case to the integration scenario and then compares actual output with prepared expected output.

      Baseline testing - app records a full message group (inbound and outbound messages) from integration scenario relying on external natural trigger, then compares that message group with the related message group in test case.

    3. Landscape - binary landscape used to identify development object. So if it’s empty, Agent Object must be licensed for testing. If Landscape is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI.

    4. Msg Groups Count that will be used in new test case.

  10. Once you finish, click on Create Test Case(s).

    Test Objects are resolved automatically by the following rules:

    • For CPI agents objects with the same Technical Name will be used.

    • For PRO agents:

      • Scenario mappings is used (if it’s configured).

      • If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.

    Test Objects only from secured Agents can be selected.

  11. Go to the LINKED TEST CASES tab.

  12. To run created test suite (it runs all linked test cases) click on run.

  13. Go to the LAST RESULT tab.

  14. Click on Poll remote results.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

    When polling is finished, close the dialog box clicking on Close.

    If data in the table is not refreshed, click on refresh.

  15. You can see last test suite run results in the table.

    last result with errors
  16. To check details of exact test run result click on its view results button. It opens Test Run Details page.

    test run details page
  17. To open diff viewer and check differences between expected and actual messages, click on the inspected item’s menu button and then click on Diffs. It opens Differences dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.

    Add items and message properties to ignore list once.

    If current user doesn’t have role IRTSensitivePayloadViewer, he/she will view encoded payloads, e.g.:

    encoded differences add to ignore list

    Users with role IRTSensitivePayloadViewer are allowed to view encoded and original version of payloads, e.g.:

    decoded differences add to ignore list

    To encode XML and JSON documents they are parsed and only element values and attributes (for XML) are replaced in the following way:

    • Uppercased letterX

    • Lowcased letterx

    • Number9

    • Space character → no changes

    • Symbol character#

    • Strings with length greater than 20 are truncated, is added to the end of string.

      Encoded view is supported only for XML and JSON documents. For other types payloads won’t be viewed for users without IRTSensitivePayloadViewer role.

  18. When you finish with adding items and message properties to ignore list, close the dialog box and recompare results clicking on check.

  19. To view all Test Suite run results go to the RESULTS HISTORY tab on test suite page.

5. E2e testing of Api Proxy (Api Management)

In this section we describe the standard use case with e2e testing of Api Proxy.

Requirements and notes:

If instance is run on SAP BTP deployment, Cloud Foundry,configure corresponding API Provider. Otherwise, configure subaccount and mapping in Cloud Connector, related destination in SAP BTP Cockpit and corresponding API Provider.

Default name of API Provider used by the tool is FigafTestingToolApiProvider, but you can define any name and set it to irt.testing.api-management.figaf-api-provider bootstrap property.

The tool creates Key Value Map FigafTestingToolKVM during recording and updates it during testing.

  1. Go to the Integration Objects tab on the Testing Tool page.

  2. Select required Agent and run synchronization (see Synchronization with Agent system section).

  3. Choose the integration objects that you want to create test cases for.

  4. Click on Record messages. It opens Create recording requests dialog box.

    create recording request
  5. Enter Title of created Test Suite (e.g. Test Suite 1) and click on Save. If chosen objects haven’t been licensed yet, you will see the following error:

    request license testing error

    Click on Request missing licenses to update object licenses.

    After confirming the dialog box, Test Suite: Test Suite 1 page is opened.

    test suite new recordings
  6. Send the messages to the scenario or wait for messages if the scenario is scheduled.

  7. Select all recordings and click on play with plus. It opens Test Case Creation dialog box, where you can configure:

    1. Test Objects for new test case.

    2. Test Case Type - REGRESSION.

    3. Landscape - binary landscape used to identify development object. So if it’s empty, Agent Object must be licensed for testing. If Landscape is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI.

    4. Msg Groups Count that will be used in new test case.

  8. Once you finish, click on Create Test Case(s).

    Test Objects are resolved automatically by the following rules:

    • For CPI agents objects with the same Technical Name will be used.

    • For PRO agents:

      • Scenario mappings is used (if it’s configured).

      • If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.

  9. If Api Proxy uses OAuth2 credentials, go to Api Proxy integration object page and configure Token URL, Client Id and Client Secret:

    api proxy with oauth2
  10. Go to the LINKED TEST CASES tab.

  11. To run created test suite (it runs all linked test cases) click on run.

  12. Go to the LAST RESULT tab.

  13. Wait for messages to be polled (refresh the page from time to time).

    If data in the table is not refreshed, click on refresh.

  14. You can see last test suite run results in the table.

    last result with errors
  15. To check details of exact test run result click on its view results button. It opens Test Run Details page.

    test run details page
  16. To open diff viewer and check differences between expected and actual messages, click on the inspected item’s menu button and then click on Diffs. It opens Differences dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.

    Add items and message properties to ignore list once.

    differences add to ignore list
  17. When you finish with adding items and message properties to ignore list, close the dialog box and recompare results clicking on check.

  18. To view all Test Suite run results go to the RESULTS HISTORY tab on test suite page.

6. E2e testing of B2B Scenario

In this section we describe the standard use case with e2e testing of B2B Scenario.

  1. Go to the Integration Objects tab on the Testing Tool page.

  2. Select required Agent and run synchronization (see Synchronization with Agent system section).

  3. Switch on TPM objects switch on tpm objects

  4. Choose the integration objects that you want to create test cases for.

  5. Click on Record messages. It opens Create recording requests dialog box.

    create recording request
  6. Enter Title of created Test Suite (e.g. Test Suite 1) and click on Save. If chosen objects haven’t been licensed yet, you will see the following error:

    request license testing error

    Click on Request missing licenses to update object licenses.

    After confirming the dialog box, Test Suite: Test Suite 1 page is opened.

    test suite new recordings
  7. Send the messages to the scenario or wait for messages if the scenario is scheduled.

  8. Select all recordings and click on Poll remote messages.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

    It opens Polling results dialog box.

    polling results
  9. When Status of all recordings is COMPLETED, close the dialog box.

  10. Select all recordings and click on play with plus. It opens Test Case Creation dialog box, where you can configure:

    1. Test Objects for new test case.

    2. Test Case Type - REGRESSION or BASELINE.

      Regression testing - app sends prepared input message from test case to the integration scenario and then compares actual output with prepared expected output.

      Baseline testing - app records a full message group (inbound and outbound messages) from integration scenario relying on external natural trigger, then compares that message group with the related message group in test case.

    3. Landscape - binary landscape used to identify development object. So if it’s empty, Agent Object must be licensed for testing. If Landscape is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI.

    4. Msg Groups Count that will be used in new test case.

  11. Once you finish, click on Create Test Case(s).

    Test Objects are resolved automatically by the following rules:

    • For CPI agents objects with the same Technical Name will be used.

    • For PRO agents:

      • Scenario mappings is used (if it’s configured).

      • If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.

  12. Go to the LINKED TEST CASES tab.

  13. To run created test suite (it runs all linked test cases) click on run.

  14. Go to the LAST RESULT tab.

  15. Click on Poll remote results.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

    When polling is finished, close the dialog box clicking on Close.

    If data in the table is not refreshed, click on refresh.

  16. You can see last test suite run results in the table.

    last result with errors
  17. To check details of exact test run result click on its view results button. It opens Test Run Details page.

    test run details page
  18. To open diff viewer and check differences between expected and actual messages, click on the inspected item’s menu button and then click on Diffs. It opens Differences dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.

    Add items and message properties to ignore list once.

    differences add to ignore list
  19. When you finish with adding items and message properties to ignore list, close the dialog box and recompare results clicking on check.

  20. To view all Test Suite run results go to the RESULTS HISTORY tab on test suite page.

7. E2e testing of Event Mesh topics

In this section we describe the standard use case with e2e testing of Event Mesh topics.

Requirements and notes:

  1. Define Event Mesh configuration on CPI agent configuration).

    Use different credentials for Event Mesh - Publisher and Event Mesh - Subscriber.

  2. The tool creates queues used during recording and testing.

  1. Go to the Integration Objects tab on the Testing Tool page.

  2. Select required Agent and run synchronization (see Synchronization with Agent system section).

  3. Create Event Mesh Integration following the steps:

    1. Click on menu full button and then on Create Event Mesh Integration button.

    2. Fill Name of new integration.

    3. Select Input topics that will be used by the integration.

    4. Select Output topics that will be used by the integration.

    5. Enable or disable SAP CorrelationId usage.

    6. Save the data.

  4. Choose the created Event Mesh Integration object.

  5. Click on Record messages. It opens Create recording requests dialog box.

    create recording request
  6. Enter Title of created Test Suite (e.g. Test Suite 1) and click on Save. If chosen objects haven’t been licensed yet, you will see the following error:

    request license testing error

    Click on Request missing licenses to update object licenses.

    After confirming the dialog box, Test Suite: Test Suite 1 page is opened.

    test suite new recordings
  7. Send the messages to the input topic configured for Event Mesh Integration. There are several ways to send the message to the topic:

    • Trigger the IFlow

    • Send request through public API.

  8. Select all recordings and click on play with plus. It opens Test Case Creation dialog box, where you can configure:

    1. Test Objects for new test case.

    2. Test Case Type - REGRESSION.

    3. Landscape - binary landscape used to identify development object. So if it’s empty, Agent Object must be licensed for testing. If Landscape is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI.

    4. Msg Groups Count that will be used in new test case.

  9. Once you finish, click on Create Test Case(s).

    Test Objects are resolved automatically by the following rules:

    • For CPI agents objects with the same Technical Name will be used.

    • For PRO agents:

      • Scenario mappings is used (if it’s configured).

      • If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.

  10. Go to the LINKED TEST CASES tab.

  11. To run created test suite (it runs all linked test cases) click on run.

  12. Go to the LAST RESULT tab.

  13. Wait for messages to be polled (refresh the page from time to time).

    If data in the table is not refreshed, click on refresh.

  14. You can see last test suite run results in the table.

    last result with errors
  15. To check details of exact test run result click on its view results button. It opens Test Run Details page.

    test run details page
  16. To open diff viewer and check differences between expected and actual messages, click on the inspected item’s menu button and then click on Diffs. It opens Differences dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.

    Add items and message properties to ignore list once.

    differences add to ignore list
  17. When you finish with adding items and message properties to ignore list, close the dialog box and recompare results clicking on check.

  18. To view all Test Suite run results go to the RESULTS HISTORY tab on test suite page.

8. IFlow chain testing

In this section we describe configuration and flow of IFlow chain testing.

  1. Go to the Integration Objects tab on the Testing Tool page.

  2. Select required Agent and run synchronization (see Synchronization with Agent system section).

  3. Create IFlow Chain following the steps:

    IFlow Chain is automatically created during PI→CPI Migration with Pipeline All profile.

    It’s possible to delete IFlow Chains clicking on menu full button and then on Delete IFlow Chains button.

    1. Click on menu full button and then on Create IFlow Chain button.

    2. Fill Name of IFlow Chain object.

    3. Select Sender IFlow - sender IFlow in the chain.

      Only inbound message is recorded for Sender IFlow. If it’s needed to record outbound messages as well, add the IFlow to Chained IFlows list.
    4. Select Chained IFlows - IFlows following Sender IFlow in the chain.

      All Chained IFlows must be licensed for testing.
    5. Save the data.

  4. Go back to the Integration Objects tab on the Testing Tool page.

  5. Choose the created IFlow Chain object.

  6. Click on Record messages. It opens Create recording requests dialog box.

    create recording request
  7. Enter Title of created Test Suite (e.g. Test Suite 1) and click on Save. If chosen objects haven’t been licensed yet, you will see the following error:

    request license testing error

    Click on Request missing licenses to update object licenses.

    After confirming the dialog box, Test Suite: Test Suite 1 page is opened.

    test suite new recordings
  8. Send the messages to the scenario or wait for messages if the scenario is scheduled.

  9. Select all recordings and click on Poll remote messages.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

    It opens Polling results dialog box.

    polling results
  10. When Status of all recordings is COMPLETED, close the dialog box.

  11. Select all recordings and click on play with plus. It opens Test Case Creation dialog box, where you can configure:

    1. Test Objects for new test case.

    2. Test Case Type - REGRESSION or BASELINE.

      Regression testing - app sends prepared input message from test case to the integration scenario and then compares actual output with prepared expected output.

      Baseline testing - app records a full message group (inbound and outbound messages) from integration scenario relying on external natural trigger, then compares that message group with the related message group in test case.

    3. Landscape - binary landscape used to identify development object. So if it’s empty, Agent Object must be licensed for testing. If Landscape is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI.

    4. Msg Groups Count that will be used in new test case.

  12. Once you finish, click on Create Test Case(s).

    Test Objects are resolved automatically by the following rules:

    • For CPI agents objects with the same Technical Name will be used.

    • For PRO agents:

      • Scenario mappings is used (if it’s configured).

      • If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.

  13. Go to the LINKED TEST CASES tab.

  14. To run created test suite (it runs all linked test cases) click on run.

  15. Go to the LAST RESULT tab.

  16. Click on Poll remote results.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

    When polling is finished, close the dialog box clicking on Close.

    If data in the table is not refreshed, click on refresh.

  17. You can see last test suite run results in the table.

    last result with errors
  18. To check details of exact test run result click on its view results button. It opens Test Run Details page.

    test run details page
  19. To open diff viewer and check differences between expected and actual messages, click on the inspected item’s menu button and then click on Diffs. It opens Differences dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.

    Add items and message properties to ignore list once.

    differences add to ignore list
  20. When you finish with adding items and message properties to ignore list, close the dialog box and recompare results clicking on check.

  21. To view all Test Suite run results go to the RESULTS HISTORY tab on test suite page.

9. Baseline test case. Initialize inbound order number from SAP_ApplicationID

In this section we describe configuration and flow of baseline testing of CPI IFlows when inbound messages are ordered using SAP_ApplicationID value.

  1. Go to the Integration Objects tab on the Testing Tool page.

  2. Select required Agent and run synchronization (see Synchronization with Agent system section).

  3. Go to the Integration Object details that you want to create test cases for.

  4. Enable Initialize inbound order number from SAP_ApplicationID and save configuration.

  5. Choose the integration objects that you want to create test cases for.

  6. Click on Record messages. It opens Create recording requests dialog box.

    create recording request
  7. Enter Title of created Test Suite (e.g. Test Suite 1) and click on Save. If chosen objects haven’t been licensed yet, you will see the following error:

    request license testing error

    Click on Request missing licenses to update object licenses.

    After confirming the dialog box, Test Suite: Test Suite 1 page is opened.

    test suite new recordings
  8. Send the messages to the scenario or wait for messages if the scenario is scheduled.

  9. Select all recordings and click on Poll remote messages.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

    It opens Polling results dialog box.

    polling results
  10. When Status of all recordings is COMPLETED, close the dialog box.

  11. Select all recordings and click on play with plus. It opens Test Case Creation dialog box, where you can configure:

    1. Test Objects for new test case.

    2. Test Case Type - BASELINE.

    3. Landscape - binary landscape used to identify development object. So if it’s empty, Agent Object must be licensed for testing. If Landscape is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI.

    4. Msg Groups Count that will be used in new test case.

  12. Once you finish, click on Create Test Case(s).

    Test Objects are resolved automatically by the following rules:

    • For CPI agents objects with the same Technical Name will be used.

    • For PRO agents:

      • Scenario mappings is used (if it’s configured).

      • If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.

  13. Go to the LINKED TEST CASES tab.

  14. To run created test suite (it runs all linked test cases) click on run.

  15. Go to the LAST RESULT tab.

  16. Send the messages to the scenario or wait for messages if the scenario is scheduled.

  17. Send request to public API /v1/test-run-result/inbound-correlation defining testRunId and correlation between old and new order numbers. The format should be:

    {
      "testRunId": "ac466410-276a-45dd-b755-55b7e3717fe7",
      "oldCorrelationIdToNew": {
        "2": "5",
        "1": "4i"
      },
      "startPollingAfterCorrelation": true
    }
  18. Click on Poll remote results.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

    When polling is finished, close the dialog box clicking on Close.

    If data in the table is not refreshed, click on refresh.

  19. You can see last test suite run results in the table.

    last result with errors
  20. To check details of exact test run result click on its view results button. It opens Test Run Details page.

    test run details page
  21. To open diff viewer and check differences between expected and actual messages, click on the inspected item’s menu button and then click on Diffs. It opens Differences dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.

    Add items and message properties to ignore list once.

    differences add to ignore list
  22. When you finish with adding items and message properties to ignore list, close the dialog box and recompare results clicking on check.

  23. To view all Test Suite run results go to the RESULTS HISTORY tab on test suite page.

10. Manual test case creation (PRO)

Sometimes automatic message recording isn’t appropriate (e.g. hundreds of them are used). So it is possible to manually create test cases from prepared messages:

  1. Go to the Integration Objects tab on the Testing Tool page.

  2. Select required Agent (PRO) and run synchronization (see Synchronization with Agent system section).

  3. Choose the integration object for which you want to create test case.

  4. Click on Create Test Case button. It opens Test case creation page:

    PRO test case creation page
  5. Configure test case:

    1. Test Suite - new or existent one.

    2. Agent Object for new test case.

    3. Test Objects for new test case.

    4. Landscape - binary landscape used to identify development object. So if it’s empty, Agent Object must be licensed for testing. If Landscape is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI.

    5. Test case Type - REGRESSION or BASELINE.

      Regression testing - app sends prepared input message from test case to the integration scenario and then compares actual output with prepared expected output.

      Baseline testing - app records a full message group (inbound and outbound messages) from integration scenario relying on external natural trigger, then compares that message group with the related message group in test case.

    6. Title of new test case.

    7. Message.

    8. Partner.

    9. Upload messages from:

      • Archive: load archive from your local environment.

      • Table: configure inbound and outbound messages and their properties, load payloads.

      • Archive from server: define the path to archive from server.

        You can enable Forcibly calculate order numbers using expressions from recording configuration when Upload messages from is Archive or Archive from server. If it’s enabled, order numbers will be recalculated during test case upload. Settings Order expressions and Use alphanumeric order number (configured on Recording Configuration tab of Integration Object page) will be used during recalculation.

        Archive has to contain all inbound and outbound messages and package-info.json file, that you can create from Test case creation page:

        1. Select Archive type of message uploading.

        2. Click on Build package-info.json button. It opens Create package-info.json for manual upload page:

          create package info json for manual upload page
        3. Configure all properties carefully.

          For example, we have 3 inbound messages and 1 outbound message per inbound message and we don’t use DC filename template. We have prepared the following payloads:

          folder with payloads for manual test case creation

          Then our configuration will be:

          example create package info json for manual upload page

          It is almost done. Only configuration of From and To components is left.

          If you change Outbound messages count per one inbound, click on Build JSON button.

        4. Once you finish with configuration click on Build JSON button and Download package-info.json.

          Also, you can view built json clicking on hide.

        5. Move downloaded package-info.json file to the folder with payloads and create an archive.

  6. Once you finish with configuration, click on Create Test Case button. It creates test suite and test case and links them. As the result Test Case Details page will be opened:

    tc info
  7. To run created test case go to Testing Results tab and click on run button. You will see results in the table.

  8. Select unfinished results and click on Poll remote messages.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

  9. Inspect result clicking on its view results button. It opens Test Run Details page.

    test run details page
  10. To open diff viewer and check differences between expected and actual messages, click on the inspected item’s menu button and then click on Diffs. It opens Differences dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.

    Add items and message properties to ignore list once.

    differences add to ignore list
  11. When you finish with adding items and message properties to ignore list, close the dialog box and navigate back to Test Case Details page clicking on back.

  12. Run test case again clicking on run.

  13. Poll remote messages again clicking on Poll remote messages.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

11. Manual test case creation (CPI)

Sometimes automatic message recording isn’t appropriate (e.g. hundreds of them are used). So it is possible to manually create test cases from prepared messages:

  1. Go to the Integration Objects tab on the Testing Tool page.

  2. Select required Agent (CPI) and run synchronization (see Synchronization with Agent system section).

  3. Choose the integration object for which you want to create test case.

  4. Click on Create Test Case button. It opens Test case creation page:

    CPI test case creation page
  5. Configure test case:

    1. Test Suite - new or existent one.

    2. Agent Object for new test case.

    3. Test Objects for new test case.

    4. Landscape - binary landscape used to identify development object. So if it’s empty, Agent Object must be licensed for testing. If Landscape is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI.

    5. Test case Type - REGRESSION or BASELINE.

      Regression testing - app sends prepared input message from test case to the integration scenario and then compares actual output with prepared expected output.

      Baseline testing - app records a full message group (inbound and outbound messages) from integration scenario relying on external natural trigger, then compares that message group with the related message group in test case.

    6. Title of new test case.

    7. Message.

    8. Partner.

    9. Upload messages from:

      • Table: configure inbound and outbound messages and their configuration, load payloads. Example of message properties file:

        [
          {
            "name": "header1",
            "value": "value",
            "propertyType": "TRACE_MESSAGE_HEADER",
            "_comment" : "supported property types: TRACE_MESSAGE_HEADER, TRACE_MESSAGE_EXCHANGE, RUN_STEP_PROPERTY"
          },
          {
            "name": "header2",
            "value": null,
            "propertyType": "TRACE_MESSAGE_EXCHANGE"
          }
        ]
  6. Once you finish with configuration, click on Create Test Case button. It creates test suite and test case and links them. As the result Test Case Details page will be opened:

    tc info
  7. To run created test case go to Testing Results tab and click on run button. You will see results in the table.

  8. Select unfinished results and click on Poll remote messages.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

  9. Inspect result clicking on its view results button. It opens Test Run Details page.

    test run details page
  10. To open diff viewer and check differences between expected and actual messages, click on the inspected item’s menu button and then click on Diffs. It opens Differences dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.

    Add items and message properties to ignore list once.

    differences add to ignore list
  11. When you finish with adding items and message properties to ignore list, close the dialog box and navigate back to Test Case Details page clicking on back.

  12. Run test case again clicking on run.

  13. Poll remote messages again clicking on Poll remote messages.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

12. Migrate test cases from PI to CPI

PI test case has been created (see E2e testing of scenario (common use case)).

At least one CPI agent is configured.

  1. Go to Integration Objects page.

  2. Select PI agent.

  3. Click on required object Interface Name. It opens Integration Object Details page.

  4. Go to Agent Test Cases tab.

  5. Select previously created test case.

  6. Click on menu full and then on Migrate to CPI button.

    It opens Migrate Test Cases dialog:

    migrate test cases dialog

    Where you can configure test suite (new or existent one) and CPI IFlow or IFlow Chain created manually or created during PI to CPI migration with Pipeline All profile. If you want to open Test Suite page, enable Open Test Suite’s page after test cases migration option.

    If selected IFlow was migrated from PI agent using PI to CPI migration feature, you are able to configure mapping between platforms. Since 2208.1 it’s possible to configure IFlow element ids in BPMN Model with viewer dialog clicking on configuration button.

    Once you configure all fields, click on Save. It opens confirmation:

    migrate test cases confirmation

    As the result, new test case will be created and attached to the test suite.

    During the copying of the messages, interface related parameters (stepId, activity, branchId) of the last stage are initialized by value ${determineDuringFirstRun}. For other stages for bridges and BE scenario value ${shouldBeMappedManually} is used. Original stage number is temporary saved in the step number, then it will be replaced by real value - it needs for BE and bridges to distinguish different original stages.

  7. Run created test case (either run test suite (e.g. from Test Suites page) or test case separately (e.g. from Test Cases page)).

  8. Open Test Run Details page (e.g. view Test Case Details page, go to Testing Results tab, click on result’s view results button).

    During the first run of the migrated test case, interface metadata of the last stage (4th for BE or bridges, 2nd for other) is automatically updated. For BE/bridges, 2nd stage entries will have UNFINISHED state. You can chose, which UNEXPECTED message should match this result: click on message’s menu and click on Map interface metadata.

    Once unexpected testing result matched with the unfinished result, missing data is copied to UNFINISHED result, UNEXPECTED results are deleted, and if it needs, the message are sent to the comparison.

13. Migrate test cases from ICO to B2B Scenario

PI test case has been created (see E2e testing of scenario (common use case)).

At least one CPI agent is configured.

  1. Go to Integration Objects page.

  2. Select PI agent.

  3. Click on required object Interface Name. It opens Integration Object Details page.

  4. Go to Agent Test Cases tab.

  5. Select previously created test case.

  6. Click on menu full and then on Migrate to CPI button.

    It opens Migrate Test Cases dialog:

    migrate test case to b2b sceanrio

    Where you can configure test suite (new or existent one) and select B2B Scenario object. If you want to open Test Suite page, enable Open Test Suite’s page after test cases migration option.

    Once you configure all fields, click on Save. It opens confirmation:

    migrate test cases confirmation

    As the result, new test case will be created and attached to the test suite.

    During the copying of the messages, interface related parameters (stepId, activity, branchId) of the last stage are initialized by value ${determineDuringFirstRun}. For other stages for bridges and BE scenario value ${shouldBeMappedManually} is used. Original stage number is temporary saved in the step number, then it will be replaced by real value - it needs for BE and bridges to distinguish different original stages.

  7. Run created test case (either run test suite (e.g. from Test Suites page) or test case separately (e.g. from Test Cases page)).

  8. Open Test Run Details page (e.g. view Test Case Details page, go to Testing Results tab, click on result’s view results button).

    During the first run of the migrated test case, interface metadata of the last stage (4th for BE or bridges, 2nd for other) is automatically updated. For BE/bridges, 2nd stage entries will have UNFINISHED state. You can chose, which UNEXPECTED message should match this result: click on message’s menu and click on Map interface metadata.

    Once unexpected testing result matched with the unfinished result, missing data is copied to UNFINISHED result, UNEXPECTED results are deleted, and if it needs, the message are sent to the comparison.

14. Send Message Requests

Since 2506 Figaf Tool supports message sending through HTTPS, IDOC, SOAP or ProcessDirect adapters to IFlows.

To send message follow the steps:

  1. Go to the Send Message tab on the Testing Tool section:

    send message requests page
  2. Create Request and configure the data:

    1. Name of the request.

    2. Integration Object used to send messages.

    3. Collection is new collection or existing one.

    4. URL used to send messages, will be filtered for unsupported adapter types.

    5. Adapter Type related to the URL.

      create send message request
  3. Once everything is configured, save the request and run it.

15. Run send message request for recording

Since 2508 Figaf Tool supports message sending for recording through HTTPS, IDOC and ProcessDirect adapters to IFlows.

To send message for recording:

  1. Go to the Send Message tab on the Testing Tool section.

  2. Go to a send message request.

  3. Click on Run for recording.

    It enables Trace mode for the IFlow and saves SAP_MessageProcessingLogId for the message.

  4. Click on Record messages. Select SAP_MessageProcessingLogIds and continue. It opens Create recording requests dialog box.

    create recording request
  5. Enter Title of created Test Suite (e.g. Test Suite 1) and click on Save. If chosen objects haven’t been licensed yet, you will see the following error:

    request license testing error

    Click on Request missing licenses to update object licenses.

    After confirming the dialog box, Test Suite: Test Suite 1 page is opened.

    test suite new recordings

    It opens Polling results dialog box.

    polling results
  6. When Status of all recordings is COMPLETED, close the dialog box.

  7. Select all recordings and click on play with plus. It opens Test Case Creation dialog box, where you can configure:

    1. Test Objects for new test case.

    2. Test Case Type - REGRESSION or BASELINE.

      Regression testing - app sends prepared input message from test case to the integration scenario and then compares actual output with prepared expected output.

      Baseline testing - app records a full message group (inbound and outbound messages) from integration scenario relying on external natural trigger, then compares that message group with the related message group in test case.

    3. Landscape - binary landscape used to identify development object. So if it’s empty, Agent Object must be licensed for testing. If Landscape is selected, related composite landscape will be used for license check and source development object must be licensed for testing. See landscapes configuration PRO and CPI.

    4. Msg Groups Count that will be used in new test case.

  8. Once you finish, click on Create Test Case(s).

    Test Objects are resolved automatically by the following rules:

    • For CPI agents objects with the same Technical Name will be used.

    • For PRO agents:

      • Scenario mappings is used (if it’s configured).

      • If test agent contains ICO with virtual receiver and ICO without receiver, then ICO without receiver will be mapped.

  9. Go to the LINKED TEST CASES tab.

  10. To run created test suite (it runs all linked test cases) click on run.

  11. Go to the LAST RESULT tab.

  12. Click on Poll remote results.

    Since Figaf Tool 2.15 automatic polling is added for SAP CPI Agents. Once the messages have been run successfully, automatic polling is started.

    Since Figaf Tool 2.15.2 active polling statistics can be viewed. If there is polling in progress for the integration objects and you open another poll remote data dialog, then

    • recordings/test runs which are in both polling requests will be marked as SKIPPED_AS_DUPLICATE and statistics will be copied from original item and shown on UI in the new one.

    • recordings/test runs which are not in the original polling request will be SKIPPED in the new one.

    Since Figaf Tool 2305 polling will not be started if there is already a started polling requests with same objects in progress or polling has been already completed for all selected objects.

    If you have polled almost all messages and you just need to poll small number of messages to finish testing, you can enable option Ignore messages cache during polling on Application configuration page. When this option is enabled, already polled messages won’t be skipped. It affects performance when the amount of messages is large and you just need to poll small number to finish testing.

    When polling is finished, close the dialog box clicking on Close.

    If data in the table is not refreshed, click on refresh.

  13. You can see last test suite run results in the table.

    last result with errors
  14. To check details of exact test run result click on its view results button. It opens Test Run Details page.

    test run details page
  15. To open diff viewer and check differences between expected and actual messages, click on the inspected item’s menu button and then click on Diffs. It opens Differences dialog box. Here you can add items (click twice on the required item) and message properties (click on the required message property) to ignore list.

    Add items and message properties to ignore list once.

    differences add to ignore list
  16. When you finish with adding items and message properties to ignore list, close the dialog box and recompare results clicking on check.

  17. To view all Test Suite run results go to the RESULTS HISTORY tab on test suite page.