0

我需要在其上运行的物理移动设备的测试,并且需要在同一时间部署单元测试许多并发设备。什么样的技术规格与创建家庭UnitTest实验室相关?

概念上,这类似于Xamarin移动测试云,或微软移动云......但我需要一个预置相当于这样我可以测试蓝牙和GPS功能

我期待测试全部连接到同一USB集线器的7到14个物理设备。

问题

  • 多少设备可以在单一的Mac/Windows机器的谈话中,通过一根USB端口?

  • 哪些力的考虑,我需要记住在选择硬件?

这里是我所想象visual example,但是这个设备是专注于充电,一个USB背板未连接到计算机。

+0

请参阅:https://stackoverflow.com/questions/19032169/is-there-a-max-number-of-devices-that-adb-can-detect另外,我会担心同时激活多个蓝牙无线电(无线电干扰会导致演示失败)。 –

+0

我对此没有直接的回答(这就是我评论的原因),但我确实知道对于Xamarin测试云,您也可以在本地测试中使用支持的测试框架,但只能在单个设备上一次。而且,不同的测试框架可能会有不同的性能级别。所以我怀疑你可能需要在你的问题中提供更多的信息,以便由某人合理地“回答”......虽然我可能是错的。 –

回答

2

每USB控制器,你可以有127个设备(128减去控制器),BU我不是说你可以同时拥有127台设备的主机通信和维护任何类型的数据吞吐量,这是一个不同的故事.. ..

有很多设备的核心USB问题是功耗。即使使用所谓的“供电”USB集线器,我们也使用特殊的Y电缆,这些电缆仅具有数据端和仅电源端。

真正的好电缆是做到这一点是通过迎合发烧友,因此通常非常昂贵,工作的伟大,但矫枉过正的这种用法公司通常发现。 也避免了廉价的Y型电缆,其中唯一的数据,一边是“接地”你将有数据传输失败。低质量的电缆将会导致数据吞吐量下降,让您在追逐测试失败的圈子中跑步。

消费者外部USB集线器并不是相同的,并且其功率输出和每个端口上的同时吞吐量差异很大。尽管大多数设备可以同时使用一个/两个设备进行通话,但是当有4-8个设备正在通话时,许多设备会出现故障。同时试图级联它们以增加端口数量可能会导致整个链路出现故障。确保你有一个良好的退货政策,你可以从中购买。

你没规定的测试框架,但一些Appium信息:

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

  • 的Android < -USB->主机(ADB)
    • 8器件是关于可靠的阈值同时(双向)测试
  • 的Android < -Wifi-> AP < -Host(ADB)
    • DHCP服务器处理分配IP经由MAC的Android装置地址,以便我们可以创建端口以IP地址的静态映射,用于经由adb
    • 重新映射
    • 8个同时运行的每个Window服务器/主机的Appium服务器(从而设备)大约有什么期望
    • 这适用于大约32/64设备每个专用 AP。
      • 记住AP具有为〜从适当的信号衰减的设备五分之四英尺远
      • 移动云数据中心使用EMI /法拉第笼到每个移动设备机架隔离,其中多个服务器,AP和设备每个机架
  • 的Android < -USB2Ethernet < -Host(ADB)
    • 并非所有设备都SUPP内安装或OTG,所以这并不总是一种选择,但效果很好。
    • DHCP服务器需要就像Android<-Wifi->AP设置

的iOS是一个完全不同的CAN蠕虫:连接到Mac

  • 4个的iOS设备是所有可以实现结果可靠。
  • 记住主机上的每个Appium服务器都有一个单独的Xcode Instruments。
  • Mac Minis非常适合专用的Appium测试服务器。

在GPS测试方面,嘲笑是最简单的方法。有些硬件设备专门用于GPS测试,供顶级应用开发人员使用(测绘,交通,航空电子设备等),但是对于特设的室内设备实验室来说,购买和设置这些设备通常都很昂贵( EMI /法拉第笼需要封装设备和GPS注入器天线)。

由于干扰,配对问题等原因,蓝牙设备可能成为设备实验室的一个大问题,因为近距离竞争单个(或多个)蓝牙配件的设备数量可能会导致配件无法使用与任何设备配对。基本上同时进行蓝牙测试并不能正常工作,但是您可以使用Appium自动开启/关闭WiFi /蓝牙/飞行模式,但对于Android设备,这需要它们都是USB连接的,并且不使用adb将主机端口重新映射到IP地址通过WiFi ...