Re: [foreman-dev] Unique IDs and UI testing automation

2017-11-30 Thread Lukas Zapletal
Just to be sure it does not get lost:

> All inputs, including those not technically in a form (row select
> checkboxes, for example)
> All buttons

All buttons (which are links) already has data-id which is always
present and when not, it is auto-generated from HREF attribute. This
was added by Og request, perhaps it did not serve well?

Autogeneration cannot be used in other cases, I guess there is no
other way than explicitly adding those IDs manually.

I vote for raising an exception when ID is missing and Rails are in
development mode so we will never add such an element without an ID.
Would be good to have some kind of ID "registry" also available for
plugins so we prevent from making double IDs. I can imagine something
similar than what's used in i18n world: N_(id) when you can easily
create simple parser to verify whole codebase to extract those strings
(and easily spot wrong IDs).

-- 
Later,
  Lukas @lzap Zapletal

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [foreman-dev] Unique IDs and UI testing automation

2017-11-30 Thread Lukas Zapletal
This code was actually created by me to server the very same purpose -
QAs asked for this. They wanted to have all buttons (links) to have an
ID and now they have it.

https://github.com/theforeman/foreman/commit/bfee97b6a6980b6ad4f5bd65f4b60680f08967f5

This is the request: http://projects.theforeman.org/issues/3751

We used data-id to carry the information. It is autogenerated from
HREF path, if that's missing then its "aid_not_defined".

I am not sure what happened and why QAs are not using this anymore. If
this is not used, it should go away. Indeed it looks like a hack, but
I wanted to have a generic solution to the problem - QAs always come
to us and request "can you add ID here, and here", this was supposed
to solve this issue so they are unblocked until we add explicit IDs
there.

LZ

On Wed, Nov 29, 2017 at 11:45 PM, Tomer Brisker  wrote:
> While I don't mind adding more IDs, care should be taken to make sure there
> aren't any duplicate ids on the same page.
> We already add data-id attributes to all links in a bit of a hacky way [1],
> I'd be happy to get rid of this unreadable code (which i'm not sure is even
> used anywhere) and replace it with actual ids in a consistent manner.
>
> [1]
> https://github.com/theforeman/foreman/blob/develop/app/helpers/application_helper.rb#L6
>
> On Wed, Nov 29, 2017 at 9:06 PM, Walden Raines  wrote:
>>
>> > Seems reasonable to me. I don't really see a downside other than the
>> > work to add all the IDs.
>>
>> I don't think we should go through the entire application and add the IDs.
>> I think the way to tackle this is two-fold:
>>
>> Add IDs as we update functionality on pages that don't have these IDs
>> Encouraging QE to report missing IDs (and potentially open a PR to add
>> them) on troublesome pages
>>
>> The latter has already been agreed to, the former is in our hands to
>> remember to do.
>>
>> Cheers,
>> Walden
>>
>>
>> On Wed, Nov 29, 2017 at 1:31 PM, Ewoud Kohl van Wijngaarden
>>  wrote:
>>>
>>> On Wed, Nov 29, 2017 at 01:08:13PM -0500, Walden Raines wrote:

 In order to assist in UI automation, I would like to propose that we add
 unique IDs to the following elements:

   - Tables and table rows (s)
   - All inputs, including those not technically in a form (row select
   checkboxes, for example)
   - All buttons

 These IDs should all follow the same format, perhaps something like
 object.class-object.id-element.type.  For example, product-2-row and
 product-2-checkbox.

 Thoughts on this?  Anything that needs to be added or changed?
>>>
>>>
>>> +1 This was also the feedback I heard from QE. Sometimes they have to use
>>> xpaths to test which are more likely to break than IDs.
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "foreman-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to foreman-dev+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "foreman-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to foreman-dev+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
> Have a nice day,
> Tomer Brisker
> Red Hat Engineering
>
> --
> You received this message because you are subscribed to the Google Groups
> "foreman-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to foreman-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



-- 
Later,
  Lukas @lzap Zapletal

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [foreman-dev] Unique IDs and UI testing automation

