当前位置: 首页 > 知识库问答 >
问题:

以编程方式启动Appium服务器

白浩荡
2023-03-14

因此,我使用下面的代码作为尝试自动启动Appium服务器,但获得连接被拒绝:连接错误。我正在使用Maven和Testng

日志:

public class Startup {


 RemoteWebDriver driver = null;

    public void startAppiumServer() throws IOException, InterruptedException {   

        CommandLine command = new CommandLine("cmd");
        command.addArgument("/c");

        command.addArgument("C:\\Program Files (x86)\\Appium\\node.exe");  
        command.addArgument("C:\\Program Files (x86)\\Appium\\node_modules\\appium\\lib\\appium.js");  
        command.addArgument("--address", false);  
        command.addArgument("127.0.0.1");  
        command.addArgument("--port", false);  
        command.addArgument("4723");  
        command.addArgument("--full-reset", false);
        command.addArgument("--bootstrap-port",false);
        command.addArgument("4724",false);
        command.addArgument("--selendroid-port",false);
        command.addArgument("8082",false);

        DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler();  
        DefaultExecutor executor = new DefaultExecutor();  
        // executor.setExitValue(1);

        InputStream is = new InputStream() {

            public int read() throws IOException {
                return 0;
            }

        };
        executor.getStreamHandler().setProcessOutputStream(is);
        try {
        executor.execute(command, resultHandler);
        for (int i=1; i<10; i++) {
            int nRead = is.read();
            if(nRead!=0)
                break;
            Thread.sleep(5000);
            }
        }catch (IOException e) {
               e.printStackTrace();
        }catch (InterruptedException e) {
               e.printStackTrace();
        }
   }

共有1个答案

杭柏
2023-03-14

我建议避免从命令行运行Appium,因为您的代码不能在Linux或其他操作系统上运行。以便使用AppiumDriverLocalService启动服务器。您可以在这里找到启动服务器的有用方法。

 类似资料:
  • null 我很感激任何建议/帮助。

  • 问题内容: 请看下面的代码 数据库连接器 数据库UI 在这种情况下,我需要通过右键单击 _数据库节点 启动服务器_来手动启动derby(我正在使用NetBeans)。这是一个嵌入式数据库,这意味着我要将其从一台计算机转移到另一台计算机,并愿意通过双击jar文件来开始,而不是在每台计算机上都配置数据库并手动启动它们。但是,如果我没有手动启动数据库,则会收到错误消息 java.sql.SQLNonTr

  • 请看一下下面的代码 数据库连接器。JAVA 用户界面 在这种情况下,我需要通过右键单击数据库节点手动启动derby(我使用的是NetBeans) JAVAsql。SQLNonTransientConnectionException:java。网ConnectException:连接到端口1527上的服务器本地主机时出错,消息“连接被拒绝:连接”。 无论是在NetBeans内部,如果我没有手动启动它

  • 手动启动appium服务器时,不会出现此问题。 错误日志 构建信息:版本:'3.141.59',版本:'e82be7d358',时间:'2018-11-14T08:17:03'系统信息:主机:'INSML-0VLLVCF',ip:'fe80:0:0:c3f:fa48:d75f:bc45%en0',os.name:'Mac os X',os.arch:'x86_64',os.version:'10.

  • 问题内容: 我想使用此代码来重新启动运行 Android Things的 RPI3 : __ 我收到以下错误: java.io.IOException:无法运行程序“ su”:error = 13,权限被拒绝 我将所有权限添加到清单中 我想念什么吗? 问题答案: DP 4中的 二进制文件,与之前的所有开发人员预览一样,具有世界可执行的权限,即以下产量 话虽如此,仍然可以为任何用户( Android