Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Allow plugins to define new locator types #228

Open
wants to merge 7 commits into
base: trunk
Choose a base branch
from

Conversation

corevo
Copy link
Member

@corevo corevo commented Jun 10, 2018

  • Define new type
  • Resolve that type
  • Export code to support that locator
  • Disallow redefinition of default locators (id, name etc...)
  • Allow the plugin to work for locators set in value as well

@gwtuser
Copy link

gwtuser commented Aug 13, 2018

Does the latest release (v3.2.x) resolve the remaining problems preventing custom locators? The WIKI I was directed to: https://github.com/SeleniumHQ/selenium-ide/wiki/Getting-Started-with-Plugins, dated June 19, claims that only a few issues remain.

@corevo
Copy link
Member Author

corevo commented Aug 14, 2018

There is an issue with knowing wether a specific command requires a locator in advanced.
The way the API works behind the scenes, is when a command that requires a locator, has a 3rd party one, instead we redirect the locator resolution to the plugin, which returns a valid xpath to it.
The way we currently know if a command requires a locator is only when the command is actually running, we need to add more extensive type annotating to commands, which we did as part of the reference tab, but not sufficient enough (not only know if we need a locator, but wether a locator is actually valid, or 3rd party).
Also another problem is recording that locator, the IDE has to propagate all recording events to plugins, so that they can add their own locators to the mix, how do we order them?
Currently order is done by a common understanding (that isn't always true) that: id > name > linkText > css > xpath.

@corevo corevo mentioned this pull request Aug 20, 2018
@CLAassistant
Copy link

CLAassistant commented Nov 23, 2019

CLA assistant check
All committers have signed the CLA.

@corevo corevo mentioned this pull request Jan 6, 2020
8 tasks
@mchirlin
Copy link

Is there any work still being done on adding plugins to IDE? I have a use case for adding locators and exporting from the IDE for recording particular web applications, but it depends on being able to define a new locator so I can return particular targets while recording.

@diemol diemol changed the base branch from master to trunk August 28, 2020 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants