microsoft / azure-load-testing

MIT License
22 stars 3 forks source link

[Feature Request] Fragment files #22

Open ptjuanramos opened 2 years ago

ptjuanramos commented 2 years ago

When creating a new test, we need to provide a JMX file in Test plan tab. However, it seems that it's missing a crucial feature of JMeter, which is Fragments files, which helps, for example, developers and QA managers to modularize huge test files.

For example:

This is not possible since that the preview version doesn't allow the user to upload those fragment list, which could lead to difficulties on migrating to Azure Load Testing service.

Possible solution:

I don't know if allowing multiple files to be uploaded is a good idea, instead, I think having a different tab to upload fragment files can solve the problem.

AB#1451982

kaumishra commented 2 years ago

Hi @ptjuanramos Thanks for the feedback. I definitely agree that this is a crucial scenario. I have added this to our backlog. I will update here as soon as we have a timeline for this. Apologies for the delayed reply.

jcoryatjr commented 1 year ago

This is a critical feature, especially for larger more complicated test plans. Not having this would be copying and pasting the same activities over and over again and hope you never have to change them. I see this as a massive oversight on the part of the Azure team. Seems you have known about this since 2021?

A possible solution to incorporate this as part of a CI pipeline is to use the artifacts from a build pipeline as the resources for the test. Then the file structure for the JMeter test and its artifacts can be packaged into a single deployable component.

MrBlueSky commented 1 year ago

I would like to second @jcoryatjr points.

I'm running into an issue where I can only upload one JMX file to the AZ load test and we have a complicated set of scripts that would be more maintainable if test fragments were an option.

Unfortunately, you can only have one JMX in the project and even if multiple scripts was supported, there's not a way to mark the root script.

Workaround: If you rename your child test fragments with *.xml extension and point to that from the root script, it works. At least for a very simple case I devised.

cmyllis commented 7 months ago

Is this on the backlog for 2 years or is it decided to not be implemented? The lack of support for fragments will probably cause a lot of issues when a step of a test will need an update. All related tests will need to be updated.

shealy13 commented 6 months ago

@kaumishra are there any updates on an ETA for this? Modularization of scripts (i.e. one script can reference another) is a best practice. Being limited to only 1 JMX file per test is a major issue.

MrBlueSky commented 6 months ago

I've been running test fragments using include controllers since August of last year. As I mentioned, if you rename the included fragments to *.xml, you will be okay.

We automate this process in an ADO deployment pipeline. However, if you are doing things manually, be aware that you can edit JMX files in the GUI even if they are using a *.xml extension.

shealy13 commented 6 months ago

I've been running test fragments using include controllers since August of last year. As I mentioned, if you rename the included fragments to *.xml, you will be okay.

We automate this process in an ADO deployment pipeline. However, if you are doing things manually, be aware that you can edit JMX files in the GUI even if they are using a *.xml extension.

Thanks @MrBlueSky, I'll try that out.