以编程方式启动时 Appium 不会初始化驱动程序

2024-02-22

我正在使用 Java 和 Selenium 通过命令行初始化 Appium,以便在 Android chrome 浏览器上运行测试。 然而,该过程运行无限时间,并且代码来自“DesiredCapabilities“ 该行没有被执行.. 代码 :

Process proc;
String path_to_appium = System.getenv("APPIUM_HOME") + File.separator + "node_modules" + File.separator + "appium" + File.separator + "bin" + File.separator + "appium.js";
String path_to_node = System.getenv("APPIUM_HOME") + File.separator + "node.exe";
proc = Runtime.getRuntime().exec("\"" + path_to_node + "\"" + " " + "\"" + path_to_appium + "\"" + " " + "--address 127.0.0.1 --browser-name Chrome --platform-name Android --platform-version 17 --automation-name Appium --chromedriver-port 9516 --bootstrap-port 4724 --no-reset --local-timezone --log appium_log.log");

System.out.println("Android Chrome driver would be used");

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platformName","Android");
capabilities.setCapability("deviceName", "HTC One X");
capabilities.setCapability("platformVersion", "4.2.2");
capabilities.setCapability("device", "android");
capabilities.setCapability("browserName", MobileBrowserType.CHROME);

Thread.sleep(2000);
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.get("test.com");

我在控制台中没有得到任何输出。

什么都没发生。该过程不会继续下一行(即设置DesiredCapabilities)。 chrome 不会在设备上启动。

Note:当我从命令行执行命令,然后开始测试时DesiredCapabilities行,测试运行良好,chrome 初始化成功。

代码有什么问题吗?


最新的 appium 版本即 1_4_16_1 中存在问题。

当以编程方式启动 appium 服务器时,它会造成死锁,因此驱动程序未初始化。

使用后问题得到解决ServerArgumentsAppium 并更换线路

proc = Runtime.getRuntime().exec("\"" + path_to_node + "\"" + " " + "\"" + path_to_appium + "\"" + " " + "--address 127.0.0.1 --browser-name Chrome --platform-name Android --platform-version 17 --automation-name Appium --chromedriver-port 9516 --bootstrap-port 4724 --no-reset --local-timezone --log appium_log.log");

用下面的代码:

            ServerArguments serverArguments = new ServerArguments();
            serverArguments.setArgument("--address","127.0.0.1");
            serverArguments.setArgument("--chromedriver-port", 9516);
            serverArguments.setArgument("--bootstrap-port", 4724);
            serverArguments.setArgument("--browser-name", "Chrome");
            serverArguments.setArgument("--no-reset", true);
            serverArguments.setArgument("--local-timezone", true);
            AppiumServer appiumServer = new AppiumServer(appium_folder, serverArguments);
            appiumServer.startServer();
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.get("test.com");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式启动时 Appium 不会初始化驱动程序 的相关文章

