以编程方式启动时 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 不会初始化驱动程序 的相关文章

  • Netbeans 8.1 Gnome 3 GTK+ UI 字体和选项卡高度

    我刚刚在运行 GNOME 3 桌面的 Ubuntu 16 04 上安装了 NetBeans 8 1 如果可能的话 我想继续使用 IDE 的 GTK 外观和感觉 但 UI 上的字体 尤其是选项卡中的字体 太小且重叠 我尝试添加 fontsiz
  • TreeMap 删除所有大于某个键的键

    在项目中 我需要删除键值大于某个键的所有对象 键类型为Date 如果重要的话 据我所知TreeMapJava中实现的是红黑树 它是一种二叉搜索树 所以我应该得到O n 删除子树时 但除了制作尾部视图并一一删除之外 我找不到任何方法可以做到这
  • 如何在java中将数组值排序为循环格式?

    我的数组值如下 String value 1 2 3 4 5 6 7 8 9 10 假设如果我将值 5 传递给 tat 数组 它应该按如下顺序排序 5 6 7 8 9 10 1 2 3 4 怎么办 有人帮忙吗 感谢你 你需要的就是所谓的轮换
  • 两个整数乘积的模

    我必须找到c c a b mod m a b c m 是 32 位整数 但 a b 可以超过 32 位 我正在尝试找出一种计算 c 的方法 而不使用 long 或任何 gt 32 位的数据类型 有任何想法吗 如果m是质数 事情可以简化吗 注
  • Android:文本淡入和淡出

    我已阅读此 stackoverflow 问题和答案 并尝试实现文本淡入和淡出 Android中如何让文字淡入淡出 https stackoverflow com questions 8627211 how to make text fade
  • Thymeleaf 3 Spring 5 映射加载字符串而不是 HTML

    我正在尝试将 Spring 5 和 Thymeleaf 3 一起配置 我正在 Eclipse 上工作 我使用 全新安装 构建并使用 springboot run 运行应用程序 我已经设置了一个控制器和几个模板 但 Thymeleaf 似乎找
  • 如何调试“com.android.okhttp”

    在android kitkat中 URLConnection的实现已经被OkHttp取代 如何调试呢 OkHttp 位于此目录中 external okhttp android main java com squareup okhttp 当
  • 如何在 Java 中向时间戳添加/减去时区偏移量?

    我正在使用 JDK 8 并且玩过ZonedDateTime and Timestamp很多 但我仍然无法解决我面临的问题 假设我得到了格式化的Timestamp在格林威治标准时间 UTC 我的服务器位于某处 假设它设置为Asia Calcu
  • Mockito 使用 @Mock 时将 Null 值注入到 Spring bean 中?

    由于我是 Spring Test MVC 的新手 我不明白这个问题 我从以下代码中获取了http markchensblog blogspot in search label Spring http markchensblog blogsp
  • 断言 Kafka 发送有效

    我正在使用 Spring Boot 编写一个应用程序 因此要写信给 Kafka 我这样做 Autowired private KafkaTemplate
  • 如何在字段值无效的情况下更改 Struts2 验证错误消息?

    我在 Web 表单上使用 Struts2 验证 如果字段假设为整数或日期 则
  • Java Applet 中的 Apache FOP - 未找到数据的 ImagePreloader

    我正在研究成熟商业产品中的一个问题 简而言之 我们使用 Apache POI 库的一部分来读取 Word DOC 或 DOCX 文件 并将其转换为 XSL FO 以便我们可以进行标记替换 然后 我们使用嵌入到 Java 程序中的 FOP 将
  • 如何在 ant 中为 junit 测试设置 file.encoding?

    我还没有完全完成file encoding 和 ant https stackoverflow com questions 1339352 how do i set dfile encoding within ants build xml
  • 从jar中获取资源

    我有包含文件的 jar myJar res endingRule txt myJar wordcalculator merger Marge class 在 Marge java 中我有代码 private static final Str
  • Java继承,扩展类如何影响实际类

    我正在查看 Sun 认证学习指南 其中有一段描述了最终修饰符 它说 如果程序员可以自由地扩展我们所知的 String 类文明 它可能会崩溃 他什么意思 如果可以扩展 String 类 我是否不会有一个名为 MyString 的类继承所有 S
  • 蓝牙发送和接收文本数据

    我是 Android 开发新手 我想制作一个使用蓝牙发送和接收文本的应用程序 我得到了有关发送文本的所有内容逻辑工作 但是当我尝试在手机中测试它时 我看不到界面 这是Main Activity Code import android sup
  • JDBC 时间戳和日期 GMT 问题

    我有一个 JDBC 日期列 如果我使用 getDate 则会得到 date 仅部分2009 年 10 月 2 日但如果我使用 getTimestamp 我会得到完整的 date 2009 年 10 月 2 日 13 56 78 890 这正
  • Java Swing - 如何禁用 JPanel?

    我有一些JComponents on a JPanel我想在按下 开始 按钮时禁用所有这些组件 目前 我通过以下方式显式禁用所有组件 component1 setEnabled false 但是有什么办法可以一次性禁用所有组件吗 我尝试禁用
  • Java 正则表达式中的逻辑 AND

    是否可以在 Java Regex 中实现逻辑 AND 如果答案是肯定的 那么如何实现呢 正则表达式中的逻辑 AND 由一系列堆叠的先行断言组成 例如 foo bar glarch 将匹配包含所有三个 foo bar 和 glarch 的任何
  • Java/Python 中的快速 IPC/Socket 通信

    我的应用程序中需要两个进程 Java 和 Python 进行通信 我注意到套接字通信占用了 93 的运行时间 为什么通讯这么慢 我应该寻找套接字通信的替代方案还是可以使其更快 更新 我发现了一个简单的修复方法 由于某些未知原因 缓冲输出流似

随机推荐

  • 球拍累加器列表功能

    我正在研究创建您可能玩过的 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