在测试 Android 应用程序时有什么方法可以模拟信标吗?
我的 Android 应用程序使用AltBeacon
库和位置 API。
我可以模拟位置提供程序以注入 GPS 坐标,但我还需要模拟“信标 API”(我使用AltBeacon
库)来注入信标接近度。
这可能吗?或者使用一些模拟框架来模拟我使用AltBeacon
API 的部分?
在测试 Android 应用程序时有什么方法可以模拟信标吗?
我的 Android 应用程序使用AltBeacon
库和位置 API。
我可以模拟位置提供程序以注入 GPS 坐标,但我还需要模拟“信标 API”(我使用AltBeacon
库)来注入信标接近度。
这可能吗?或者使用一些模拟框架来模拟我使用AltBeacon
API 的部分?
在我的情况下,我只需要模拟信标,我只是使用与库测试相同的方法。它们使用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
}
我不确定您的问题是否足以满足您的需求,但它满足了我的需求。