Skip to main content

Notifications

Dynamics 365 Community / Blogs / Dynamics 365 FastTrack Blog / Part 4 – Dynamics 365 finan...

Part 4 – Dynamics 365 finance and operations apps performance testing with JMeter - Tips and Troubleshooting

How to increase JMeter certificate validity period from 7 days to 1 year

 
The Root CA Certificate that JMeter generates by default has a validity period of 7 days. However, you can change this period to 365 days or any other number of days.
To do this, follow these steps: 
  • Exit and shut down JMeter completely 
  • Remove any existing certificate files "ApacheJMeterTemporaryRootCA.crt" and "proxyserver.jks" in /bin folder  
  • Open jmeter.properties in /bin folder with text editor  
  • Uncomment "proxy.cert.validity=7" and replace 7 with 365, for example proxy.cert.validity=365  
  • Restart JMeter.  
  • Click Start to recording to create the new certificate.  
  • The certificate validity period will now be 1 year. 

 

Exception registering com.blazemeter.jmeter.correlation.core.templates.repository.RepositoryManager

Exception registering com.blazemeter.jmeter.correlation.core.templates.repository.RepositoryManager with implementation:com.blazemeter.jmeter.repository.plugin.system.SystemManager
java.lang.NullPointerException: null

Starting from BlazeMeter Correlation plugin 2.1+ you need to have Repositories dependencies, otherwise you will get an error if you don't provide an API key. You can find more information here. This exception will not affect the recording or execution, but you can avoid it by registering an account with BlazeMeter and creating your own API key in JSON format. Then, place it in the JMeter directory, for example: C:\apache-jmeter\bin\api-json.key. Restarting JMeter should resolve the issue.
 
 
No samples were recorded. Skipping correlation suggestions generation
2024-01-11 11:44:18,480 INFO o.a.j.p.h.p.Daemon: HTTP(S) Test Script Recorder stopped
2024-01-11 11:44:18,480 WARN c.b.j.c.CorrelationProxyControl: No samples were recorded. Skipping correlation suggestions generation.
A common problem is that no samples are recorded by the Recorder controller. You should check that the configuration is done correctly, especially the Requests Filtering in the Correlation Recorder. If you have added the suggested sample filtering to the "URL Patterns to include" instead of the "URL Patterns to exclude", then most of the target requests will be filtered out.
 
 
 
Java.IO.EOFException error in browser when recording
 
 
Make sure you select the HTTP Sampler type as Java in the bzm - Correlation Recorder > Test Plan Creation tab. Otherwise, the steps will not be recorded correctly.
 
 
Non HTTP response code from autodiscover/autodiscoverservice.svc/root

Response code:Non HTTP response code: java.net.UnknownHostException
Response message:Non HTTP response message: webdir.online.lync.com


When you record Dynamics 365 finance and operations scenarios, a sample from https://webdir.online.lync.com/autodiscover/autodiscoverservice.svc/root will be captured. This sample requests CNAME to the host, but the host does not respond, so the sample is useless. You can safely disable the sample from the script (right-click the sample and select disable) and it will not affect the execution.

 

You are logged in to the system too many times, ErrorCode=1287

{"Message":"You are logged in to the system too many times.","ErrorCode":1287,"DiagnosticMesssage":null}


During multi-user testing, if you simulate more than 60 (the default limit) concurrent users with a single credential, you may encounter error code 1287 in the response body. This error indicates that too many web sessions were created from the same user account. To address this issue, it is recommended to use different credentials when simulating concurrent users testing.

 

Running the PowerShell file "CorrelationScript.ps1" produces no output

If you encounter no result output after executing CorrelationScript.ps1 during post-recording, it indicates that there are no dynamic responses in the test plan. This is abnormal as there should be values that can be mapped and matched. Several possible reasons for this include:

  1. The test script only recorded the login process, resulting in no dynamic responses from finance and operations apps.
  2. The recording file may not have been captured completely. Ensure that all checkboxes in the "Configure" button have been selected before starting the recording.
  3. The test script and recording file were not correctly chosen, resulting in them not matching up.

 

View tree result file already exists warning

The file xxx already exists, what do you want to do?

When running the test script via the GUI, a popup alert warning of "file already exists" appears for the specified View tree file in the listeners. However, you can modify the jmeter.properties file to prevent the popup from appearing each time you run the script. Navigate to \Bin\jmeter.properties,

locate the #resultcollector.action_if_file_exists attribute under the Miscellaneous configuration section, and update the value from ASK to either APPEND or DELETE. Uncomment the line, then restart the JMeter GUI to take effective.

 

ERROR o.a.j.p.h.s.HTTPJavaImpl: readResponse: java.io.EOFException

2024-02-27 17:24:23,989 ERROR o.a.j.p.h.s.HTTPJavaImpl: readResponse: java.io.EOFException
2024-02-27 17:24:23,989 INFO o.a.j.p.h.s.HTTPJavaImpl: Error Response Code: 302, Server sent no Errorpage

At times, you may encounter the error "readResponse: java.io.EOFException" in JMeter while validating the script. This occurs when JMeter detects an empty response body. Referring to next line following the Error, you'll notice that the Error Response Code is 302. This code indicates a redirect status response, suggesting that the requested resource has been temporarily moved to the URL provided by the Location header.

It's important to note that this behavior is intentional, as the application is designed to perform URL redirection. While this error may not directly affect the test results, it's advisable to validate it during the verification process.

 

Why does the recorded script function with the user who recorded it but not with another user's credentials?

The common reason for this issue is that you might have used the system admin security role while recording the steps. It's advisable to use the exact security role in the scenario matching the testing user's credentials during recording in JMeter. This approach helps avoid recording unnecessary requests, ensuring the script functions correctly with normal user accounts.

 

Can a JMeter testing script be generated from Tier-1?

Our provided D365Login_correlation_template only supports Tier-2 or higher environments, as The authentication methods differ between Tier-1 and Tier-2 or higher environments. As a result, the script that works in Tier-2 or higher environments does not work in Tier-1.

 
What is the practice to work if Multifactor Authentication (MFA) enabled?
 
It's generally recommended to temporarily disable MFA for performance testing. MFA adds an additional layer of security by requiring users to provide multiple forms of identification. It is possible to achieve with MFA but it is complex, we should focus on Application performance testing. 

Updated: I have outlined a method for conducting performance testing with MFA enabled. For detailed instructions, please see Part 5 – Dynamics 365 finance and operations apps performance testing with JMeter - MFA
 
 

Comments

*This post is locked for comments

  • Edison Lai Profile Picture Edison Lai
    Posted at
    Part 4 – Dynamics 365 finance and operations apps performance testing with JMeter - Tips and Trou...
    Stay tuned for an upcoming blog post that will share insights on UI performance testing with MFA.
  • AK-10060947-0 Profile Picture AK-10060947-0 10
    Posted at
    Part 4 – Dynamics 365 finance and operations apps performance testing with JMeter - Tips and Trou...
    I understand that D365Login_correlation_template only supports Tier-2 or higher environments, however, can you please share a D365Login_correlation_template for Tier-1 environment?
  • CU01050526-0 Profile Picture CU01050526-0
    Posted at
    Part 4 – Dynamics 365 finance and operations apps performance testing with JMeter - Tips and Trou...
    What is the practice to work if MFA enabled?
     
    To having MFA enabled, you have mentioned that "It is possible to achieve with MFA but it is complex, we should focus on Application performance testing.". Can you please provide further information about how I can achieve with MFA for my dynamics F&O project? Please provide solution or way to do same?