我目前正在尝试测试Eclipse RCP应用程序的UI。当手动执行时,该应用程序可以正常启动并且可以正确使用。但是,当QF-Test启动应用程序时,我在3pp模块中得到一个ClassCastException
:
java.lang.ClassCastException: java.io.File cannot be cast to java.lang.String
at com.solarmetric.conf.ConfigurationImpl.fromProperties(ConfigurationImpl.java:560)
at com.solarmetric.conf.ConfigurationImpl.loadDefaults(ConfigurationImpl.java:186)
在分析3pp库的代码之后,我看到尝试将系统的属性值转换为
String
时发生异常。这应该没问题,因为所有属性值都应为String
(请参见此answer)。但是,QF-Test将添加3个属性,它们的值是File
(java.io.File
)对象。更确切地说:jython.home = C:\Program Files\qfs\qftest\qftest-4.2.0\jython
groovy.home = C:\Program Files\qfs\qftest\qftest-4.2.0\groovy
javascript.home = C:\Program Files\qfs\qftest\qftest-4.2.0\javascript
我想删除那些错误的属性值。我已经尝试将它们手动定义为QF-Test命令行调用的参数,但没有成功。
一些帮助将不胜感激。
最佳答案
QF-Test的此行为已通过QF-Test 4.2.1(2018年2月26日发布)修复,请参见https://www.qfs.de/en/qf-test-manual/lc/manual-en-history.html#sec_N1D715:
Bug fixed:
In a few cases a broken system property set by QF-Test could interfere with SUT startup.
因此,答案是仅更新您的QF测试!
关于java - QF-Test向被测系统添加错误的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53005725/