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

如何将appium连接到扩展的Selenium网格?

杨晟
2023-03-14

我按照以下说明创建了一个类来扩展selenium网格:https://www.swtestacademy.com/extend-selenium-grid连接selenium节点不是问题(只要我扩展了selenium Version3.12[3.141.59不允许连接])。我的问题是无法连接appium节点。

node.json:
{  "capabilities":
  [
    {
      "browserName": "chrome",
      "maxInstances": 5,
      "seleniumProtocol": "WebDriver"
    },
    {
      "browserName": "internet explorer",
      "maxInstances": 1,
      "seleniumProtocol": "WebDriver"
    }
  ],
  "proxy": "com.swtestacademy.ExtendedProxy",
  "maxSession": 1,
  "port": -1,
  "register": true,
  "registerCycle": 5000,
  "hub": "http://localhost:4444/grid/register",
  "nodeStatusCheckTimeout": 5000,
  "nodePolling": 5000,
  "role": "node",
  "unregisterIfStillDownAfter": 60000,
  "downPollingLimit": 2,
  "debug": false,
  "servlets" : [],
  "withoutServlets": [],
  "custom": {}
}

[Appium]向网格注册的请求不成功:500-“\n\n\n错误500服务器错误\n\n

访问/网格/寄存器时出现问题。原因:\n

    Server Error
java.lang.NullPointerException\r\n\tat org.openqa.grid.web.servlet.RegistrationServlet.considerV2Json(RegistrationServlet.java:172)\r\n\tat org.openqa.grid.web.servlet.RegistrationServlet.process(RegistrationServlet.java:97)\r\n\tat org.openqa.grid.web.servlet.RegistrationServlet.doPost(RegistrationServlet.java:70)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:665)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:750)\r\n\tat org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:860)\r\n\tat org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:535)\r\n\tat org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\r\n\tat org.seleniumhq.jetty9.security.SecurityHandler.handle(SecurityHandler.java:548)\r\n\tat org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\r\n\tat org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)\r\n\tat org.seleniumhq.jetty9.server.session.SessionHandler.doHandle(SessionHandler.java:1595)\r\n\tat org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)\r\n\tat org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)\r\n\tat org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)\r\n\tat org.seleniumhq.jetty9.servlet.ServletHandler.doScope(ServletHandler.java:473)\r\n\tat org.seleniumhq.jetty9.server.session.SessionHandler.doScope(SessionHandler.java:1564)\r\n\tat org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)\r\n\tat org.seleniumhq.jetty9.server.handler.ContextHandler.doScope(ContextHandler.java:1155)\r\n\tat org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\r\n\tat org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\r\n\tat org.seleniumhq.jetty9.server.Server.handle(Server.java:530)\r\n\tat org.seleniumhq.jetty9.server.HttpChannel.handle(HttpChannel.java:347)\r\n\tat org.seleniumhq.jetty9.server.HttpConnection.onFillable(HttpConnection.java:256)\r\n\tat org.seleniumhq.jetty9.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)\r\n\tat org.seleniumhq.jetty9.io.FillInterest.fillable(FillInterest.java:102)\r\n\tat org.seleniumhq.jetty9.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)\r\n\tat org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)\r\n\tat org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)\r\n\tat org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)\r\n\tat org.seleniumhq.jetty9.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)\r\n\tat java.lang.Thread.run(Thread.java:748)\r\n

共有1个答案

翟曦
2023-03-14

似乎您错过了服务器地址的--address和excute-nodeConfig选项的-role node参数。

尝试使用以下命令运行节点:

appium --address 127.0.0.1 -role node -nodeConfig node.json

-a-地址

节点配置

Appium服务器参数

 类似资料:
  • 我已经在我的Windows 10 Pro机器上安装了Windows Subsystem for Linux (WSL)。按照这个教程,我在windows上设置docker来使用WSL。在WSL的命令行中,docker工作得非常好。我构建了多个图像,并在WSL中运行它。 我还在WSL中安装了Microsoft Visual Studio Code。我在Windows的X服务器(VcXsrv)的帮助下

  • null Appium--NodeConfig C:\mobile\AndroidConfig.json 我得到了一个例外: 信息:欢迎使用Appium V1.3.4(REV c8c79a85fbd6870cd6fc3d66d038a115ebe22efe)信息:Appium REST http接口监听器在0.0.0.0:4723上启动信息:[debug]非默认服务器args:{“nodeConf

  • 问题内容: 我正在尝试在启动seleniumchrome时禁用所有chrome扩展名。但是,每次我运行代码时,所有扩展都将继续启动。有没有一种禁用扩展的方法。 样例代码 问题答案: 找到了解决方法。

  • 是否有可能将Nifi中的入站TCP连接数量扩展到数万个?使用TCP连接扩展NIFI:文档状态最大设置为2。 我们预计将处理10-25,000个长时间运行的TCP连接(最大连接持续时间为4小时)。部署多个冗余的NIFI集群来处理负载不成问题。

  • null V: BrowserTimeout:0 调试:false DownPollingLimit:2 集线器:http://jenkins主机:jenkins端口 ID:http://node ip:node端口 null 异常的第一行说它无法解析某些东西,但我不能理解什么? 我是不是漏掉了什么?我是第一次做网格设置。

  • 问题内容: 我想将无头铬用于使用selenium的自动化测试。(https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md) 我确实已经在9222上运行了无头版本。因此,如果我打开http://10.252.100.33:9222/json/,我会得到 下一步,我想将selenium连接到无头铬上。但是当我尝试