When I fill in "value" for "field" by its attribute

Fill an input field located by attribute (reverse syntax).

Step pattern

When (I |we )*fill in "([^"]*)?" for "([^"]*)?" by( its)*(?: "([^"]*)?")* (attribute|attr)

Examples

Example #1
When I fill in "John Smith" for "#uname" by attr
Example #2
When I fill in "John Smith" for "uname" by attr
Example #3
And I fill in "1234" for "password" by "class" attr
Example #4
And I fill in "John Smith" for "Your full name" by its "placeholder" attribute