首页 > 解决方案 > 如何实时更改模拟器虚拟场景?

问题描述

我正在为扫描条形码的应用程序进行 UI 测试。我已经成功地找到了一种在模拟器虚拟场景中插入条形码图像的方法,以在这篇文章之后测试扫描。

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

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

什么是最好的方法来做到这一点并实施它(如果可能的话)。我正在寻找答案,但似乎还没有人这样做。

我还发现模拟器文件夹中的资源文件夹中有宏,这可能很有用,但我不知道如何使用它们:

在此处输入图像描述

标签: androidandroid-emulatorandroid-espressoandroid-uiautomatorui-testing

解决方案


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


推荐阅读