我是新手程序员,非常新手..
我正在尝试编写一个程序来测试我们的网站并使用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)感谢您的帮助!
答案 0 :(得分:2)
将Properties的实例用于简单的字符串键/值对。它是一个Map,就像HashMap一样,但它有用于读取/写入其内容到文件的加载和存储方法。这对于简单的测试用途来说应该足够了。
它通常用于加载配置文件。
答案 1 :(得分:0)
您必须将它们存储在代码中的某个位置,因为每当JVM关闭时代码都会再次出现。有两个很好的选择是
Runtime.addShutdownHook
,然后将一个存储您的hashmap的线程传递给该文件),并将其从文件中读取代码的开头(如果文件是不存在的,则创建一个新的,并将空的hashmap存储到它)