测试运行程序的结构

测试运行程序是调用流程的执行单元。这是实际运行测试的地方。

接口

测试运行程序通过 IRemoteTest 接口进行定义,该接口提供了一种简单的 run 实现方法,在要运行测试时将调用该方法。

这样可以对测试的运行方式进行最简单的定义。但在实际操作中,测试编写者需要更多信息才能正确编写测试,通常是 build 和设备信息。在这种情况下,以下接口便派上用场。

基本

下面是目前使用最广泛的两个接口,它们可满足大多数测试的基本需求。

  • IBuildReceiver 允许测试获取在 build 提供程序步骤中创建的 IBuildInfo 对象,该对象包含与测试设置相关的所有信息和工件。
  • IDeviceTest - 允许 TF 接收代表被测设备的 ITestDevice 对象,并提供用来与之交互的 API。

高级

还有一些其他接口,允许在自动化测试框架与测试运行程序之间进行更复杂的交互:

  • ITestFilterReceiver 允许测试接收一组过滤器,以便仅运行某些测试。这在运行测试的子集时很有用。
  • ITestCollector 允许测试运行程序仅模拟运行测试,而不是实际执行测试。这在收集所有测试用例的列表时很有用。

现有测试运行程序

已经存在多种测试运行程序,一些用于主要测试类型:

除上述这些之外,还存在大量的自定义测试运行程序。它们在一些功能测试(例如启动测试)中发挥专门的用途。

编写新的测试运行程序

如需关于编写新测试运行程序的更多指导,请参阅编写测试部分