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

jp.vmi.selenium.selenese.TestSuiteParser Maven / Gradle / Ivy

package jp.vmi.selenium.selenese;

import javax.xml.transform.TransformerException;

import org.apache.commons.io.FilenameUtils;
import org.apache.xpath.XPathAPI;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import jp.vmi.selenium.selenese.command.ICommandFactory;
import jp.vmi.selenium.selenese.inject.Binder;

/**
 * Parse Selenese script of test-suite.
 */
public class TestSuiteParser extends Parser {

    protected TestSuiteParser(String filename, Document document) {
        super(filename, document);
    }

    @Override
    protected Selenese parse(ICommandFactory commandFactory) {
        try {
            TestSuite testSuite = Binder.newTestSuite(filename, null);
            NodeList nodeList = XPathAPI.selectNodeList(docucment, "//TBODY/TR/TD/A/@href");
            for (Node node : each(nodeList)) {
                String tcFilename = node.getNodeValue();
                testSuite.addSeleneseFile(tcFilename, commandFactory);
            }
            return testSuite;
        } catch (TransformerException e) {
            return Binder.newErrorTestSuite(FilenameUtils.getBaseName(filename), new InvalidSeleneseException(e));
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy