上个星期四之后(可以链接到Windows OS(10 v 1803,OS Build 17134.165)更新),我所有的JMeter脚本都停止了工作。我首先注意到在非GUI模式下运行的所有脚本均因以下原因而失败
Uncaught Exception java.lang.OutOfMemoryError: Java heap space. See log file for details
。
我开始使用GUI模式进行测试,日志显示以下内容:
WARN c.h.c.r.e.LoggingCSSParseErrorHandler: Browser compliant mode skipped CSS from [1:24125] starting at token 'data' until [1:24143] to token ';' (based on com.helger.css.parser.ParseException: Encountered unexpected token: ":" ":"
at line 1, column 24129.
Was expecting one of:
")" "+" "-" "/" "=" "[" "and" "expression(" "from" "inherit" "not" "only" "or" "to" <ANGLE_DEG> <ANGLE_GRAD> <ANGLE_RAD> <ANGLE_TURN> <CH> <COMMA> <DPCM> <DPI> <DPPX> <EM> <EX> <FR> <FREQ_HZ> <FREQ_KHZ> <FUNCTION> <FUNCTION_CALC> <HASH> <IDENT> <LENGTH_CM> <LENGTH_IN>
<LENGTH_MM> <LENGTH_PC> <LENGTH_PT> <LENGTH_Q> <NUMBER>
<PERCENTAGE>
<PX> <REM> <S> <STRING1> <STRING2> <TIME_MS> <TIME_S> <URANGE> <URL> <VH> <VMAX> <VMIN> <VW>)
我在三台机器上看到它:我的本地桌面,外围的自动化VM和AWS。 我有:
set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
我还设置:
css.parser.ignore_all_css_errors=true
我还测试了JMter 4.0和3.3的情况。 Java 1.8.0_152
答案 0 :(得分:0)
第一次检查:
您正在遵循最佳做法:
但是如果问题仍然存在,请添加到命令行:
-XX:+ HeapDumpOnOutOfMemoryError -XX:HeapDumpPath =
然后使用某种共享解决方案共享生成的hprof,并在可能的情况下共享您的测试计划。
答案 1 :(得分:0)
我发现了问题。看起来好像有几个。在我的jmx计划中,我正在加载html页面。 (我们有一个单一的Web应用程序体系结构)。现在,在开发人员更改index.html之后,我需要禁用html页面,否则它会崩溃。
开发人员更改index.html后,我的测试计划(jmx)开始失败。从UI角度和Selenium脚本正确运行。更改看起来很小。他们将 base 标签从外部移到了 script 标签内部。
之前:
<base href="/ui/">
<script>
//var HOST = 'http://localhost/';
//var HOST = 'https://ooo.credifi.com/core/';
var HOST = 'https://oo2.credifi.com/core/';
var BASE = '/ui';
</script>
之后:
<script>
var isLocalhost = document.location.hostname == 'localhost';
var BASE = isLocalhost ? '' : '/ui';
var HREF = isLocalhost ? '' : 'ui/';
document.write('<base href="/' + HREF + '" />');
</script>