我需要在linux OS(Amazon AMI linux)上安装和运行SoapUI。 这是命令行版本(无GUI)
我能够使用以下命令
成功下载并解压缩SoapUI tar下载SoapUI安装文件
wget http://freefr.dl.sourceforge.net/project/soapui/soapui/5.0.0/SoapUI-5.0.0-linux-bin.tar.gz
提取内容
tar -xzf SoapUI-5.0.0-linux-bin.tar.gz -C / opt /
安装SoapUI
cd /opt/SoapUI-5.0.0/bin /
此后我运行以下命令:
./ soapui.sh
我得到以下异常
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
at java.awt.Window.<init>(Window.java:535)
at java.awt.Frame.<init>(Frame.java:420)
at javax.swing.JFrame.<init>(JFrame.java:218)
at com.eviware.soapui.SoapUI.startSoapUI(SoapUI.java:842)
at com.eviware.soapui.SoapUI$SoapUIRunner.run(SoapUI.java:697)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.r...(EventDispatchThread.java:91)
这里是否缺少某些东西或需要调用任何其他命令?
答案 0 :(得分:1)
SoapUI本身是一个图形工具,主要应用程序不喜欢在没有图形显示的情况下运行。
当我在没有X11的Linux服务器上运行SoapUI时,它就是我之后的模拟服务工具 - 我用它来提供替代SOAP或REST服务以实现自动化测试等。
模拟服务运行器在没有X11服务器的情况下运行良好 - 您只需告诉 java 不要寻找图形用户界面。
因此,您将-Djava.awt.headless=true
添加到命令行:
./mockservicerunner.sh -Djava.awt.headless=true
如果你只是为了它会给你一个帮助&#39;输出,因为此工具旨在使用现有的SoapUI项目文件来提供预配置的响应,而不是交互式使用。
另一种方法是使用X-Forwarding,因此SoapUI在您的服务器上运行,但UI显示在您的本地工作站上。我从未这样做过(因为,正如我所说,我是在自动化测试的独立交互之后),但此页面有一些细节:http://blog.ashwani.co.in/blog/2013-01-10/soapui-mockservicerunner-on-linux-without-x-config/ (它还提到了mockservicerunner.sh的&#39; headless&#39;选项。
此页面详细介绍了在将SoapUI用于其中一个自动化工具(本例中为loadrunner)之前首先在SoapUI中设置项目:http://www.soapui.org/load-testing/command-line-execution.html
答案 1 :(得分:1)
我刚刚在AWS(Red Hat)中安装并执行了SoapUI,而没有使用任何图形界面:
1.-直接从soapui.org下载SoapUI;搜索最新的Linux版本,复制链接地址并使用wget命令将软件下载到任何Linux目录中。这应该已经下载了安装脚本文件(例如,SoapUI-x64--5.3.0.sh)。
2.-从命令行执行以前的安装脚本并回答安装提示。完成后,转到您选择安装它的目录,并验证您是否拥有所有文件夹和文件(bin,lib等)。
3.-要从命令提示符运行SoapUI,请转到SoapUI主目录并执行如下指令:
sh bin/testrunner.sh -s"Your Suite Name" -c"Your Test Case Name" -f/your/output/path/ /your/project/path/your-soapui-project.xml