2017-11-29 Thread Tomer Brisker
While I don't mind adding more IDs, care should be taken to make sure there
aren't any duplicate ids on the same page.
We already add data-id attributes to all links in a bit of a hacky way [1],
I'd be happy to get rid of this unreadable code (which i'm not sure is even
used anywhere) and replace it with actual ids in a consistent manner.

[1]
https://github.com/theforeman/foreman/blob/develop/app/helpers/application_helper.rb#L6

On Wed, Nov 29, 2017 at 9:06 PM, Walden Raines  wrote:

> > Seems reasonable to me. I don't really see a downside other than the
> work to add all the IDs.
>
> I don't think we should go through the entire application and add the
> IDs.  I think the way to tackle this is two-fold:
>
>- Add IDs as we update functionality on pages that don't have these IDs
>- Encouraging QE to report missing IDs (and potentially open a PR to
>add them) on troublesome pages
>
> The latter has already been agreed to, the former is in our hands to
> remember to do.
>
> Cheers,
> Walden
>
>
> On Wed, Nov 29, 2017 at 1:31 PM, Ewoud Kohl van Wijngaarden <
> ew...@kohlvanwijngaarden.nl> wrote:
>
>> On Wed, Nov 29, 2017 at 01:08:13PM -0500, Walden Raines wrote:
>>
>>> In order to assist in UI automation, I would like to propose that we add
>>> unique IDs to the following elements:
>>>
>>>   - Tables and table rows (s)
>>>   - All inputs, including those not technically in a form (row select
>>>   checkboxes, for example)
>>>   - All buttons
>>>
>>> These IDs should all follow the same format, perhaps something like
>>> object.class-object.id-element.type.  For example, product-2-row and
>>> product-2-checkbox.
>>>
>>> Thoughts on this?  Anything that needs to be added or changed?
>>>
>>
>> +1 This was also the feedback I heard from QE. Sometimes they have to use
>> xpaths to test which are more likely to break than IDs.
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "foreman-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to foreman-dev+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "foreman-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to foreman-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Have a nice day,
Tomer Brisker
Red Hat Engineering

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [foreman-dev] Unique IDs and UI testing automation

2017-11-29 Thread Ewoud Kohl van Wijngaarden

On Wed, Nov 29, 2017 at 01:08:13PM -0500, Walden Raines wrote:

In order to assist in UI automation, I would like to propose that we add
unique IDs to the following elements:

  - Tables and table rows (s)
  - All inputs, including those not technically in a form (row select
  checkboxes, for example)
  - All buttons

These IDs should all follow the same format, perhaps something like
object.class-object.id-element.type.  For example, product-2-row and
product-2-checkbox.

Thoughts on this?  Anything that needs to be added or changed?


+1 This was also the feedback I heard from QE. Sometimes they have to 
use xpaths to test which are more likely to break than IDs.


--
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [foreman-dev] Unique IDs and UI testing automation

2017-11-29 Thread Andrew Kofink
Seems reasonable to me. I don't really see a downside other than the work
to add all the IDs.

On Wed, Nov 29, 2017 at 1:08 PM, Walden Raines  wrote:

> Hey,
>
> In order to assist in UI automation, I would like to propose that we add
> unique IDs to the following elements:
>
>- Tables and table rows (s)
>- All inputs, including those not technically in a form (row select
>checkboxes, for example)
>- All buttons
>
> These IDs should all follow the same format, perhaps something like
> object.class-object.id-element.type.  For example, product-2-row and
> product-2-checkbox.
>
> Thoughts on this?  Anything that needs to be added or changed?
>
> Thanks,
> Walden
>
> --
> You received this message because you are subscribed to the Google Groups
> "foreman-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to foreman-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Andrew Kofink
akof...@redhat.com
IRC: akofink
Software Engineer
Red Hat Satellite

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[foreman-dev] Unique IDs and UI testing automation

2017-11-29 Thread Walden Raines
Hey,

In order to assist in UI automation, I would like to propose that we add
unique IDs to the following elements:

   - Tables and table rows (s)
   - All inputs, including those not technically in a form (row select
   checkboxes, for example)
   - All buttons

These IDs should all follow the same format, perhaps something like
object.class-object.id-element.type.  For example, product-2-row and
product-2-checkbox.

Thoughts on this?  Anything that needs to be added or changed?

Thanks,
Walden

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.