Angularjs - Dynamic dropdown ids working with Selenium Testing

Hi,
We have an application were we dynamically create dropdowns inside an angular ng-repeat which is fine. The issue is that to get the dropdowns to work correctly, and have uniqueness you cannot use the 'id' property, so have to use ng-attr-id.
But doing this means there are no unique dropdown ids for the containers, such as "_wrapper" or "_dropdown" or "_popup_wrapper". Therefore when there are multiple dropdowns it is impossible for Selenium UI Testing to find the right _popup_wrapper, and therefore the list inside the popup.


Can you suggest a way to find the corresponding pop_wrapper for the correct dropdown?

Cheers ... Rob.

1 Reply

DR Dhinesh Ravi Syncfusion Team April 11, 2016 11:13 AM UTC

Hi Rob,

Thanks for contacting Syncfusion Support.

We have a property named as _requiresID in our source. When this property is set to true, it generates the ID for the control automatically using the prefix “ejControl-(index)”, if the ID is not provided for the control in the sample .

To set this property, we need to define it in the prototype of DropDown control. Refer to the following code example.

[html]

<script>

        ej.DropDownList.prototype._requiresID = true;

</script>


Note: This script needs to be set next to ej.web.all.min.js script reference.

We can use the ID “ejControl-(index)”[ejControl-0], to write the testing automation using selenium.

We have also modified your code example.

http://jsplayground.syncfusion.com/dfuyk5km



Regards,
Dhinesh R

Loader.
Up arrow icon