随机推荐

  • 球拍累加器列表功能

    我正在研究创建您可能玩过的 2048 游戏的具体步骤 它位于许多在线网站上 基本上这个函数所做的就是 1 所有空格移到后面 2 如果前两个数字相等 则加倍并检查每两个数字 这些是我所坚持的步骤的说明 设计一个向左滑动的函数 使其运行sing
  • Vagrant 错误 - 具有该名称的 VirtualBox 计算机已存在

    我想用ubuntu xenial64框为两个单独的项目创建两个单独的虚拟机 我在两个单独的项目目录中定义了 Vagrantfile 并添加了行config vm box ubuntu xenial64 每一个 第一个盒子启动成功 但当我这样
  • 强名称密钥密码存储在哪里?

    我通常不会费心签署我的 NET 程序集 所以除了它的基本机制之外我不知道太多 对于我正在开发的一个小项目 有必要进行签名 我创建了一个新密钥 并用密码进行保护 我预计在重新编译程序集时会在某个时间点提示输入此密码 但在创建密钥文件后我从来不
  • pyenv 在 Linux Mint 上构建 python 并带有警告:重命名“_ctypes”

    因为某些原因 pyenv由于以下问题 无法安装任何版本的 pythonlibffi 我已经安装了所有库 但我得到 WARNING renaming ctypes since importing it failed libffi so 8 c
  • App Engine 和 Commons FileUpload

    我正在使用以下代码从 Android 设备发送一条使用 google 协议缓冲区构建的消息 Set up the HttpClient HttpClient client new DefaultHttpClient String url h
  • 超时错误:400 StatusCode 错误:“要求失败:会话不活动。”

    我在用着Zeppelin v0 7 3笔记本运行Pyspark脚本 在一段中 我正在运行脚本来写入数据dataframe to a parquetBlob 文件夹中的文件 文件按国家 地区进行分区 数据帧的行数是99 452 829 当脚本
  • 词典顺序的定义? [复制]

    这个问题在这里已经有答案了 我目前正在阅读有关std next permutation http en cppreference com w cpp algorithm next permutation函数并遇到了术语 字典顺序 在特定的时
  • android 模拟器无法启动

    我正在尝试从 Android 虚拟设备管理器启动 Android 虚拟设备 Android 模拟器窗口打开 但屏幕仍显示在 Android 徽标上 并且没有进一步进展 在开始第二个 avd 之前它工作得很好 现在第一个 avd 和第二个 a
  • Spirit-Qi:如何编写非终结符解析器?

    我想写一个可以使用的解析器 作为 qi 扩展 通过my parser p1 p2 where p1 p2 是 qi 解析器表达式 其实我想实现一个best match解析器的工作方式类似于 qi 替代方案 但不选择第一个匹配规则 而是选择
  • 学习 jQuery 的 CSS 选择器

    我想学习 jQuery 在我看来 jQuery 只需选择你想要的元素 然后对其执行一些操作 但选择方式与CSS选择器很接近 而且我不熟悉CSS css选择器 因为我一直认为它相当不系统 我找不到任何规则 我对 CSS 选择器的了解如下 id
  • 在 Chrome 中,触发 $(document).ready() 时不会加载 资源。为什么?

    在 Firefox 和 IE 中 SVG SVG 文档在以下情况下检索 document ready 叫做 在 Chrome 中 getSVGDocument当以下情况时返回 null document ready 叫做 虽然似乎在大约 7
  • Htaccess 重写删除尾部斜杠

    Htaccess 以某种方式自动删除 url 末尾的所有尾部斜杠并只保留一个 例如http localhost api param1 http localhost api param1 变成http localhost api param1
  • 要安装多少个 wiki 实例?

    我被要求安装 Mediawiki 来保存公司内部网的文档 此外 我被要求安装several实例 每个贡献组一个 非技术用户获得一个 开发人员获得一个 管理人员获得一个 等等 我们的想法是为每个组提供单独的网络空间 有没有一种方法可以在一个实
  • 如何缓存从 Ajax 调用接收到的数据?

    我想缓存从服务器接收的数据 以便执行最少数量的 PHP MySQL 指令 我知道缓存选项是自动为 ajax 设置的 但是 每次调用 ajax 时我都会看到 MySQL 指令 即使 postdata 与之前的调用中的相同 我错过了什么吗 缓存
  • Code::Blocks 出现无效工具链错误

    Hello Debug uses an invalid compiler Probably the toolchain path within the compiler options is not setup correctly Skip
  • 等待句柄会释放线程获取的锁吗?

    当我有如下所示的代码时 我的问题是调用 signal WaitOne 的线程是否释放已获取的锁以供另一个线程获取锁 我认为这是一个微不足道的问题 但我尝试寻找类似的东西 却一无所获 如果有人可以阐明这一点并修改我的帖子 标题 使其更容易被将
  • 从 git 提交生成 PDF 日志

    我知道我可以使用 git log 以各种方式查看以前的提交 但我想知道这里是否有人可以推荐一些用于从 git 提交创建 PDF 或 HTML 日志的好工具 我希望能够生成类似于 Github 提交日志风格但具有不同信息的内容 如果人们对生成
  • 在数基之间转换数字

    我正在开发一个在数字基数之间进行转换的程序 例如八进制是 8 十进制是 10 字母A to Z可以被视为基数 26 我想将 A 转换为0 Z转换为25 AA 转换为27 BA 转换为53 在开始编码之前 我会在纸上进行编码 以便我了解整个过
  • 为什么 date() 不能正确地将 YYMMDDHHMM 转换为 MySQL 可接受的日期格式?

    我想要一个像这样的字符串 1511030830 YYMMDDHHMM 并创建一个 MySQL 时间戳 如下所示 2015 11 03 08 30 00 但是 当尝试这样做时 它将不起作用 string 1511030830 date dat
  • 以编程方式启动时 Appium 不会初始化驱动程序

    我正在使用 Java 和 Selenium 通过命令行初始化 Appium 以便在 Android chrome 浏览器上运行测试 然而 该过程运行无限时间 并且代码来自 DesiredCapabilities 该行没有被执行 代码 Pro