【问题标题】:What technical specifications are relevant to creating an at-home UnitTest lab?哪些技术规范与创建家庭 UnitTest 实验室相关?
【发布时间】:2017-09-13 17:37:34
【问题描述】:

我需要针对物理移动设备运行测试,并且需要同时将单元测试部署到许多并发设备。

从概念上讲,这类似于 Xamarin 移动测试云或 Microsoft 移动云...但我需要一个本地等价物,以便我可以测试蓝牙和 GPS 功能

我希望测试 7 到 14 个物理设备都连接到同一个 USB 集线器。

问题

  • 一台 Mac / Windows 机器可以通过一个 USB 端口与多少台设备通信?

  • 在选择硬件时我需要牢记哪些电源注意事项?

这是我想象的visual example,但是该设备专注于充电,而不是将 USB 背板连接到计算机。

【问题讨论】:

  • 见:stackoverflow.com/questions/19032169/… 另外我会担心多个蓝牙无线电同时处于活动状态(无线电干扰导致我演示失败)。
  • 我对此没有直接的答案(这就是我发表评论的原因),但我知道对于 Xamarin 测试云,您还可以在本地测试中使用支持的测试框架但一次只能在一个设备上。此外,不同的测试框架可能具有不同的性能水平。所以我怀疑你可能需要在你的问题中提供更多信息才能让某人合理地“回答”......虽然我可能是错的。

标签: xamarin xamarin.ios xamarin-test-cloud mobile-center visual-studio-app-center


【解决方案1】:

每个 USB 控制器可以有 127 个设备(128 个减去控制器),但我并不是说您可以同时有 127 个设备与主机通信并保持任何类型的数据吞吐量,那是另一回事... .

许多设备的核心 USB 问题是功耗。我们使用特殊的Y 电缆,即使在使用所谓的“有源”USB 集线器时,它们也只有数据侧和电源侧。

真正优秀的电缆通常是通过迎合发烧友的公司找到的,因此通常非常昂贵并且效果很好,但对于这种用途来说太过分了。 也要避免使用廉价的 Y 型电缆,因为您会遇到数据传输失败的情况。劣质电缆会扼杀数据吞吐量,让您在追逐测试失败的情况下绕圈子。

消费者外部 USB 集线器并非平等创建,其功率输出和每个端口的同时吞吐量差异很大。虽然大多数会在一个/两个设备同时通话时表现良好,但当 4-8 个设备都在通话时,许多设备会开始失败。尝试级联它们以增加端口数量也可能导致整个链发生故障。确保您有良好的退货政策,无论您可以从哪里购买。

你没有说明测试框架,而是一些Appium信息:

对于基于 Appium 的 Android 测试,我使用了以下组合:

  • Android主机(adb)
    • 8 台设备大约是可靠同时(双向)测试的阈值
  • AndroidAP
  • DHCP 服务器通过 MAC 地址处理将 IP 分配给 Android 设备,因此我们可以创建端口到 IP 的静态映射,以便通过 adb 重新映射
  • 每个 Window 服务器/主机同时运行 8 个 Appium 服务器(因此设备)是预期的结果
  • 这适用于每个 专用 AP 大约 32/64 台设备。
    • 请记住,AP 必须距离设备约 4/5 英尺,以实现适当的信号衰减
    • 移动云数据中心使用 EMI/法拉第笼来隔离每个移动设备机架,其中每个机架内安装了多个服务器、一个 AP 和设备
  • Android
  • 并非所有设备都支持 OTG,因此这并不总是一种选择,但效果很好。
  • 需要 DHCP 服务器,就像 Android<-Wifi->AP 设置一样
  • iOS 是一个完全不同的蠕虫罐:

    • 4 连接到 Mac 的 iOS 设备是您可以实现的所有可靠结果。
    • 请记住,主机上的每个 Appium 服务器都会启动一个单独的 Xcode Instruments。
    • Mac Mini 非常适合专用 Appium 测试服务器。

    就 GPS 测试而言,模拟是最简单的方法。有些硬件设备专为 GPS 测试而设计,供顶级应用程序开发人员(地图、交通、航空电子设备等)使用,但对于临时内部设备实验室而言,这些设备通常购买和设置成本很高(需要 EMI/法拉第笼来封装设备和 GPS 注入器天线。

    由于干扰、配对问题等,蓝牙在设备实验室中可能是一个大问题...,如果有多个设备在附近竞争一个(或多个)蓝牙配件,可能会导致配件无法配对与任何设备。基本上同时进行蓝牙测试并不能很好地工作,但是您可以使用 Appium 自动打开/关闭 wifi/蓝牙/飞行模式,但是对于 Android 设备,这要求它们都是 USB 连接的,而不是使用 adb 重新映射主机通过 wifi 连接到 IP 地址的端口...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-21
      • 2018-12-13
      • 2011-08-16
      • 1970-01-01
      • 2022-08-24
      • 2011-09-09
      相关资源
      最近更新 更多