问题标签 [selendroid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3258 浏览

android - Selendroid - 即使在设置之后也找不到 ANDROID_HOME

我正在尝试为移动网站运行Selendroid测试,但是当我运行测试时,我收到异常消息:

虽然我ANDROID_HOME的已经设置为回显命令给了我正确的路径。

我无法理解为什么会这样。请帮忙。

0 投票
1 回答
597 浏览

selendroid - selendroid:无法检查元素

嗨,我是 Selendroid 中的新蜜蜂,有人可以告诉我为什么我在启动 URL 时收到此错误http://localhost:4444/inspector。我的自动化工作正常,但我无法在http://localhost:4444/inspector链接中查看应用程序(在测试代码中添加断点和在调试模式下运行测试)有人可以帮忙吗?

提前致谢

0 投票
3 回答
4225 浏览

java - SelendroidDriver 不在 jar 文件中

我最近用 Java 编写了一个与 FireFoxDriver() 完美配合的 Selenium 程序。我的第 2 步是能够在我的带有 Selendroid 的 Android 设备上运行这个程序。我在这里访问了他们的网站,并且已经能够下载 jar 并使用端口:4444 连接到他们的本地主机。
但是,当我尝试他们的示例时,Eclipse 无法识别 SelendroidDriver() 并建议我返回 WebDriver()。
这是他们的代码:

我还注意到 SelendroidDriver 类没有出现在我的文件中,尽管我下载了 Selendroid jar 文件,版本 0.10.0。

0 投票
1 回答
319 浏览

selendroid - Selendroid 不工作?

http://selendroid.io/setup.html 这里给出了我在端口 4444 打开 localhost 时应该得到的示例。

但相反,我得到:

设备已连接到 PC,它没有屏幕锁定,但未检测到。

怎么了?

(我没有 Selenium 或 Selendroid 的 exp 并试图现在开始)

0 投票
2 回答
859 浏览

java - Selendroid - 如何单击列表视图中的项目?

谁能帮助如何使用 selendroid(language Java) 单击 ListView 中的项目?我知道使用检查器我们可以知道元素的 ID,但是在列表视图中,所有项目都具有相同的 ID。有人可以帮我解决这个问题吗?

提前致谢。

0 投票
1 回答
203 浏览

java - 应用内的 Selendroid

嗨,我是 Selendroid 的新手,想知道是否可以从 android 应用程序内的按钮启动 Selendroid?
我正在尝试创建一个在 Java 中实现 Selendroid 的 onClick() 事件,如下所示:

0 投票
1 回答
1963 浏览

appium - 在 selendroid 模式下在真实设备上运行自动化时获取类未找到错误

我试图在 appium 1.1.0 上运行自动化,但由于以下错误而无法启动自动化。我尝试在 appium 上使用 selendroid 模式在真实设备上运行自动化。

以下是我在自动化过程中执行的步骤:

  1. 启动 Selendroid 服务器
  2. 已启动 Appium 服务器,它指向正在运行 selendroid 服务器的端口
  3. 使用 Maven 开始自动化

Selendroid 服务器:

Appium 服务器:

自动化开始使用 Maven:

应用能力:

堆栈跟踪:

请指导我如何解决这个问题?在真实设备上运行测试时,appium 功能有什么问题吗?

谢谢,

普里扬克·沙阿

0 投票
1 回答
266 浏览

selenium - 你不必重新编译app-means?

Appium 文档说——“您不必重新编译您的应用程序或以任何方式修改它以使其自动化。” 这实际上是什么意思..有人可以解释一下吗?

0 投票
1 回答
869 浏览

java - 在linux中运行selendroid时出错

我正在为 linux os 使用 android sdk bundle 64bit

这是我的java版本: -

运行以下命令,

收到以下错误,

我该如何解决这个问题?

0 投票
1 回答
830 浏览

robotframework - Appium / selendroid 代码随着时间的推移而变慢

我使用 Robot Framework、WebDriver 和 Python 进行了看似简单、非正式的性能测试,通过 Appium 连接到 Android 设备。被测应用程序是一个带有本地数据库的包装应用程序,当设备离线时可以将记录存储到该数据库中。我的测试涉及使用 selenium 自动填写“日记”,然后将其写入本地数据库(在测试期间禁用设备 wifi 以防止记录自动推送到服务器)。这是一个非常重复的测试,一个接一个地填写表格并跟踪计数,以及填写然后提交表格(日记)所需的时间。

我一直注意到的是,随着计数的增加,时间显着增加,以至于由于错过点击或不太容易定义(抱歉含糊不清)而导致自动化失败。这会在几个小时内发生,因此更改参数和重新运行测试是一件非常耗时的事情。监控 android 上的 cpu 使用情况表明,在没有其他应用程序运行的情况下,被测应用程序运行得不是很努力(平均为 35%,偶尔会爬到 60 的低点)。Appium 运行在 Mac mini i5 上,我相信它有 2 个内核和 2 个虚拟内核,总共 4 个。Appium 徘徊在 200% 左右,略低于 200%,这似乎还可以。

我对为什么自动化随着时间的推移而放缓感到束手无策,并欢迎任何关于它为什么会发生的想法。我意识到在没有看到代码运行的情况下进行故障排除是一件非常困难的事情,但是程序非常大并且似乎没有任何特定的故障点。随着时间的推移,它似乎会膨胀到爆裂的程度。一旦发生这种情况,我会回到设备上的应用程序,我可以手动继续输入表单而没有任何问题,所以这并不是说数据库已满或应用程序不知何故崩溃了。

我正在使用 Appium 0.18.0,顺便说一句。我无法让自动化与 1.1 一起工作,这完全是另一个问题。

编辑:

昨晚我又运行了一次,这次使用 appium 服务器的控制台版本并使用 -q 标志关闭日志记录。就填写并写入本地离线数据库的日记(表格)的数量而言,它更进一步,但这样做的时间越来越长,直到最终应用程序崩溃。然而,这一次,有一个更有用的消息,更清楚地表明 Selendroid/webdriver 的内存问题:

(提前道歉在这里放一个堆栈转储,但我不知道如何使它更漂亮)

WebDriverException:消息:u'java.lang.OutOfMemoryError\n\tat java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:94)\n\tat java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:145)\n\ tat java.lang.StringBuilder.append(StringBuilder.java:216)\n\tat io.selendroid.server.model.SelendroidWebDriver.executeAtom(SelendroidWebDriver.java:182)\n\tat io.selendroid.server.model.SelendroidWebDriver .executeAtom(SelendroidWebDriver.java:169)\n\tat io.selendroid.server.model.DefaultSelendroidDriver$WebviewSearchScope.lookupElement(DefaultSelendroidDriver.java:427)\n\tat io.selendroid.server.model.internal.AbstractWebElementContext.findElementByCssSelector (AbstractWebElementContext.java:211)\n\tat io.selendroid.server.model.internal.AbstractWebElementContext.findElement(AbstractWebElementContext.java:156)\n\tat io.selendroid.server.model.By$ByCssSelector.findElement(By.java:45)\n\tat io.selendroid.server.model.DefaultSelendroidDriver.findElement(DefaultSelendroidDriver.java:114)\n \tat io.selendroid.server.handler.FindElement.handle(FindElement.java:46)\n\tat io.selendroid.server.AndroidServlet.handleRequest(AndroidServlet.java:286)\n\tat io.selendroid.server。 BaseServlet.handleHttpRequest(BaseServlet.java:70)\n\tat org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:78)\n\tat org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:62) \n\tat io.selendroid.server.inspector.InspectorServlet.handleHttpRequest(InspectorServlet.java:78)\n\tat org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:78)\n\tat org.webbitserver。 netty.NettyHttpControl。nextHandler(NettyHttpControl.java:62)\n\tat org.webbitserver.handler.PathMatchHandler.handleHttpRequest(PathMatchHandler.java:33)\n\tat org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:78)\n \tat org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:62)\n\tat org.webbitserver.handler.DateHeaderHandler.handleHttpRequest(DateHeaderHandler.java:21)\n\tat org.webbitserver.netty.NettyHttpControl。 nextHandler(NettyHttpControl.java:78)\n\tat org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:62)\n\tat org.webbitserver.handler.ServerHeaderHandler.handleHttpRequest(ServerHeaderHandler.java:25)\n \tat org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:78)\n\tat org.webbitserver.netty.NettyHttpControl.nextHandler(NettyHttpControl.java:67)\n\tat org.webbitserver.netty.NettyHttpChannelHandler$2.run(NettyHttpChannelHandler.java:72)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:587)\n\tat java.lang.Thread.run(Thread.java:841)'

我在网上找到了有关浏览器自动化原子的信息,这似乎与故障有关。该错误引用了“fineElement”,这在我的自动化中当然被大量使用。

https://code.google.com/p/selenium/wiki/AutomationAtoms

我将尝试向 Appium 或 Selendroid 人提出问题,但如果在此期间有人可以帮助我解析这里发生的事情(和/或可能的解决方案或解决方法),我将非常感激。

编辑:

在此处与 Selendroid 团队记录了一个问题: https ://github.com/selendroid/selendroid/issues/438