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

From the MFP Simulator, in the Advanced and Configuration tabs, you can configure advanced properties for the performance simulator, including custom prompt answers.

To save the test configuration after configuring advanced properties, click the save icon.

Simulator properties

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 is a Device Profile that is created using the Device Policy Editor in the solution. A list of profiles are also in the Profiles task for the relevant device group in LMC.

None

cancelProbability

The probability that the profile must 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 that are randomly selected. When the application determines that a particular test must 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

The test is logged in Log4J.

false


Basic prompting properties

Property

Description

Default

basic.addressRange

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

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

basic.scanfiles

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

Note: To change the delimiter used in the list, use the scanFileDelimiter property.

None

basic.promptAnswers

A comma-delimited list of answers for prompts that the profile asks for. If this property is empty, then the default response is used for all prompts. If you need to provide an answer for any prompt, then provide all answers for the applicable logic path.

For more information, see Supplying answers to prompts.

Note: To change the delimiter used in the list, use the delimiter property.

None

basic.repetitions

The number of test repetitions on each emulated printer.

To enter discovery mode, use 0 in the following properties:

  • basic.repetitions

  • basic.nummfps

0

basic.nummfps

The number of printers to emulate.

To enter discovery mode, use 0 in the following properties:

  • basic.repetitions

  • basic.nummfps

Note: We do not recommend emulating more than 250 printers.

0

basic.bind

The local IP address is bound to the print listener when receiving print jobs.

true

basic.prompting

This property indicates whether the profile contains prompts.

true

basic.scanning

This property indicates 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 show before a warning message is logged.

2000

basic.multiIP

Multiple IP addresses are used for emulating multiple e-Task printers. If set to false, then only the first IP address specified in the basic.addressRange property is used.

If set to true, then the number of IP addresses specified in the following properties must match:

  • basic.addressRange

  • basic.nummfps

true

Note: If the test is run without specifying multiple IP addresses, then this value is automatically changed to false.

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

For LDD 5.x, set this property to false.

false

basic.useRandomFileFromDirectory

A random file is used from the directory specified in the basic.randomFileDirectoryPath property for simulating the scan task.

If set to true, then the following properties override the files specified in the basic.scanfiles

  • basic.useRandomFileFromDirectory

  • basic.randomFileDirectoryPath

false

basic.randomFileDirectoryPath

The directory where image files for scans are located if the basic.useRandomFileFromDirectory property is set to true.

None


Advanced prompting properties

Property

Description

Default

advanced.promptAnswers

A comma-delimited list of answers for prompts that the profile asks for. If empty, then the default response is used for all prompts. If you need to provide an answer for any prompt, then provide all answers for the applicable logic path.

For more information, see Supplying answers to prompts.

Note: To change the delimiter used in the list, use the delimiter property.

None

advanced.addressRange

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

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

advanced.repetitions

The number of test repetitions on each emulated printer.

To enter discovery mode, use 0 in the following properties:

  • advanced.repetitions

  • advanced.nummfps

0

advanced.nummfps

The number of printers to emulate.

To enter discovery mode, use 0 in the following properties:

  • advanced.repetitions

  • advanced.nummfps

Note: We do not recommend emulating more than 250 printers.

0

advanced.multiIP

Multiple IP addresses are used for emulating multiple e-Task 2 printers. If set to false, then only the first IP address specified in the advanced.addressRange property is used.

true

Note: If the test is run without specifying multiple IP addresses, then this value is automatically changed to false.

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 show before a warning message is logged.

2000

advanced.useSecureWebdav

This property determines whether WebDAV communication with the LDD system must be secure. If the LDD system is v4.4.0.2 or later, then set this property to true. Otherwise, set it to false.

true

advanced.webdavUsername

The user name used for secure WebDAV communication with the LDD system.

ldd

advanced.webdavPassword

The password used for secure WebDAV communication with the LDD system.

ldd

advanced.useRandomFileFromDirectory

A random file is used from the directory specified in the advanced.randomFileDirectoryPath property for simulating scan tasks.

If set to true, then the following properties override the files specified in the advanced.scanfilesN property:

  • advanced.useRandomFileFromDirectory

  • advanced.randomFileDirectoryPath

false

advanced.randomFileDirectoryPath

The directory where image files for scans are located if the advanced.useRandomFileFromDirectory property 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 the advanced.scanfiles1 property are only used for profiles that contain multiple scan tasks. Each property can contain a comma-delimited list of multiple files that are submitted together for the scan task.

