我正在尝试构建一个简单的基于maven的应用程序,用于使用SikuliX进行自动化测试。该应用程序当前是作为最新的spring-boot应用程序创建的(v.1.4.1)。 应用程序本身相当简单(目前是POC),一个类作为Application(SpringBootApplication注释,实现CommandLineRunner)和一个服务(autowired,impl和interface)。没有更多,没有其他依赖(只有SikuliX,commons-lang3和spring-boot-starter)。
然而,当我运行应用程序时,Sikuli子系统抱怨无头模式运行。
我尝试过使用过
SpringApplicationBuilder.headless(false).web(false).run(args);
设置System.setProperty("java.awt.headless", "false");
将参数传递给JVM以禁用无头模式。没有一个选项能够和他们的组合一样好用。 Spring-boot总是采用无头模式。
有没有人遇到这样的问题?
PS:os是mac和windows,java 1.8
有一个美好的一天。
学家
答案 0 :(得分:0)
Sikuli不能以无头模式运行。这是一个已知的限制。原因是Sikuli内部使用的Java Robot库。换句话说,你必须有一台带有屏幕的跑步机才能让Sikuli工作。
答案 1 :(得分:0)
我遇到了同样的问题,并通过将 java.awt.headless 系统属性设置为 false 来修复它。这是 M. Deinum 在对 OP 的评论中提出的建议,因此要感谢他们。
这是我将它添加到我的主应用程序文件的方式:
public static void main(String[] args) {
System.setProperty("java.awt.headless", "false"); //ADD THIS
SpringApplication.run(MyClass.class, args);
}