There's a question on displaying default values in UI: https://github.com/apache/jmeter/issues/6026 They say it is confusing to see the defaults in "HTTP Request Defaults" since the user can't tell if it will overwrite HTTP request or not.
I agree it is confusing, and it brings a new question: can we really "omit saving default values"? In other words, if we omit saving the defaults, then we won't be able to tell if user intentionally sets the value to UTF-8 or not. As a quick WA I suggest PR https://github.com/apache/jmeter/pull/6027 , however, we probably need to adjust "default vs unset" behaviour later, especially for checkbox-like elements where it is hard to tell if the unset value is intentionally blank or if it is just a default. I guess we need to cancel the vote, merge something like 6027 and create RC2 --- One of the solutions could be: * treat blank text field as an intention to "remove property" (==PR6027) * treat non-blank field as an intention to "keep exactly that value" (==PR6027) * It is not clear what to do with checkboxes though I believe it is super confusing if "empty checkbox in HTTP Request Default" should override a "filled checkbox in HTTP Request Sampler". In other words, for text fields it is unlikely people would need "intentionally blank values", so we can treat "blank fields" as if user wants clearing the value. However, for checkboxes, they would need both "just use default" or "intentionally unsed checkbox". * A similar question exists for radio buttons: how do we identify which was just left intact vs which was intentionally selected It becomes challenging at the API level as well: is TestElement.setProperty(key, null) and intentionally set blank value, or could it remove property instead? Should TestElement.setProperty(key, "") be treated differently from TestElement.setProperty(key, null)? I guess, the ideal case is that UI components should track which fields were modified, and save only the modified fields to the element properties. Vladimir