Special Scenario to play


I need to test an eCommerce website. Here is my simplified test :

val chain1 = exec(…)
val chain2 = exec(…)

val chain3 = exec(…)

val chain4 = exec(…)

val scn = scenario (“test”).exec(

/* here is what I want to do in not-scala language */

90% of users => random[1 request of chain1 + 3 request of chain2 + 2 requests of chain3] + chain4

/* the previous stuff would lead to this kind of requests => chain1, chain3, chain2, chain2, chain3, chain2, chain4 OR chain2, chain3, chain2, chain1, chain2, chain3, chain4 */

OR (randomSwitch style)

10% of users => chain4


The goal is to play 2 differents behaviors of users, where the first one have to play each request a certain number of times, because, on the website, chain1 represents 10% of viewpages, chain2 40%, etc…
I tried everything I can find… nothing works :frowning:
Please help !!


This is a typical example of a click flow.

If I normalise that to how we usually handle this kind of thing, you get:

90% chance:
Do the following 6 times:
1 in 6 chance: chain1
3 in 6 chance: chain2
2 in 6 chance: chain 3

Then always do chain4

The above isn’t exactly equivalent to what you described, but the total load distribution should be the same.

This is, btw, why we have weighted flow lists that can use weight expressions that are not percentages: one-in-six doesn’t quite fit into a percentage expression…