Why Does My Performance Test Work Locally but not in BlazeMeter?
There are various reasons why a test script that works on your local machine will fail to run through BlazeMeter.
The first and the foremost thing you should do is check the errors found in your test's Errors Report, then download and review the logs from your test's Logs Report.
The most common causes for this problem fall under these categories:
Missing Files
- You may not have uploaded all files required to run your test script in BlazeMeter. If your test script requires any additional files (CSVs, JARs, etc.), then refer to our guides on Uploading Files and Shared Folders.
- If you submit your test from CLI (e.g. using the -cloud option), make sure your yml includes a files: section and list all files that are referenced in your script so they will be uploaded to the test. See section "Specifying Additional Resource Files" in this article for details on how to do this.
- You may have uploaded a required file, but your test script still refers to it using a local file path. (For example, a CSV Data Set Config element may still refer to a CSV file using a local path.) This is likewise explained in our guides on Uploading Files and Shared Folders.
- You may have uploaded a required file, but the filename referenced in your script is in a different case than the filename of the one uploaded. BlazeMeter engines run on Linux, which treats filenames as case-sensitive, so Your_File_Name.csv is a different file from your_file_name.csv or Your_File_name.csv.
- You may have used a JMeter plugin but did not upload the plugin's JAR files. BlazeMeter automatically includes most standard JMeter plugins, but some plugins must be uploaded with the test. Check the logs report for any references to missing plugins.
Network Issues
- Your application server may only be accessible inside your local network. If you see errors in your Errors Report such as "connection refused", "socket closed", "connection timed out", "unknown host", 404 error codes, or similar errors, this means that even though your local machine (behind your internal network's firewall) can reach your application server, BlazeMeter's engines (outside of your firewall) cannot. Review our options for Load Testing Behind Your Firewall.
- If your application server returns connection errors as mentioned in the above bullet, but BlazeMeter was able to establish some connections prior to the errors, then this is also indicative of a problem with either your application server or network. Unlike the above scenario, it may not necessarily be a firewall issue, but an issue with your server or network struggling with the load or frequency of connections, or some other internal server/network issue that results in only partial connectivity during the test.
- You may be trying to test one of the Websites Forbidden to Test Using BlazeMeter.
Load/Performance Issues
- You may have been running your local test as a small-load test (executing only a few threads/users), but the test you configured in BlazeMeter is a significantly higher-load test. If this is the case, depending on the type of test you're attempting to run, review our guide on Calibrating a JMeter Test or Calibrating a Taurus Test.
- Please be aware that a local test run cannot be compared to a cloud run because your local machine will have a very different allocation of CPU/memory/etc. than a cloud VPC.
- If you're running a Selenium test, be aware of our limitations on using Selenium for load testing.