每次尝试使用Jenkins执行测试用例时,我的测试报告中都会显示以下Java错误。
错误1:
java.lang.IllegalArgumentException:没有枚举const类org.openqa.selenium.Platform.Windows 2003 在java.lang.Enum.valueOf(Enum.java:192) 在org.openqa.selenium.Platform.valueOf(Platform.java:30) 在WebDriverWithHelperTest.setUp(WebDriverWithHelperTest.java:76) at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:907) 在java.lang.Thread.run(Thread.java:619) ...删除了22个堆栈帧
错误2:
java.lang.NullPointerException:方法不应为null at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:907) 在java.lang.Thread.run(Thread.java:619) ...删除了17个堆栈帧
我能够使用Eclipse和Maven执行这些测试用例而没有任何问题。
有任何建议吗?
答案 0 :(得分:1)
对于Jenkins作业,检查注入的环境变量,并将它们与从eclipse运行作业时设置的所有jar和其他环境变量进行比较。从Jenkins运行测试时,请确保您拥有所需的一切
答案 1 :(得分:0)
您可以尝试更改此代码:
capabilities.setCapability(CapabilityType.PLATFORM, Platform.valueOf(System.getenv("SELENIUM_PLATFORM"));
到此:
capabilities.setCapability(CapabilityType.PLATFORM, System.getenv("SELENIUM_PLATFORM"));
Jenkins插件正在发送平台的值,而不是org.openqa.selenium.Platform的枚举查找值
答案 2 :(得分:0)
感谢Roos,它现在解决了,我通过Jenkins Configuration发送身份验证信息,而不是在设置所需的作业/构建期间从OnDemand插件覆盖它。