Hello,

Few questions regarding the feature :

- How do you see the DSL for plugins ?
- How will JSR223 custom code be used inside DSL ?


Also few notes inline below

Regards
On Saturday, November 20, 2021, Vladimir Sitnikov <
sitnikov.vladi...@gmail.com> wrote:

> >The annotations could be used for scanning for TestPlan elements on
> startup, too.
>
> I remember we have discussed it, however, it sounds like a different
> feature.
> Of course, some level of code generation might help, however, I have no use
> cases for it now.
>
> >Maybe start with a global org.apache.jmeter.experimental.dsl
> package/module name
>
> I think experimental works better with annotations like
> @OptIn(Experimental)
> If you put experimental into a package name, you can't remove it without
> breaking the usages.


Looks good to me

>
> A single .dsl. package would help indeed, so users could import
> jmeter.dsl.* and use the functions rather than import every package or
> class individually.
> On the other hand, the users won't be able to unimport features they do not
> need


That looks acceptable to me

>
> > Kotlin has a very similar string template format to JMeter, is there a
> good way to distinguish those, or guard the JMeter ones?
>
> That is indeed a problem.
> I've idea what would work the best to resolve it.
> Changing syntax to %{..} might work.
> Changing syntax to explicit expr("__javaScript(...)") might work as well.
> Making variables explicit might work as well. For instance, we can declare
> "variable holder", and pass it to regex extractor, and later use it for
> retrieving the result.
> That would reduce the number of cases where $ is needed in the test plan as
> every use of $ is basically a place for hidden error like "use of undefined
> variable", and so on


is your suggestion about changing JMeter ${var} syntax or do I
misunderstand ?


>
> > It seems, that `aggregateReport` has its parameters given by a closure
> (is that the right name?) , while `http` per positional parameter. Is
> this a Kotlin feature, that we can mix those, or is it only a first
> example and showing different ways of settings parameters on the elements?
>
> Kotlin has positioned parameters, it has named parameters, parameters can
> have default values (even computed values based on other parameters), and
> the final lambda can be outside of the parenthesis.
>
> >And a completely other construction site: Currently JMeter uses a global
> context, which could trip off users of the dsl, when they want to
> execute plans in parallel. Would this be worse, than now?
>
> Do you mean static context when running the plan?
>
> Vladimir
>


-- 
Cordialement
Philippe M.
Ubik-Ingenierie

Reply via email to