Blazemeter/taurus

NO_PROXY nonProxy settings not working

Closed this issue · 3 comments

Use case
I want to run tests towards internal websites and external websites. External websites are only available through a proxy server. Configuring a proxy server is also needed for bzt to function correctly (download packages). Without it it fails on fresh machines complaining that it can't download the plugins etc. So I have to configure a proxy even if I only want to run tests on internal sites.

Problem
When I configure settings-proxy-address I can access and test external websites. But Internal websites cannot be tested because these requests end up at the proxy server and I get a "Gatewat Timeout" message.

I've tried nonProxy and NO_PROXY settings in the yml file, but it doesn't help. I found nonProxy in the code, but the documentation doesn't mention it as a setting.

Also setting $env:NO_PROXY previously to running this script doesn't work.

Also tried verbose logging, but the nonProxy code doesn't output extra logging.

Log output

PS C:\Users\test\Source\Repos\test-jmeter> bzt .\taurus-simple-proxy-example.yml
15:21:48 INFO: Taurus CLI Tool v1.15.3
15:21:49 INFO: Starting with configs: ['.\\taurus-simple-proxy-example.yml']
15:21:49 INFO: Configuring...
15:21:49 INFO: Using proxy 'http://proxy.internal.company.com:3128'
15:21:49 INFO: Artifacts dir: C:\Users\test\Source\Repos\test-jmeter\2023-05-11_15-21-49.123340
15:21:49 INFO: Preparing...
15:21:52 WARNING: Thread group detection: plugin for ConcurrentThreadGroup not found, regular ThreadGroup will be used
15:21:54 WARNING: Failed to check for updates
15:21:56 INFO: Starting...
15:21:56 INFO: Waiting for results...
15:21:57 INFO: Did not mute console logging
15:21:57 INFO: Waiting for finish...
15:23:18 WARNING: Please wait for graceful shutdown...
15:23:18 INFO: Shutting down...
15:23:18 INFO: Post-processing...
15:23:18 INFO: Test duration: 0:01:22
15:23:18 INFO: Samples count: 100, 100.00% failures
15:23:18 INFO: Average times: total 75.021, latency 75.021, connect 0.016
15:23:18 INFO: Percentiles:
+---------------+---------------+
| Percentile, % | Resp. Time, s |
+---------------+---------------+
|           0.0 |        74.944 |
|          50.0 |        75.008 |
|          90.0 |        75.008 |
|          95.0 |        75.072 |
|          99.0 |        75.072 |
|          99.9 |        75.072 |
|         100.0 |        75.072 |
+---------------+---------------+
15:23:18 INFO: Request label stats:
+---------------------------------------+--------+-------+--------+-----------------+
| label                                 | status |  succ | avg_rt | error           |
+---------------------------------------+--------+-------+--------+-----------------+
| https://website.internal.company.com |  FAIL  | 0.00% | 75.021 | Gateway Timeout |
+---------------------------------------+--------+-------+--------+-----------------+

taurus-simple-proxy-example.yml

settings:
  proxy:
    address: http://proxy.internal.company.com:3128
    nonProxy: website.internal.company.com

execution:
- concurrency: 100
  ramp-up: 1s
  hold-for: 1s
  scenario: quick-test

scenarios:
  quick-test:
    requests:
    - https://website.internal.company.com

reporting:
- module: junit-xml
  filename: taurus-simple-proxy-example-junit.xml
- module: passfail
  criterias:
  - failures>0%, stop as failed

@mykhaliev1 Looks like a bug, can you check please?

@KevinRossUWV What taurus version were you using with this example please?

@KevinRossUWV What taurus version were you using with this example please?

My original issue was tested on version Taurus CLI Tool v1.15.3. Your question triggered me and I updated to the latest version Taurus CLI Tool v1.16.22. And now the nonProxy settings work fine. So it seems that between these versions the nonProxy setting was implemented correctly or fixed. I also confirmed by downgrading again to 1.15.3 that is failed again.

I would still advise to add nonProxy to your documentation page on https://gettaurus.org/docs/ConfigSyntax/#Top-Level-Settings

The only way I found this out was searching in the Taurus code.

You can close this as fixed/resolved for version 1.16.22

Glad to hear that, thanks for the feedback!