Hello Peter,
Thanks for your ideas and PR which has been merged with slight
modifications.

Tests and feedback very welcome.
Regards
Philippe

On Sun, Dec 17, 2017 at 8:48 PM, Peter Doornbosch <
peter.doornbo...@gmail.com> wrote:

> Hi,
>
> In my JMeter websocket plugin (
> https://bitbucket.org/pjtr/jmeter-websocket-samplers) I want to hide
> advanced options for first time users. One of my design goals for this
> plugin was to make it very easy to use, so that first-time users are
> not overwhelmed with loads of options they don't know how to use and this
> will only confuse them. Up till now, i think i succeeded (but of course
> that's for others to judge ;-)).
>
> However, i'm now at the point that i need to add functionality that will
> only be used by advanced users. To keep the UI simple and clear for others,
> these advanced options must be explicitly enabled. Currently, this is done
> by setting a JMeter property. It works, but what i would like is that users
> can simply enable this (and other) option(s) by adding a special Config
> element in their test plan and enable/disable the options they want to use.
> This keeps the settings (e.g. whether options are enabled or not) in the
> testplan, which will avoid surprises when a testplan that relies on these
> features is being loaded in a JMeter instance that doesn't have the
> property set.
>
> I've been experimenting with this approach and i'm pretty happy with it.
> However, to make it work correctly, i need some extra hooks in JMeter.
>
> The proposed changes explained below, are committed to my JMeter fork at
> https://github.com/ptrd/jmeter/commits/more-hooks-for-
> testplan-modifications
> .
>
> Change 1
> See
> https://github.com/ptrd/jmeter/commit/a968db8bb63d16d6ea176ed00c0746
> 68958b7544
> A "removed" method is added to TestElement, so a test element can react on
> it being removed from the test plan.
> I need this for the functionality explained above, because when the user
> removes the special Configuration element that enables certain options,
> these options must be disabled.
>
> Change 2
> See
> https://github.com/ptrd/jmeter/commit/50e326ff824e231961308eed5185ae
> af2d894f60
> A "TestPlanListener" is added, and its "testPlanCleared" method is called
> when the test plan is clear.
> Similarly to change 1, when a testplan is closed and another one is loaded,
> i need a hook to reset the state of the advanced options.
> Of course, when included in JMeter, the TestPlanListener should probably be
> extended with some other methods to make it a consistent interface; for now
> i just wanted to create a working proof-of-concept.
>
> If you're interested in how these additions are used in the plugin, please
> see this branch:
> https://bitbucket.org/pjtr/jmeter-websocket-samplers/
> commits/branch/configure-options-in-testplan
> .
>
> Actually, i need one more feature, namely that a config element can be
> declared as "singleton" so it can't be added multiple times, but i haven't
> developed code for that yet - will follow later.
>
> I hope you are willing to add these hooks to JMeter, as, IMHO, these are
> generic hooks that can be useful for others and other use cases as well.
> For example, it has always frustrated me that the SSL keystore cannot be
> configured in a testplan; which such additions as proposed here, i think
> that would become possible too.
> Of course, if you have any thoughts about how the proposed changes can be
> improved, i'm happy to discuss it with you.
>
> Kind regards,
> Peter Doornbosch
>



-- 
Cordialement.
Philippe Mouawad.

Reply via email to