Testing with the MFP emulator and performance simulator

The MFP emulator and performance simulator are used to test LDD solutions without a physical printer. The emulator interactively emulates an e-Task 2 printer control panel. The performance simulator lets you set parameters and quickly run multiple tests simulating either an e-Task or an e-Task 2 printer. The interactive emulator is useful for preliminary debugging, and the performance simulator is useful for comprehensive functional and stress testing.

Note: In Windows 7 or later, make sure to run the Eclipse software and LDD SDK as an administrator, for the simulator and emulator to function properly.

Accessing the MFP emulator or performance simulator

If you are running the MFP emulator or performance simulator for the first time, then the installation window appears. To install the application, do the following:

  1. If necessary, change the folder where you want to install the application.

    Note: The installation path cannot contain double-byte characters.
  2. If necessary, select Launch Emulator to launch the emulator or performance simulator after installation.

  3. Click Finish.

If you selected Launch Emulator or if the MFP emulator is already installed, then the interactive MFP Emulator or MFP Simulator configuration window appears.

Using the interactive MFP emulator

Using the interactive MFP emulator with an LDD system

  1. From the MFP Emulator configuration window, click Interactive Mode > MFP > Emulator (eTask2).

    The home screen window appears, and the emulator is accessible as a printer from LMC.

  2. Make sure that the LDD system is online.

  3. Upload the solution to be tested in LMC. For more information, see the Lexmark Document Distributor Administrator's Guide.

  4. Add the MFP emulator to a device group in LMC, and then discover it.

    Note: The IP address of the emulator is the IP address of the computer where it is running. This address appears beside Client IP in the MFP emulator configuration window, and on the upper-left corner of the home screen.
  5. Deploy the solution, modify the home screen for the device group as necessary, and then perform a policy update.

  6. If you include the profile on the home screen, then click the icon for the profile. If the profile does not appear on the home screen, then do the following:

    1. From the printer home screen, do either of the following:

      • For e-Task 5 printers, click App Profiles.

      • For e-Task 2+, e-Task 3, or e-Task 4 printers, click Held Jobs > Profiles.

    2. Click the icon for the profile.

    The profile launches the associated script on an LDD server.

    Note: Some prompts are not supported in interactive mode. When a script includes an unsupported prompt, a message appears on the emulated printer control panel. Click Next to continue the script after the prompt.

Simulating a scan task

  1. Type or browse to the path of a TIFF, JPEG, PDF, or PostScript file to simulate the document to be scanned.

  2. Click OK.

To assign a default image file to appear in each Scan File dialog, click File > Properties.

Saving print jobs

Print jobs initiated by a profile are discarded by default. To enable saving print jobs:

  1. Make sure you have run the interactive emulator at least once. The configuration that contains the settings for the interactive emulator is created automatically the first time it is run.

  2. Locate the \Profiles\interactive\conf\ folder where the MFP emulator is installed. The default is C:\Program Files\mfpsimulator\.

  3. Open sim-interactive.properties in a text editor.

  4. If necessary, modify the location where print jobs are saved beside interactive.advanced.pj.output=.

  5. Change the value beside interactive.advanced.pj.save= to true.

  6. If the interactive emulator is open, then close, and then restart it.

Using the performance simulator

Preparing and running tests in the performance simulator

  1. From the MFP Simulator configuration window, click File > New Configuration.

  2. Type the IP address or host name of the LDD system in the Load Balancer IP field.

  3. Type the profile name to execute.

    Note: The profile name refers to a device profile created using the Device Policy Editor in the solution. A list of profiles can also be found in the Profiles task after the solution has been deployed to the relevant device group in LMC.
  4. Select whether to simulate an e-Task 2 or e-Task device.

  5. Discover the performance simulator and deploy the appropriate solution in LMC:

    Note: This step is only necessary if the interactive MFP emulator or performance simulator has not been discovered, or if the necessary solution has not been deployed.
    1. To set the simulator to discovery mode, type 0 for both “Number of MFPs” and Repetitions fields.

    2. Click Save to save the test profile, and then click Start to start the simulator in discovery mode.

    3. Make sure the LDD system is online.

    4. Upload the solution to be tested in LMC.

    5. Add the performance simulator to a device group in LMC, and then discover it.

      Note: The IP address of the simulator is the IP address of the computer where it is running. This address appears in the Client IP field in the MFP Simulator configuration window.
    6. Deploy the solution and modify the home screen for the device group as necessary, and then perform a policy update.

    7. Click Stop to stop the simulator.

  6. Type the number of MFPs to simulate.

  7. Type the number of repetitions for the test.

  8. In the Scan File field, browse to a TIFF, JPEG, PDF or PostScript file to use in simulating a scan task.

  9. If necessary, configure advanced settings, including any answers to prompts that should be different than the default. For more information, see Configuring advanced properties.

  10. To create a log during the test in Log4J, select Enable UI Logging.

  11. Click Save to save the test profile, and then click Start to start testing.

    You can stop a test that is still in progress by clicking Stop.

