1

在测试 Android 应用程序时有什么方法可以模拟信标吗?

我的 Android 应用程序使用AltBeacon库和位置 API。
我可以模拟位置提供程序以注入 GPS 坐标,但我还需要模拟“信标 API”(我使用AltBeacon库)来注入信标接近度。
这可能吗?或者使用一些模拟框架来模拟我使用AltBeaconAPI 的部分?

4

1 回答 1

1

在我的情况下,我只需要模拟信标,我只是使用与库测试相同的方法。它们使用AltBeaconParser代表信标传输的一系列字节:

public class AltBeaconTest {

  public static byte[] hexStringToByteArray(String s) {
      int len = s.length();
      byte[] data = new byte[len / 2];
      for (int i = 0; i < len; i += 2) {
          data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
                               + Character.digit(s.charAt(i+1), 16));
      }
      return data;
  }

  @Test
  public void testRecognizeBeacon() {
    byte[] bytes = hexStringToByteArray("02011a1bff1801beac2f234454cf6d4a0fadf2f4911ba9ffa600010002c509");
    AltBeaconParser parser = new AltBeaconParser();
    Beacon beacon = parser.fromScanData(bytes, -55, null);
    assertEquals("manData should be parsed", 9, ((AltBeacon) beacon).getMfgReserved() );
  }

  ... more tests
}

我不确定您的问题是否足以满足您的需求,但它满足了我的需求。

于 2016-06-04T15:54:36.883 回答