51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3572|回复: 0
打印 上一主题 下一主题

[转贴] Flutter自动化测试-集成测试篇

[复制链接]
  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 1042 天

    连续签到: 4 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2021-3-4 09:43:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    Flutter集成测试  Flutter官方对Flutter应用测试类型做了三个阶段划分,分别为Unit(单元)测试、Widget(组件)测试、Integration(集成)测试。
      按照维护成本来看的话从左到右依次增高,按照投资回报方面看的话依次是Widget>Integration>Unit,而作为测试人员来说,我们主要关注点在集成测试这一类型。
      官网对于集成测试的定义:
      “Unit(单元)测试和Widget(组件)测试对于测试单个类、方法或者组件来讲非常方便,然而他们通常不会将各个部分作为整体一起进行测试,又或者是想要获取应用在真实设备上的表现,此时我们就需要集成测试了。”
      FlutterDriver
      FlutterDriver提供API去测试运行在真实设备和模拟器里面的Flutter应用,执行时会和测试脚本在不同的进程中,可以简单认为就是Flutter版本的Selenium WebDriver
      添加FlutterDriver依赖
      在介绍Flutter工程的目录结构时,其中pubspec.yaml文件可以对依赖和配置进行管理,类似于Maven工程的pom.xml。找到dev_denpendencies添加如下配置
      其中
      ·flutter_driver: sdk: flutter配置表示添加FlutterDriver依赖
      ·test: any配置表示添加测试库,因为我们写TestCase需要用到里面的方法和断言
      集成测试步骤
      1、创建测试App
      使用创建的Demo工程,其中包括悬浮按钮和中间的文本显示。
      需要注意的是:默认demo没有给这些元素加上标识,而且flutter中不支持ID,一般通过Key属性进行标识(对应定位方法为valueKey)。
      我们这里给悬浮按钮和中间的文本显示元素加上key属性:

      2、创建test脚本
      1)在工程根目录下创建test_driver文件夹
      2)创建xx.dart文件:用于启动运行应用
      3)创建xx_test.dart文件:Test脚本文件
      官方解释为什么需要创建这两支文件的原因:
      集成测试中TestCase和应用运行在不同的进程中,所以需要test_driver目录里有两个文件分别用来执行应用和执行TestCase。

      3、开启Flutterdriver扩展支持
      在xx.dart文件中添加如下代码:

      4、编写测试脚本
      在xx_test.dart文件中添加如下代码:

      5、执行测试
      1、连接设备,我们可以选择
      ·Windows上测试Android设备/模拟器
      ·在MacOs上测试Android设备/模拟器 or IOS设备/模拟器
      2、在项目的根目录下开启命令终端

      命令解释:
      ·构建目标App包并将其安装到设备/模拟器中
      ·启动目标App
      ·运行xx_test.dart
      ·执行效果:

      关于FlutterDriver实现自动化测试就介绍到这里。

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-10 06:54 , Processed in 0.069226 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表