Configuring advanced properties

Several advanced properties for the performance simulator, including custom prompt answers, are found on the Advanced tab of the MFP Simulator configuration window. Some properties also appear as fields on the Configuration tab. The selection of E-Task2 or E-Task on the Configuration tab determines whether the Advanced (e-Task 2) or Basic (e-Task) properties are used.

To save the test configuration after modifying advanced properties, click Save.

Property

Description

Default

serverAddress

The IP address or host name of the LDD system

None

profileName

The profile to run on the LDD system

Note: The profile name refers to a Device Profile created using the Device Policy Editor in the solution. A list of profiles can also be found in the Profiles task for the relevant device group in LMC.

None

cancelProbability

The probability that the profile will be canceled, expressed as a decimal between 0 and 1. In repetitive testing and testing on multiple printers, the profile is canceled for the specified percentage of the tests, with canceled tests randomly selected. When the application determines that a particular test will be canceled, a random prompt is selected within that test for the point of cancellation. The setting 0 specifies that no tests are canceled, and the setting 1 indicates that every test is canceled at a random prompt.

0.0

ui.logging

Determines whether the test is logged in Log4J

false


Property

Description

Default

basic.addressRange

The IP addresses used for emulated e-Task printers. A single IP may be used to emulate multiple e-Task printers at a single address, since the emulator can use multiple HTTP connections for e-Task. Multiple addresses are specified as a range, in the format xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx, and each included address must be bound to a network adapter in the local computer. If multiple addresses are specified, then only the first is used unless basic.multiIP is set to true.

Local IP address (set autotmatically when the simulator is started)

basic.scanfiles

The TIFF, JPEG, PDF, or PostScript files to use in simulating the scan task. The setting can contain a comma-delimited list of multiple files, which are submitted together for the scan task.

Note: The delimiter used in the list can be changed using the scanFileDelimiter property.

None

basic.promptAnswers

A comma-delimited list of answers to supply for prompts asked by the profile. If left blank, the default response is used for all prompts. If you need to supply an answer for any prompt, then you must supply all answers for the applicable logic path.

For more information, see Supplying answers to prompts.

Note: The delimiter used in the list can be changed using the delimiter property.

None

basic.repetitions

The number of repetitions for the test on each emulated printer. Use 0 for both this property and basic.nummfps to enter discovery mode.

0

basic.nummfps

The number of printers to emulate for the test. Use 0 for both this property and basic.repetitions to enter discovery mode.

Note: It is not recommended to emulate more than 250 printers.

0

basic.bind

Determines whether to bind the local IP address to the print listener for receiving print jobs

true

basic.prompting

Indicates to the application whether the profile contains prompts

true

basic.scanning

Indicates to the application whether the profile contains a scan task

true

basic.profilerunTimeThreshold

The time in milliseconds allowed for a profile to run before a warning message is logged

30000

basic.timeToFirstPromptThreshold

The time in milliseconds allowed for the first prompt in the profile to display before a warning message is logged

2000

basic.multiIP

Determines whether multiple IP addresses are used for emulating multiple e-Task printers. If false, then only the first address specified for basic.addressRange is used. If true, then the number of addresses specified for basic.addressRange must match the number specified for basic.nummfps.

true (automatically changed to false if the test is run without specifying multiple addresses)

basic.readTimeout

The timeout in milliseconds for reading data from the LDD system

360000

basic.connectionTimeout

The timeout in milliseconds for connection requests to the LDD system

180000

native

This property should always be false for LDD 4.x.

false

basic.useRandomFileFromDirectory

Determines whether a random file is used from the folder specified in basic.randomFileDirectoryPath for simulating the scan task. When set, these properties override files specified for basic.scanfiles.

false

basic.randomFileDirectoryPath

Specifies the folder where image files for scans can be found when basic.useRandomFileFromDirectory is set to true

None


Property

Description

Default

advanced.promptAnswers

A comma-delimited list of answers to supply for prompts asked by the profile. If left blank, the default response is used for all prompts. If you need to supply an answer for any prompt, then you must supply all answers for the applicable logic path.

For more information, see Supplying answers to prompts.

Note: The delimiter used in the list can be changed using the delimiter property.

None

advanced.addressRange

The IP addresses used for emulated e-Task 2 printers. A single IP may be used to emulate multiple e-Task 2 printers at a single address, since the emulator can use multiple HTTP connections for e-Task 2. Multiple addresses are specified as a range, in the format xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx, and each included address must be bound to a network adapter in the local computer. If multiple addresses are specified, then only the first is used unless advanced.multiIP is set to true.

Local IP address (set autotmatically when the simulator is started)

advanced.repetitions

The number of repetitions for the test on each emulated printer. Use 0 for both this property and advanced.nummfps to enter discovery mode.

0

advanced.nummfps

The number of printers to emulate for the test. Use 0 for both this property and advanced.repetitions to enter discovery mode.

Note: It is not recommended to emulate more than 250 printers.

0

advanced.multiIP

Determines whether multiple IP addresses are used for emulating multiple e-Task 2 printers. If false, then only the first address specified for advanced.addressRange is used.

true (automatically changed to false if the test is run without specifying multiple addresses)

advanced.profilerunTimeThreshold

The time in milliseconds allowed for a profile to run before a warning message is logged

30000

advanced.timeToFirstPromptThreshold

The time in milliseconds allowed for the first prompt in the profile to display before a warning message is logged

2000

advanced.useSecureWebdav

Determines whether WebDAV communication with the LDD system should be secure. This property should be true when the LDD system is v4.4.0.2 or later, or false when the LDD system is v4.4.0.1 or earlier.

true

advanced.webdavUsername

The user name used for secure WebDAV communication with the LDD system. In most cases, this property should not be changed.

ldd

advanced.webdavPassword

The password used for secure WebDAV communication with the LDD system. In most cases, this property should not be changed.

ldd

advanced.useRandomFileFromDirectory

Determines whether a random file is used from the folder specified in advanced.randomFileDirectoryPath for simulating scan tasks. When set, these properties override files specified for advanced.scanfilesN.

false

advanced.randomFileDirectoryPath

Specifies the folder where image files for scans can be found when advanced.useRandomFileFromDirectory is set to true

None

advanced.scanfiles1–advanced.scanfilesN

The TIFF, JPEG, PDF, or PostScript files to use in simulating scan tasks. Each property represents a single scan task, so properties after advanced.scanfiles1 are only used for profiles that contain multiple scan tasks. Each property can contain a comma-delimited list of multiple files, which are submitted together for the scan task.

Note: The delimiter used in the list can be changed using the scanFileDelimiter property.

None


Property

Description

Default

basic.linfo.name

The profile name associated with the scan task. The default, which refers to the profile that is run for the test, should usually remain set.

${CurrentTestProfile.profileName}

(This refers to the profileName property in the Simulator Properties table.)

basic.linfo.resolution

Resolution for the scan task

300

basic.linfo.format

Image format for the scan task

TIFF

basic.linfo.depth

Bit depth for the scan task

8

basic.linfo.orientation

Orientation for the scan task

PORTRAIT

basic.linfo.papersize

Paper size for the scan task

LETTER

basic.linfo.numpages

Number of pages for the scan task

1


Property

Description

Default

advanced.linfo.name

The profile name associated with the scan task. The default, which refers to the profile that is run for the test, should usually remain set.

${CurrentTestProfile.profileName}

(This refers to the profileName property in the Simulator Properties table.)

advanced.linfo.resolution

Resolution for the scan task

300

advanced.linfo.format

Image format for the scan task

TIFF

advanced.linfo.depth

Bit depth for the scan task

8

advanced.linfo.orientation

Orientation for the scan task

PORTRAIT

advanced.linfo.papersize

Paper size for the scan task

LETTER

advanced.linfo.numpages

Number of pages for the scan task

1


Property

Description

Default

basic.pj.addressRange

The address range to receive print jobs from the LDD system. The default, which refers to the address range set for the overall test, should usually remain set.

${CurrentTestProfile.basic.addressRange}

(This refers to the basic.addressRange property in the Basic prompting properties table.)

basic.pj.output

The folder in which simulated print jobs should be saved

The /Profiles/CurrentTestProfile/conf/data/PrintJobs folder where the MFP emulator and performance simulator are installed

basic.pj.ext

The file extension of saved print jobs. Do not include a period (.) before the extension. The extension implies the file type used. One of the following: pdf, ps, tif.

ps

basic.pj.save

Determines whether to save print jobs from the LDD system

false

basic.pj.poolSize

The size of the thread pool to use for print jobs. The default, which refers to the overall server pool size, should usually remain set.

${CurrentTestProfile.serverPoolSize}


Property

Description

Default

advanced.pj.addressRange

The address range to receive print jobs from the LDD system. The default, which refers to the address range set for the overall test, should usually remain set.

${CurrentTestProfile.advanced.addressRange}

(This refers to the advanced.addressRange property in the Basic prompting properties table.)

advanced.pj.output

The folder where simulated print jobs should be saved

The /Profiles/CurrentTestProfile/conf/data/PrintJobs folder where the MFP emulator and performance simulator are installed

advanced.pj.ext

The file extension of saved print jobs. Do not include a period (.) before the extension. The extension implies the file type used. One of the following: pdf, ps, tif.

ps

advanced.pj.save

Determines whether to save print jobs from the LDD system

false

advanced.pj.poolSize

The size of the thread pool to use for print jobs. The default, which refers to the overall server pool size, should usually remain set.

${CurrentTestProfile.serverPoolSize}


Property

Description

Default

clientStartUpDelay

The delay, in milliseconds, between starting each group of emulated MFPs when testing with more than one MFP

500

clientStartUpDelaySize

The number of MFPs to start after each interval specified by clientStartUpDelay

10

startDelayMin*

The minimum delay between test repetitions

2000

startDelayMax*

The maximum delay between test repetitions

2000

promptDelayMin*

The minimum delay before answering prompts

2000

promptDelayMax*

The maximum delay before answering prompts

2000

initScanDelayMin*

The minimum delay before submitting a simulated scan

2000

initScanDelayMax*

The maximum delay before submitting a simulated scan

2000

betweenScanDelayMin*

The minimum delay between submitting multiple files in a simulated scan task

2000

betweenScanDelayMax*

The maximum delay between submitting multiple files in a simulated scan task

2000


Property

Description

Default

delimiter

The delimiter used between subsequent prompt answers in basic.promptAnswers and advanced.promptAnswers

Note: A colon (:) cannot be used as the delimiter.

,

scanFileDelimiter

The delimiter used between multiple scan files in basic.scanfiles and advanced.scanfilesN

,

defaultAnswer

The string used in basic.promptAnswers and advanced.promptAnswers to indicate the default prompt answer

[DEFAULT]

cancelAnswer

The string used in basic.promptAnswers and advanced.promptAnswers to indicate canceling the prompt

[CANCEL]

randomAnswer

The string used in basic.promptAnswers and advanced.promptAnswers to indicate that a random answer should be selected

[RANDOM]

serverPoolSize

The maximum number of threads in server thread pools

50

JMXHTTPAdaptorPort

The HTTP port for an Adaptor used for JMX-based remote management

8090


Property

Description

Default

basic.pauseCronExp

A CRON expression that schedules a pause in the test

None

basic.unpauseCronExp

A CRON expression that schedules the test to resume after a pause has been scheduled

None

basic.addMfpCronExp

A CRON expression that determines the interval at which a new printer is added to the test

None

basic.removeMfpCronExp

A CRON expression that determines the interval at which a printer is removed from the test

None

basic.numScheduledMfpsToAdd

The number of printers to add at the interval specified by basic.addMfpCronExp

1

basic.numScheduledMfpsToRemove

The number of printers to remove at the interval specified by basic.removeMfpCronExp

1


Property

Description

Default

advanced.pauseCronExp

A CRON expression that schedules a pause in the test

None

advanced.unpauseCronExp

A CRON expression that schedules the test to resume after a pause has been scheduled

