Java - 创建动态变量表,我可以轻松地回调变量

时间:2012-10-01 21:11:46

标签: java variables selenium hashmap

我是新手程序员,非常新手..

我正在尝试编写一个程序来测试我们的网站并使用Java和Selenium。

问题是我想创建一个“表”或“引用”,这将允许我存储可以轻松回调并在不同调用中使用的变量。

我尝试使用HashMap但发现它并不好,因为当我重新运行测试代码时,每次都会有一个新的hashmap。我希望能够存储值并在下次运行代码时记住它们。

我查看了创建一个mysql表但是我无法弄清楚如何在创建表之后调出变量。

我希望这有一定道理。 :0)如果一个例子更有用,请查看下面的内容 ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++

以下是我正在使用的hashmap的示例:

HashMap idTable = new HashMap();
idTable.put("GroupName", new String("Group " + 
              Long.toHexString(Double.doubleToLongBits(Math.random()))));
element = driver.findElement(By.id("name"));
element.sendKeys((String)idTable.get("GroupName"));



仅供参考:这对我不起作用的原因是我希望能够将其包含在“if”声明中;告诉计算机,如果名为“GroupName”的变量已经存在,那么不要再这样做..但是每次运行脚本时我都会调用函数[HashMap idTable = new HashMap();]而且我不知道不知道如何不进行调用,因为HashMap没有保存在任何地方..每次都会创建新的。

感谢, Orli

不知道在哪里添加这个:但是按照第一个建议这就是我做的。
HashMap idTable;

试试{
ObjectInputStream = new ObjectInputStream(
新的FileInputStream(“C:\ Documents and Settings \ My Documents \ Selenium local \ hashmap.dat”));
idTable =(HashMap)is.readObject();
}
catch(例外e){
idTable = new HashMap();
}

然后:

试试{
ObjectOutputStream os = new ObjectOutputStream(
新的FileOutputStream(“C:\ Documents and Settings \ My Documents \ Selenium local \ hashmap.dat”));
os.writeObject(idTable);
os.close();
}
catch(例外e){
}

有用。 :0)感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

Properties的实例用于简单的字符串键/值对。它是一个Map,就像HashMap一样,但它有用于读取/写入其内容到文件的加载和存储方法。这对于简单的测试用途来说应该足够了。

它通常用于加载配置文件。

答案 1 :(得分:0)

您必须将它们存储在代码中的某个位置,因为每当JVM关闭时代码都会再次出现。有两个很好的选择是

  • 使用SQL数据库,如果需要,可以通过谷歌进行更多研究
  • 通过文件,只需将HashMap数据库写入程序末尾的文件(Do Runtime.addShutdownHook,然后将一个存储您的hashmap的线程传递给该文件),并将其从文件中读取代码的开头(如果文件是不存在的,则创建一个新的,并将空的hashmap存储到它)