使用Robotium的数据库事务

时间:2013-07-31 18:03:37

标签: robotium

Heloo All,

我正在使用Robotium开发的产品自动化。能够应付许多模块。唯一的问题是我需要对验证进行硬编码,如:

如果userName为“xyz”,则密码必须为“12345”。在硬编码上,值为 -

solo.enterText(0, “XYZ”); solo.enterText(1, “12345”);

这很好用。但我只是想知道是否有任何方法可以查询正在使用的数据库,从那里获取值并使solo类验证测试。

对此问题的任何解决方案和示例都将非常感激。

1 个答案:

答案 0 :(得分:1)

按照以下步骤实现此目的,

步骤:1。从数据库中读取值并将其存储在XML中。

    Class.forName(sun.jdbc.odbc.JdbcOdbcDriver).newInstance();
    Connection con = DriverManager.getConnection(jdbc:odbc:myData, “”, “”);
    Statement stmt = con.createStatement();
    String query = “Select UserName, Password from Customers”;
    ResultSet rs = stmt.executeQuery(query);
    StringBuffer xml = “<?xml version=‘1.0’?><myDatabase><customers>”;
    while (rs.next()) {
         xml.append(“<custRec><custUserName>”);
         xml.append(rs.getString(“UserName”));
         xml.append(“</custName><cusPassword>”);
         xml.append(rs.getInt(“Password”));
         xml.append(“</custPassword></custRec>”);
    }
    xml.append(“</customers></myDatabase>”);

步骤:2。从XML文件中读取值并在Solo类中使用它。

StringReader stringReader = new StringReader(xmlString);
InputSource inputSource = new InputSource(stringReader);    
DOMParser domParser = new DOMParser();
domParser.parse(inputSource);
Document document = domParser.getDocument();
NodeList userNameList = doc.getElementsByTagName(“custUserName”);
NodeList passwordList = doc.getElementsByTagName(“custPassword”);