None

advanced.addMfpCronExp

A CRON expression that determines the interval at which a new printer is added to the test

None

advanced.removeMfpCronExp

A CRON expression that determines the interval at which a printer is removed from the test

None

advanced.numScheduledMfpsToAdd

The number of printers to add at the interval specified by advanced.addMfpCronExp

1

advanced.numScheduledMfpsToRemove

The number of printers to remove at the interval specified by advanced.removeMfpCronExp

1


Supplying answers to prompts

You can supply a comma-delimited list of answers to supply for prompts asked by the profile in the setting basic.promptAnswers (for e-Task printers) or advanced.promptAnswers (for e-Task 2 printers). If the setting is left blank, then the default response is used for all prompts. The delimiter for the list may be changed using the delimiter setting.

If you need to supply an answer for any prompt, then you must supply all answers for the applicable logic path. To specify the default answer for a prompt in the path, use [DEFAULT], or the answer otherwise specified by the defaultAnswer setting. The logic path may be different depending on prompt answers, so you must plan answers for the specific path you want to take through the prompts. It may be helpful to test the path by first using the interactive MFP emulator.

The following table shows the valid answer values for each prompt type:

Prompt type

Valid answer values

Default value if no default is specified by the script

Array

Zero-based array index

0

Authentication (magnetic stripe card or RFID data)

A value, separated by a colon from a colon-delimited list of key=value pairs that simulate data from a magnetic stripe card or RFID device, using the following standard keys:

FormatCode

Name

Track1

Track1Raw

Track1Pan

Track1AdditionalData

Track2

Track2Raw

Track2Pan

Track2AdditionalData

Track3

Track3Raw

Track3Pan

Track3AdditionalData

For example:

4444555566667777:Track2Raw=;4444555566667
777=09051010000041600000?:Track1Raw=%B444
4555566667777^USER/JOEQ^09051010000000000
000000000000000000416000000?:FormatCode=B
:Track1AdditionalData=0905101000000000000
0000000000000000416000000:Track1Pan=44445
55566667777Track2AdditionalData=090510100
00041600000:Name=USER/JOE Q

Note: Line breaks may be included in Authentication values. However, line breaks in the example are included only for clarity.

Empty string

Boolean

true

false

true

Copy

[DEFAULT] only

N/A

CopyUI

[DEFAULT] only

N/A

Custom VLML

[DEFAULT] only

N/A

Email

[DEFAULT] only

N/A

EmailUI

[DEFAULT] only

N/A

Fax

[DEFAULT] only

N/A

FaxUI

[DEFAULT] only

N/A

Image boolean

true

false

true

Image list

Zero-based array index

0

Image message

[DEFAULT] only

N/A

Integer

Numeric integer

0

List

Zero-based array index

0

Message

[DEFAULT] only

N/A

Numeric

Numeric integer

0

Password

Text string

Empty string

Scan

None; scan prompts are handled by the basic.scanfiles and advanced.scanfilesN settings. Answers for scan prompts should not be included in the sequence of prompt answers.

N/A

ScanUI

[DEFAULT] only

N/A

String

Text string

Empty string


Using JConsole to monitor and modify a running test

You can use the Java Monitoring and Management Console (JConsole) or another JMX-enabled application to access attributes and operations of the performance simulator process during a test. The following steps detail accessing these attributes and operations using JConsole specifically, but the listed attributes and operations are the same for other JMX-enabled applications.

  1. Run JConsole.

    Note: JConsole is installed with the Java SE Development Kit. The default location for JConsole is C:\Program Files\Java\jdk<current version>\bin\jconsole.exe.
  2. While a performance simulator test is running, select com.lexmark.workflow.simulator.App from the list of processes on the Local tab.

    Note: If a test is started after the “Connect to Agent” dialog is opened, then click the empty area within the list of processes to refresh it.
  3. Click Connect > MBeans tab.

  4. Expand the simulator folder, and then expand the folder for the currently running test profile.

  5. For e-Task 2, expand the Advanced folder.

    or

    For e-Task, expand the Basic folder.

  6. Select Simulation.

From the Attributes tab, you can see the following details of a running test:

Only the BetweenClientStartUpDelaySize value can be changed from the Attributes tab.

From the Operations tab, you can perform any of the following actions by clicking the corresponding button: