如何实时更改模拟器虚拟场景?

How can I change emulator virtual scene in real time?

我正在对扫描条形码的应用程序进行 UI 测试。我已经成功地找到了一种在模拟器虚拟场景中插入条形码图像以测试 this post.

后扫描的方法

我已经按照这个答案做了它,因为它正是我所需要的: 问题是我想为每个测试用例测试不同的条形码图像,我正在尝试找到一种方法。

我想到的一种方法是实时替换图像,但我认为你需要重新启动模拟器,而且它看起来很脏,我不知道如何在 kaspresso 中实现它。另一种方法是在扫描仪中注入虚假结果,但这样就失去了端到端 UI 测试的目的,所以...

执行此操作和实施它的最佳方法是什么(如果可能)。我正在寻找答案,但似乎还没有人做到。

我也看到模拟器文件夹的资源文件夹里有宏,这可能有用,但我不知道如何使用它们:

最后,我在 Java 8 中制作了一个 .jar 文件,它使用套接字来操作我使用 .posters 解决方案用作条形码的文件。它在 运行 测试 UI 时启动了 Gradle 任务,在 android 模拟器中,我使用客户端来传达将哪个条形码放置在虚拟场景中。当最后一个测试是 运行 时,模拟器关闭服务器。我们可以在管道中实现它。