从html按钮单击运行可运行的JAR

时间:2015-06-02 04:32:39

标签: java selenium-webdriver jar

我已经为我的移动应用程序的所有功能创建了测试自动化脚本。所以它从eclipse手动运行。我正在使用selenium web驱动程序和java。

现在我想创建 GUI / Easy界面,我可以使用名为 RUN 的按钮给出所有方法的下拉列表,因此当测试者选择方法并运行那个特定的函数时脚本将运行自动化脚本。

我已将所有函数导出为Runnable JAR,所以现在我需要知道如何从html页面调用并运行这些可运行的jar?单击。这有什么简单的方法吗?

我找到了一些答案,他们建议使用applet,但如果可能的话,我会找到另一种方法。

1 个答案:

答案 0 :(得分:0)

您可以通过批处理文件或sh文件来实现它。

只是从网络上运行jar的示例代码

String jarPath=request.getSession().getServletContext().getRealPath("")+"/myjar.exe";

                if (osname.indexOf("nux") >= 0 || osname.indexOf("nix") >= 0) 
                {
                    //for sending  request to sh file
                    filePath = request.getSession().getServletContext().getRealPath("")+"/WEB-INF/classes/";

                    cmdList.add("sh");
                    cmdList.add("CallJar.sh");
                    cmdList.add(dbUser.getUserName());
                    cmdList.add(dbUser.getPassword());

                    cmdList.add(jarPath);
                }
                else
                {
                    // for windows
                    String jrePath="";
                    String f="C:/Windows/SysWOW64";
                    if(new File(f).exists())
                    {
                        jrePath="C:\\Program Files (x86)\\Java\\jre6\\bin\\java";
                        jrePath="\""+jrePath+"\"";
                    }
                    else 
                    {
                        jrePath="C:\\Program Files\\Java\\jre6\\bin\\java";
                        jrePath="\""+jrePath+"\"";
                    }
                    filePath = request.getSession().getServletContext().getRealPath("")+"\\WEB-INF\\classes\\";
                    //filePath="\"" + filePath + "\"";

                    syncStatusLogFilePath="\""+syncStatusLogFilePath+"\"";
                    jarPath="\""+jarPath+"\"";
                    cmdList.add("cmd");
                    cmdList.add("/c");
                    cmdList.add("CallJar.bat");
                    cmdList.add(jarPath);
                    cmdList.add(jrePath);
希望你能有所了解。