All Downloads are FREE. Search and download functionalities are using the official Maven repository.

info.novatec.testit.webtester.events.pagefragments.SelectionChangedEvent Maven / Gradle / Ivy

package info.novatec.testit.webtester.events.pagefragments;

import org.openqa.selenium.WebElement;

import lombok.Getter;

import info.novatec.testit.webtester.events.Event;
import info.novatec.testit.webtester.events.EventListener;
import info.novatec.testit.webtester.events.EventSystem;
import info.novatec.testit.webtester.events.PageFragmentEventBuilder;
import info.novatec.testit.webtester.pagefragments.Checkbox;
import info.novatec.testit.webtester.pagefragments.PageFragment;
import info.novatec.testit.webtester.pagefragments.RadioButton;
import info.novatec.testit.webtester.pagefragments.traits.Selectable;


/**
 * This {@link Event event} occurs whenever a selection is changed.
 * 

* It contains the before and after selection values as properties. * * @see Event * @see EventListener * @see EventSystem * @see Selectable * @see Checkbox * @see RadioButton * @since 2.0 */ @Getter public class SelectionChangedEvent extends AbstractPageFragmentEvent { private final boolean before; private final boolean after; public SelectionChangedEvent(PageFragment fragment, boolean before, boolean after) { super(fragment); this.before = before; this.after = after; } @Override public String describe() { return "changed selection of '" + getPageFragmentName() + "' from '" + before + "' to '" + after + "')"; } public static class Builder extends AbstractPageFragmentEventBuilder { private Boolean before; private Boolean after; @Override public boolean needsBeforeData() { return true; } @Override public PageFragmentEventBuilder setBeforeData(WebElement webElement) { this.before = webElement.isSelected(); return this; } @Override public boolean needsAfterData() { return true; } @Override public PageFragmentEventBuilder setAfterData(WebElement webElement) { this.after = webElement.isSelected(); return this; } @Override protected SelectionChangedEvent buildWith(PageFragment fragment) { return new SelectionChangedEvent(fragment, before, after); } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy