apache / apache/jmeter

Visual diff and merge functionality for JMeter scripts

Open
#1,503 1 comment 0 reactions 0 assignees View on GitHub
enhancement os: All P1
Dominant language
Java
Stars
9.5k
Forks
2.3k
Avg merge
1d 22h
Merged PRs (30d)
5

Description

**Sonam Chauhan** ([Bug 33305](https://bz.apache.org/bugzilla//show_bug.cgi?id=33305&redirect=false)):
Just an idea: visual diff and merge functionality for JMeter scripts. By this I
mean:
1. Functionality to visually display differences between two JMX files
(For eg:, by the highlighting the differing elements)
2. Functionality to accept or reject specific differences.

This is useful in a multi-developer environment

An average "JMeter developer" generally creates JMXs using the graphical
interface, not text tools. A straight text diff between two JMX files is quite
incomprehensible to the average developer. Instead, differences need to be
diplayed in the same visual interface in which JMXs are created.

Since JMX scripts are XML, and there are tools to compare XML documents (e.g.:
http://www.xml.com/pub/r/738 ), this should be quite do-able. However, quite
some work would be required in JMeter to "understand" the XML differences and
display them visually, and to build the "merge" functionality.

Votes in Bugzilla: 3
OS: All

Contributor guide

Open the contributing guide

Research direction

Start by studying how JMX XML files are represented and edited in JMeter's graphical interface, then review the linked Bugzilla proposal for the intended visual comparison workflow. Done would mean users can view differences between two JMX files and accept or reject specific differences, but the issue does not name files, tests, or an implementation entry point.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.