robotframework / OldSeleniumLibrary

Deprecated Selenium library for Robot Framework
Apache License 2.0
13 stars 3 forks source link

Adding native support for scLocator (for SmartGWT testing) #184

Closed spooning closed 9 years ago

spooning commented 9 years ago

Originally submitted to Google Code by gynaec... on 1 Apr 2011

It would be nice to have scLocators support for the library. Right now if you need to perform any operation on SmartGWT object you should change

smth like this: Input Text loginId ${username} to smth like that: Call Selenium Api type scLocator=//Window[ID="isc_OID_6"]/item[0][Class="DynamicForm"]/item[name='usernameItem'][Class="TextItem"]/element ${username}

spooning commented 9 years ago

Originally submitted to Google Code by @pekkaklarck on 1 Apr 2011

Does Call Selenium Api type scLocator=/.... work out-of-the-box otherwise? If it does, then it should be pretty trivial to support scLocators also directly. If this location strategy requires something else, then we either need to bundle that something with SeleniumLibrary somehow or you can use Add Location Strategy keyword yourself: http://robotframework-seleniumlibrary.googlecode.com/hg/doc/SeleniumLibrary.html?r=2.6#Add%20Location%20Strategy

spooning commented 9 years ago

Originally submitted to Google Code by gynaec... on 1 Apr 2011

One need to add user-extension.js which comes with SmartGWT 2.4 to get the support first

spooning commented 9 years ago

Originally submitted to Google Code by @pekkaklarck on 2 May 2011

First of all, have you tested can you enable scLocators using the previously mentioned Add Location Strategy keyword?

Adding full and automatic support for scLocators to the library would require bundling the user-extension.js required by them into the library. A problem with this is that we have already bundled user-extensions.js required by FlexTesting. Selenium doesn't, AFAIK, support more than one user-extension.js so we needed to combine these to files into. That's probably doable but updating them when there are changes would get problematic.

Notice also that we haven't bundled user-extension.js required by jQueryElementSelectors. People using them have been fine with including it themselves and using Add Location Strategy to register jQuery locators. If we decided to add full support for scLocators we should probably add similar support also for jQuery locators. This would naturally require merging three different user-extension.js files into one.

Personally I'm not sure how to handle this. I like the idea of bundling everything we easily can with the library, but due to Selenium's limitation of supporting only one user-extension.js that can get messy. Perhaps this discussion should be moved to robotframework-users.

spooning commented 9 years ago

Originally submitted to Google Code by gynaec... on 12 May 2011

Hi there, Thank you for your reply and clarification! Add Location Strategy works perfectly fine for me. I understand that adding everything to user-extensions and what is more important maintaining it might be a pain. I would say it is something like a nice to have feature for me, because all apps I am dealing with currently is build with SmartGWT. Thank you once again for the hint. Vladimir

spooning commented 9 years ago

Originally submitted to Google Code by @yanne on 14 Dec 2011

I think that this is not something we want to include in the core.