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

WebDriver support for testing #675

Open
jhickman opened this issue Jul 26, 2022 · 1 comment
Open

WebDriver support for testing #675

jhickman opened this issue Jul 26, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@jhickman
Copy link

It will be very helpful to have a module that supports Selenium WebDriver for testing applications written with DominoUI components.

Similar to gwt-driver, we would need to be able to 'find' and operate with DominoUI components from a testing perspective. gwt-driver has a small advantage with UIObject/Widget subclasses as the elements inserted into the DOM contain the __listener property with class information, so it makes is easy to crawl up elements to find the first one associated with a Widget.

However, with DominoUI, this does not seem possible, so a more 'raw' HTML search will be needed.

If the components are 'found' by using CSS classes, then it may make sense for the module to be closely related to domino ui releases; in case CSS classes change from release to release.

I can foresee having several base classes (again, similar to gwt-driver):

@ForDominoComponent(BaseDominoElement.class)
public class DominoComponent<F extends DominoComponentFinder<?>> {
  public static <C extends DominoComponent<T>, T extends DominoComponentFinder<C>> T find(Class<C> componentType, WebDriver driver) {
     // ...
  }
 // ...
}

Then usage:

CheckBoxModel cb = DominoComponent.find(CheckBoxModel.class, getDriver(), getElement())
    .withLabel("Apply to all")
    .done();

cb.click();
@vegegoku
Copy link
Member

vegegoku commented Aug 3, 2022

I once implemented something for one of our applications that uses domino-ui that can drive the whole UI from selenium web driver APIs ..but it was specific to that application. maybe I can take some ideas from that too.

@vegegoku vegegoku added the enhancement New feature or request label Nov 18, 2022
@vegegoku vegegoku added this to the 1.0.0-RC15 milestone Nov 18, 2022
@vegegoku vegegoku removed this from the 1.0.0-RC15 milestone Jan 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants