Java-创建动态变量表,可以轻松回调变量
我是一个新手程序员,非常新手 我正在尝试编写一个程序来测试我们的网站,并且正在使用Java和Selenium 问题是我想创建一个“表”或“引用”,它允许我存储可以轻松回调并在不同调用中使用的变量 我尝试使用HashMap,但发现它不好,因为当我重新运行测试代码时,每次都有一个新的HashMap。我想要的是能够存储这些值并在下次运行代码时记住它们的东西 我考虑过创建一个mysql表,但我不知道如何在创建变量后从表中调用它们 我希望这有点道理0)如果示例更有用,请查看下面的内容 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 下面是我使用的hashmap的一个示例:Java-创建动态变量表,可以轻松回调变量,java,variables,selenium,hashmap,Java,Variables,Selenium,Hashmap,我是一个新手程序员,非常新手 我正在尝试编写一个程序来测试我们的网站,并且正在使用Java和Selenium 问题是我想创建一个“表”或“引用”,它允许我存储可以轻松回调并在不同调用中使用的变量 我尝试使用HashMap,但发现它不好,因为当我重新运行测试代码时,每次都有一个新的HashMap。我想要的是能够存储这些值并在下次运行代码时记住它们的东西 我考虑过创建一个mysql表,但我不知道如何在创建变量后从表中调用它们 我希望这有点道理0)如果示例更有用,请查看下面的内容 ++++++++++
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"));
仅供参考:这对我不起作用的原因是我希望能够用“如果”语句来包装它;告诉计算机如果名为“GroupName”的变量已经存在,请不要再这样做。。但是,每次运行脚本时,我都会调用函数[HashMap idTable=new HashMap();],我不知道如何不进行调用,因为HashMap没有保存在任何地方。。它每次都被创建为新的。
谢谢, 奥利 我不知道该在哪里加上这句话:但我是按照第一条建议做的。
哈希映射idTable
试一试{
ObjectInputStream为=新ObjectInputStream(
新文件输入流(“C:\Documents and Settings\My Documents\Selenium local\hashmap.dat”);
idTable=(HashMap)是.readObject();
}
捕获(例外e){
idTable=新HashMap();
} 然后:
试一试{
ObjectOutputStream os=新的ObjectOutputStream(
新的FileOutputStream(“C:\Documents and Settings\My Documents\Selenium local\hashmap.dat”);
os.writeObject(idTable);
os.close();
}
捕获(例外e){
}
它起作用了谢谢你的帮助 您必须将它们存储在代码之外的某个地方,因为每当JVM关闭时,代码都会离开。这有两个很好的选择
- 使用SQL数据库,如果您愿意,可以通过google进行更多研究
- 通过文件,只需在程序结束时将HashMap数据库写入一个文件(Do
,并向其传递一个将HashMap存储到该文件的线程),然后在代码开始时从该文件读取它(如果该文件不存在,则创建一个新文件,并向其存储一个空HashMap)Runtime.addShutdownHook
它通常用于加载配置文件。属性文件也是迄今为止存储配置数据的最简单方法。所有的存储和加载/解析都由Properties类本身处理,您可以手动将该文件编辑为一个简单的文本文件。不需要数据库连接或XML解析器。