【发布时间】:2011-03-03 21:40:53
【问题描述】:
如何使用 eclipse 在我的 junit selenium 测试用例中解析 xml 文件,我想从该文件中获取数据并使用我的 selenium RC 测试用例将其插入到表单中。
【问题讨论】:
标签: java xml junit selenium selenium-rc
如何使用 eclipse 在我的 junit selenium 测试用例中解析 xml 文件,我想从该文件中获取数据并使用我的 selenium RC 测试用例将其插入到表单中。
【问题讨论】:
标签: java xml junit selenium selenium-rc
Java 具有处理 XML 处理的内置机制。它支持 DOM 和 SAX 解析器。 你可能想看看http://download.oracle.com/javaee/1.4/tutorial/doc/JAXPIntro.html
【讨论】:
看看dom4j,这是我的做法。我实现了一个 selenium + Junit 框架,所有的数据输入都是 XML 格式。所以我设置了xml输入的结构。因此,如果您朝着这个方向前进,我建议您确定 xml 格式/结构。
例子:
<seleniumtest>
<!-- Selenium Test Parameters -->
<Parameter name="inputValue">
<value>myvalue</value>
</Parameter>
<Parameter name="mypassword">
<value>password</value>
</Parameter>
<Parameter name="users">
<value>user1</value>
<value>user2</value>
</Parameter>
</seleniumtest>
一旦您最终确定了结构,您就可以开始编写解析并将数据公开到测试的其余部分或仅用于一次测试。
这是您的 xml 解析器的开始,创建一个类并在 xml 文件中读取构造函数,
public class XMLFileParser {
private static final Logger log = Logger.getLogger(XMLFileParser.class.getName());
private Document document;
/**
* Method will construct a Document Object from the given InputStream
* @param readIn The input stream to read the document.
*/
public XMLFileParser(InputStream readIn) {
SAXReader reader = new SAXReader();
try {
document = reader.read(readIn);
}catch (DocumentException ex) {
log.error("Error when attempting to parse input data file", ex);
}
}
/**
* Write a method to iterate over the nodes to actually parse the xml file.
*/
public HashMap<String, Object> parseInput(HashMap<String, Object> params) {
Element rootElement = document.getRootElement();
for(Iterator iter = rootElement.elementIterator("Parameter"); iter.hasNext();) {
// This where you should write your parse logic,
}
return params;
}
它不一定是哈希图,但这就是我想要做的,你可以让这个方法根据你的框架返回任何你想要的东西。
玩得开心;
【讨论】:
【讨论】: