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

org.sitoolkit.tester.domain.genscript.selenium.RadioCheckLoader Maven / Gradle / Ivy

The newest version!
package org.sitoolkit.tester.domain.genscript.selenium;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.sitoolkit.tester.domain.genscript.PageContext;
import org.sitoolkit.tester.domain.genscript.PageLoader;
import org.sitoolkit.tester.domain.test.Locator;
import org.sitoolkit.tester.domain.test.TestStep;

public class RadioCheckLoader extends SeleniumPageLoader implements PageLoader {


    @Override
    public void load(PageContext ctx) {
        for (WebElement element : driver.findElements(
                By.cssSelector("input[type='radio'],input[type='checkbox']"))) {

            String name = element.getAttribute("name");
            if (ctx.containsName(name)) {
                continue;
            }

            int caseNo = 1;
            TestStep step = null;
            for (WebElement choice : driver.findElements(By.name(name))) {
                WebElement choiceLabel = findLabelByForId(choice.getAttribute("id"));

                if (choiceLabel == null) {
                    break;
                }

                if (step == null) {
                    step = ctx.create();
                    step.setOperationName("choose");
                    step.setLocator(Locator.build("name", name));
                    step.setDataType("label");
                    ctx.add(convert(element.getLocation()), step);
                }

                step.setTestData("00" + Integer.toString(caseNo++), choiceLabel.getText());
            }
        }

    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy