java.lang.Object
is.codion.swing.framework.model.tools.loadtest.EntityLoadTestModel<M>
Type Parameters:
M - the application model type used by this load test model

public abstract class EntityLoadTestModel<M extends SwingEntityApplicationModel> extends Object
A class for running multiple EntityApplicationModel instances for load testing purposes.
  • Field Details

    • LOAD_TEST_REMOTE_HOSTNAME

      public static final PropertyValue<String> LOAD_TEST_REMOTE_HOSTNAME
      Specifies the hostname of the remote load test server
      Value type: String
      Default value: localhost
    • LOAD_TEST_THINKTIME

      public static final PropertyValue<Integer> LOAD_TEST_THINKTIME
      Specifies the initial think time setting for the load test client (max think time = thinktime, min think time = max think time / 2)
      Value type: Integer
      Default value: 2000
    • LOAD_TEST_BATCH_SIZE

      public static final PropertyValue<Integer> LOAD_TEST_BATCH_SIZE
      Specifies the initial client batch size
      Value type: Integer
      Default value: 10
    • LOAD_TEST_LOGIN_DELAY

      public static final PropertyValue<Integer> LOAD_TEST_LOGIN_DELAY
      Specifies the number with which the max think time is multiplied when initializing the clients
      Value type: Integer
      Default value: 2
  • Constructor Details

    • EntityLoadTestModel

      protected EntityLoadTestModel(User user, Collection<? extends UsageScenario<M>> usageScenarios)
      Instantiates a new EntityLoadTestModel.
      Parameters:
      user - the default user
      usageScenarios - the usage scenarios
  • Method Details

    • loadTestModel

      public final LoadTestModel<M> loadTestModel()
    • selectRandomRow

      public static void selectRandomRow(EntityTableModel<?> tableModel)
      Selects a random row in the given table model
      Parameters:
      tableModel - the table model
    • selectRandomRows

      public static void selectRandomRows(EntityTableModel<?> tableModel, int count)
      Selects random rows in the given table model
      Parameters:
      tableModel - the table model
      count - the number of rows to select
    • selectRandomRows

      public static void selectRandomRows(EntityTableModel<?> tableModel, double ratio)
      Selects random rows in the given table model
      Parameters:
      tableModel - the table model
      ratio - the ratio of available rows to select
    • selectRandomItem

      public static void selectRandomItem(EntityComboBoxModel comboBoxModel)
      Selects a random non-null visible item in the given combobox model, if one is available
      Parameters:
      comboBoxModel - the combobox model
    • createApplication

      protected abstract M createApplication(User user)