Creating custom Java code

Custom code uses references in the test as input and returns modified values to the test. Use the ICustomCode2 interface to create your custom code, and the ITestExecutionServices interface to extend test execution. These interfaces are contained in the com.ibm.rational.test.lt.kernel.services package.

About this task

Note: When you use the ITestExecutionServices interface in your custom code to report test results, the results for the custom code are displayed in the test log. If you log custom verification point verdicts, these are reflected in the overall schedule verdict.

Custom code input values are located in references or field references. These references must be included in the tests. Within the tests, the references must precede the code that they affect. Verify that the test contains the references that are required for customized inputs to your code. For details about creating references and field references, see Creating a reference or field reference.

If your custom code uses external JAR files, you probably need to change the Java™ build path: see the Java Build Path page. In some cases, you can avoid changing the build path manually by running the test before adding your custom code to it. The first time a test runs, classes and libraries that are required for compilation are added to the build path. For example, you can import Test and Performance Tools Platform (TPTP) classes that are needed to create custom events in the test log if the test, to which you have added your custom code, has run previously. However, if the test has never been run, import errors occur because the classes are not named in the build path for the project until the test has run.

If your code uses external resources, for example, an SQL database or a product that manages customer relationships, you must configure the custom code to work on every computer on which your test runs.

Custom code resides in the src folder of the project that contains the test that calls the code. By default, custom code is located in a package named test inside the src folder.

The following example shows the standard Navigator view of two custom code classes. (The Test Navigator does not display Java source files.)

Navigator view with ReplaceCC.java and VerifyUserID.java classes

When you add the ReplaceCC.java and VerifyYUserID.java custom code classes to the test and return a value to the test, Substitute lists these two classes.

The test package also contains the generated Java code for tests in the project.

You can put custom code in a different package (for example, custom). Separate custom code from generated code, especially if you use a source-control system. For information about source control and custom code, see Putting test assets under source control.

Procedure

To add custom code:

  1. Open the test and select a test element.
  2. Click Add or Insert, and select Custom Code. Add appends the custom code to the bottom of the selected test element. Insert adds the custom code above the selected test element.

    Test Element Details window
    Note: After you add or insert custom code, the Problems view displays an error stating that the new custom code element has no Java file. This error message remains until you click View Code or Generate Code, to remind you that the custom code test element is not yet associated with any Java code.
  3. Inspect the Class name field, and complete one of the following steps.
    • If the code that you want to call already exists, change the class name to match its name. Click View Code to open the code in the Java editor.
    • If the code does not exist, change the class name to describe the purpose of the code. Click Generate Code to generate a template class for logging results and to open it in the Java editor. If a class with this name exists, you are warned that it will be overwritten.
  4. In the Arguments field, click Add.
  5. In the Custom Code window, select all inputs that your code needs. The Custom Code window lists all values in the test that can be used as inputs to your code (references or field references in the test that precede the code).
  6. Click OK. The window closes, the selected references are added to the Arguments field.
  7. In the test, after your custom code, locate a value that your code returns to the test.
  8. Highlight the value.
  9. Right-click the highlighted value, click Substitute, and select the class name of your custom code. The custom code classes that you have added are listed. After you have made your selection, the value to be returned to the test is highlighted in orange and the Used by table is updated with this information.

What to do next

Note: Custom code is not displayed in the Test Navigator view. Open the Package Explorer view and use the Java tools to identify the custom code that you added.

Feedback