java.lang.OutOfMemory错误: Java heap space - Appium - TestNG Suite

标签 java eclipse import-from-excel

在 Windows 计算机上运行 Appium Android 测试脚本时,我们看到 Java 堆空间异常。我们使用 Apache POI 测试数据表读取。直到第11个脚本套件运行良好,从第12个脚本开始看到Java堆空间异常。

我在 Eclipse 的系统环境变量和 TestNG 运行配置中增加了堆和 prem 空间在此处输入代码。有时没有问题,有时会出现Java堆空间异常。

通过以下消息,我怀疑使用 fileinputstream 读取测试数据表,根据其他论坛,尽管测试数据没有大量数据,但加载时会占用更多内存。

我使用的代码是:

File strExecutionConfigFile = new File(
            strImportedExecutionConfigFilePath);

try {
        strInputExecutionConfigFile = new FileInputStream(
                strExecutionConfigFile);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    try {
        objExecutionConfigWKB = new XSSFWorkbook(
                strInputExecutionConfigFile);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

我发现 XSSF 阅读器格式会消耗较低的内存。可以提供相关代码。

您可以访问以下链接了解Java堆空间异常

https://app.box.com/s/9t3or72lk44liolz8x22n9s0pk2klrna

最佳答案

您将需要检查堆转储。添加以下虚拟机参数:

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/some/location

下次您获得 OOME 时,这将转储如下内容

java_pid27643.hprof

然后使用jvisualvm加载heapdump。 Linux下的命令是:

$ jvisualvm &

您需要加载并检查转储文件,并尝试找出导致 OOME 的原因。文档 here

关于java.lang.OutOfMemory错误: Java heap space - Appium - TestNG Suite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30509497/

相关文章:

excel - 读取多张Excel文件

javascript - 使用 node.js 读取 Excel 文件

java - 尝试找到使用mockito调用匿名内部回调的最佳实践

java - 阻止 Eclipse 在清理时剪切代码行

java - 避免在 Eclipse 中发布资源后重新启动服务器?

c++ - 程序运行,但 Eclipse 调试器挂起

java - 我有哪些选项可以读取 Excel 文件并评估 C#、Java 和 PHP 中的公式?

java - Spring Boot 基本身份验证忽略以 .wsdl 结尾的 URL

java - 基于运行时对象类型执行方法/代码

java - 如何在java中对文本文件进行排序和排列以对行进行分组