Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-创建动态变量表,可以轻松回调变量_Java_Variables_Selenium_Hashmap - Fatal编程技术网

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

Java-创建动态变量表,可以轻松回调变量,java,variables,selenium,hashmap,Java,Variables,Selenium,Hashmap,我是一个新手程序员,非常新手 我正在尝试编写一个程序来测试我们的网站,并且正在使用Java和Selenium 问题是我想创建一个“表”或“引用”,它允许我存储可以轻松回调并在不同调用中使用的变量 我尝试使用HashMap,但发现它不好,因为当我重新运行测试代码时,每次都有一个新的HashMap。我想要的是能够存储这些值并在下次运行代码时记住它们的东西 我考虑过创建一个mysql表,但我不知道如何在创建变量后从表中调用它们 我希望这有点道理0)如果示例更有用,请查看下面的内容 ++++++++++

我是一个新手程序员,非常新手

我正在尝试编写一个程序来测试我们的网站,并且正在使用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"));


仅供参考:这对我不起作用的原因是我希望能够用“如果”语句来包装它;告诉计算机如果名为“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
    Runtime.addShutdownHook
    ,并向其传递一个将HashMap存储到该文件的线程),然后在代码开始时从该文件读取它(如果该文件不存在,则创建一个新文件,并向其存储一个空HashMap)
对于简单的字符串键/值对,使用的实例。它是一个映射,与HashMap类似,但具有用于将其内容读/写到文件的加载和存储方法。这对于简单的测试使用应该是足够的


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

属性文件也是迄今为止存储配置数据的最简单方法。所有的存储和加载/解析都由Properties类本身处理,您可以手动将该文件编辑为一个简单的文本文件。不需要数据库连接或XML解析器。