【问题标题】:Selendroid not connecting to ... something?Selendroid 没有连接到……什么?
【发布时间】:2023-04-06 10:54:01
【问题描述】:

所以我想运行一些Selendroid 测试。 我跑了

java -jar selendroid-standalone-0.17.0-with-dependencies.jar -aut app-debug.apk

Selendroid 说:

selendroid-standalone 服务器已在端口:4444 上启动

接下来我运行这个 Python 程序:

import unittest
from selenium import webdriver


class FindElementTest(unittest.TestCase):

    def setUp(self):
        desired_capabilities = {'aut': 'as.corbin.testapp:1.0'}

        self.driver = webdriver.Remote(
            desired_capabilities=desired_capabilities
        )
        self.driver.implicitly_wait(30)


    def test_find_element_by_id(self):
        self.driver.get('and-activity://as.corbin.testapp.MainActivity')
        self.assertTrue("and-activity://MainActivity" in self.driver.current_url)
        my_text_field = self.driver.find_element_by_id('myid')
        my_text_field.send_keys('Hello Selendroid')

        self.assertTrue('Hello Selendroid' in my_text_field.text)

    def tearDown(self):
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()

Selendroid 的输出是:

信息:正在重试对 {}->http://localhost:8080 Dez 10 的请求, 2015 年上午 8 点 42 分 38 秒 org.apache.http.impl.client.DefaultHttpClient 尝试执行

信息:I/O 异常 (java.net.SocketException) 在处理对 {}->http://localhost:8080 的请求时捕获: 连接重置 Dez 10, 2015 8:42:38 AM org.apache.http.impl.client.DefaultHttpClient tryExecute 信息: 重试请求到 {}->http://localhost:8080 Dez 10, 2015 8:42:38 AM io.selendroid.android.impl.AbstractDevice isSelendroidRunning

SCHWERWIEGEND:获取状态时出错:java.net.SocketException: 连接重置 Dez 10, 2015 8:42:38 AM io.selendroid.server.handler.CreateSessionHandler 句柄 SCHWERWIEGEND:创建新会话时出错:Selendroid 服务器开启 设备在 20 秒后没有出现:

Selendroid 在这里尝试连接什么服务? jar 名称为“独立”,instructions 仅提及启动此 jar。

我错过了什么?

【问题讨论】:

    标签: selenium selendroid


    【解决方案1】:

    答案是这是一条红鲱鱼,尽管出现此错误,您的测试仍将运行。有时您会看到端口号也在不断变化。例如,我刚刚使用python-selenium 运行了一组测试,错误完全变为

    INFO: I/O exception (java.net.SocketException) 
       caught when processing request to {}->http://localhost:8081: Connection reset
    Jun 08, 2016 12:55:58 PM org.apache.http.impl.execchain.RetryExec execute
    

    但我的测试执行了。

    对于那些由于某些莫名其妙的原因(唯一的错误是上面的错误)而无法运行测试而从谷歌登陆的人。请注意,如果您在 selenium 之外的设备上安装您的应用程序,则它可能无法测试。请卸载它

    adb uninstall my.app.name
    

    然后在执行测试之前重新启动 selenium。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-08
      • 2015-12-16
      • 2012-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多