Note: To change the delimiter used in the list, use the scanFileDelimiter property.

None


Basic prompting scan properties

Property

Description

Default

basic.linfo.name

The profile name that is associated with the scan task.

${CurrentTestProfile.profileName}

Note: This value refers to the profileName property.

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 that is associated with the scan task.

${CurrentTestProfile.profileName}

Note: This value refers to the profileName property.

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 IP address range that receives print jobs from the LDD system.

${CurrentTestProfile.basic.addressRange}

Note: This value refers to the basic.addressRange property.

basic.pj.output

The folder where simulated print jobs must be saved.

The /Profiles/x/conf/data/PrintJobs folder where the MFP emulator and performance simulator are installed, where x is the name of the current test profile.

basic.pj.ext

The file extension of saved print jobs.

Use one of the following:

  • pdf

  • ps

  • tif

Note: Do not include a period (.) before the extension. The extension implies the file type used.

ps

basic.pj.save

Print jobs from the LDD system are saved.

false

basic.pj.poolSize

The size of the thread pool to use for print jobs.

${CurrentTestProfile.serverPoolSize}


Advanced prompting print job properties

Property

Description

Default

advanced.pj.addressRange

The IP address range that receives print jobs from the LDD system.

${CurrentTestProfile.advanced.addressRange}

Note: This value refers to the advanced.addressRange property.

advanced.pj.output

The folder where simulated print jobs are saved.

The /Profiles/x/conf/data/PrintJobs folder where the MFP emulator and performance simulator are installed, where x is the name of the current test profile.

advanced.pj.ext

The file extension of saved print jobs.

Use one of the following:

  • pdf

  • ps

  • tif

Note: Do not include a period (.) before the extension. The extension implies the file type used.

ps

advanced.pj.save

Print jobs from the LDD system are saved.

false

advanced.pj.poolSize

The size of the thread pool to use for print jobs.

${CurrentTestProfile.serverPoolSize}


Delay properties

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 that is specified in the clientStartUpDelay property.

10

startDelayMin*

The minimum delay in milliseconds between test repetitions.

2000

startDelayMax*

The maximum delay in milliseconds between test repetitions.

2000

promptDelayMin*

The minimum delay in milliseconds before answering prompts.

2000

promptDelayMax*

The maximum delay in milliseconds before answering prompts.

2000

initScanDelayMin*

The minimum delay in milliseconds before submitting a simulated scan.

2000

initScanDelayMax*

The maximum delay in milliseconds before submitting a simulated scan.

2000

betweenScanDelayMin*

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

2000

betweenScanDelayMax*

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

2000


Prompt answer formats and advanced emulator properties

Property

Description

Default

delimiter

The delimiter used between subsequent prompt answers in the following properties:

  • basic.promptAnswers

  • advanced.promptAnswers

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

,

scanFileDelimiter

The delimiter used between multiple scan files in the following properties:

  • basic.scanfiles

  • advanced.scanfilesN

,

defaultAnswer

The string used in the following properties to indicate the default prompt answer:

  • basic.promptAnswers

  • advanced.promptAnswers

[DEFAULT]

cancelAnswer

The string used in the following properties to indicate that the prompt is cancelled:

  • basic.promptAnswers

  • advanced.promptAnswers

[CANCEL]

randomAnswer

The string used in the following properties to indicate that a random answer must be selected:

  • basic.promptAnswers

  • advanced.promptAnswers

[RANDOM]

serverPoolSize

The maximum number of threads in server thread pools.

50

JMXHTTPAdaptorPort

The HTTP port that an adaptor uses for JMX-based remote management.

8090


Basic scheduled task properties

Property

Description

Default

basic.pauseCronExp

A CRON expression that schedules a pause in the test.

None

basic.unpauseCronExp

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

None

basic.addMfpCronExp

A CRON expression that determines the interval before a new printer is added to the test.

None

basic.removeMfpCronExp

A CRON expression that determines the interval before a printer is removed from the test.

None

basic.numScheduledMfpsToAdd

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

1

basic.numScheduledMfpsToRemove

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

1


Advanced scheduled task properties

Property

Description

Default

advanced.pauseCronExp

A CRON expression that schedules a pause in the test.

None

advanced.unpauseCronExp

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

None

advanced.addMfpCronExp

A CRON expression that determines the interval before a new printer is added to the test.

None

advanced.removeMfpCronExp

A CRON expression that determines the interval before a printer is removed from the test.

None

advanced.numScheduledMfpsToAdd

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

1

advanced.numScheduledMfpsToRemove

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

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: