The NeoLoad Controller installation directory includes necessary JAR files to interact with the NeoLoad Design API.
The Java client is compatible with Java 7 and above.
To configure your Java project, it is recommended to use Maven.
In a Java Maven project, you need to add a dependency to the Maven settings file (pom.xml) using the examples below:
<repositories>
<repository>
<id>neotys-public-releases</id>
<url>http://maven.neotys.com/content/repositories/releases/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.neotys.rest</groupId>
<artifactId>neotys-rest-api-design-client-olingo</artifactId>
<version>1.2.1</version>
</dependency>
</dependencies>
If your project is not developed using Maven, it is necessary to include the JAR files available in the \api
folder of the NeoLoad installation directory:
<install-dir>
\api\Design API Client\Java
folder<install-dir>
\api\Common\Java
folderimport com.neotys.rest.design.client.DesignAPIClient;
import com.neotys.rest.design.client.DesignAPIClientFactory;
import com.neotys.rest.design.model.StartRecordingParams.StartRecordingBuilder;
public class Main {
public static void main(String[] args) throws Exception {
final String url = "http://localhost:7400/
Design/v1/Service.svc";
final DesignAPIClient client = DesignAPIClientFactory.newClient(url);
}
}
A Java class is available to ease the creation of a NeoLoad User Path. Here is an example of Java code using this helper:
import com.neotys.rest.design.builder.JSONDefinitionBuilder;
import com.neotys.rest.design.builder.UserPathBuilder;
import com.neotys.rest.design.model.element.ElementType;
public class Documentation {
public static void main(String[] args) throws Exception {
final String url = "http://localhost:7400/Design/v1/Service.svc";
final DesignAPIClient client = DesignAPIClientFactory.newClient(url);
// Create a UserPath with name "myUserpath"
final UserPathBuilder builder = new UserPathBuilder("myUserpath");
// Put the cursor to the Actions container
builder.moveToActions();
// Create a Transaction "myTransaction1", insert it in the Actions container and put the cursor inside it.
builder.addChildAndMoveTo(ElementType.TRANSACTION.key(), new JSONDefinitionBuilder().name("myTransaction1").build());
// Create a Delay with 5 secondes duration and insert it in the Transaction "myTransaction1"
builder.addChild(ElementType.DELAY.key(), new JSONDefinitionBuilder().put("Duration", "5000").build());
// Go up one level (out of the "myTransaction1" element
builder.moveToParent();
// Create a Transaction "myTransaction2" and insert it after "myTransaction1"
builder.addChild(ElementType.TRANSACTION.key(), new JSONDefinitionBuilder().name("myTransaction2").build());
// Build the full User Path structure and add it to the project
builder.build(client);
}
}
Here is the result in the NeoLoad project: