Form Element Path Plugin

Skip to end of metadata
Go to start of metadata

Plugin Information

Plugin ID form-element-path Changes In Latest Release
Since Latest Release
Latest Release
Latest Release Date
Required Core
Dependencies
1.5 (archives)
May 21, 2015
1.424
Source Code
Issue Tracking
Pull Requests
Maintainer(s)
GitHub
Open Issues
Pull Requests
n/a (id: ogondza)
Usage Installations 2014-Jul 46
2014-Aug 42
2014-Sep 42
2014-Oct 38
2014-Nov 41
2014-Dec 39
2015-Jan 38
2015-Feb 43
2015-Mar 46
2015-Apr 39
2015-May 39
2015-Jun 45

What is this?

This plugin adds distinctive path attributes to every form elements inside Jenkins so that automated test programs like Selenium can be used more effectively to automate/test Jenkins.

How it works

With this plugin enabled, every control inside a form gets the path attribute. The value of this attribute is something like "/hudson-tasks-ArtifactArchiver/artifacts", and is modeled after XPath.

Configuration pages in Jenkins are assmbled from small pieces that plugins contribute. Furthermore, in general they form a tree structure, and each such fragment can be used multiple times in different context. For example, think of Conditional BuildStep Plugin that allows you to add arbitrary builder as a nested builder inside the "conditional build step" builder.

Because of this reusability of fragments, the id and name attributes cannot be used reliably to point to a specific fragment. That's why we need XPath-like expression.

Find a path that's assigned to element

Use JavaScript DOM inspector in your browser to pick up an INPUT/BUTTON/SELECT elements, and look for the path attribute.

Compatibility

This plugin works with 1.424 and later. When you interact with form and cause DOM changes, you can call recomputeFormElementPath() function from JavaScript to recompute Path to reflect DOM changes.

With Jenkins 1.452 and later, this explicit invocation is unnecessary.

Changelog

Version 1.0 (June 22, 2012)

  • Initial release
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.