Flutter Driver 入门篇

Flutter Driver 入门

本文仅入门参考,如果有错误的地方还请大佬们指正,所以在这我先不讲理论,直接开始操作。
本文分成三个部分

  1. 环境准备
  2. 实战尝试
  3. 回顾反思

环境准备

  • 第一步先安装好android的开发环境
    flutter的环境安装直接跟着官网走会有一个很奇葩的问题,我会在文中指出。
    其中各种文档建议直接去Flutter中文网去看,因为谷歌的东西,你懂得。

  • 第二步
    直接去看这篇文章,我认为讲的比较好mac上安装Flutter链接

其中,如果在执行flutter doctor遇到报错

$ flutter doctor
Error: The Flutter directory is not a clone of the GitHub project.
       The flutter tool requires Git in order to operate properly;
       to install Flutter, see the instructions at:
       https://flutter.dev/get-started

这个问题就是我前面说的奇葩,你可能下载的包有问题,那就放弃这个,直接找个地方
git clone https://github.com/flutter/flutter.git这个地方可以是你刚刚解压的地方记住路径就行了。
然后doctor会提示什么没准备好,你直接执行后面给你的命令就行了。

[✓] Flutter (Channel master, 1.21.0-6.0.pre.191, on Mac OS X 10.14.6 18G6020,
    locale zh-Hans-CN)
 
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    ✗ Android licenses not accepted.  To resolve this, run: flutter doctor
      --android-licenses
[!] Xcode - develop for iOS and macOS (Xcode 11.3)
    ✗ Xcode requires additional components to be installed in order to run.
      Launch Xcode and install additional required components when prompted or
      run:
        sudo xcodebuild -runFirstLaunch
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin
        code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install:
        sudo gem install cocoapods

实战尝试

环境现在是好了,但是还有个问题,没有项目,我这边根据官方的demo写了个用来测试的demogit地址

先看看官网的demo,根据官方的说法,需要再配置文件中添加
在这里插入图片描述
但是进来配置文件发现官方给的demo已经把dev_dependencies用掉了

在这里插入图片描述
不要慌 不用管它,直接在他后面追加一句
在这里插入图片描述
就可以了,

然后现在找到test_driver文件夹,
在这里插入图片描述
官方给了很多大道理比如“创建指令化的Flutter应用程序”,比较晦涩,简而言之就是类似appium先写个启动文件。启动被测试的东西,这个东西可以是整个APP也可以是某个组件功能,
在这里插入图片描述
启动完成之后需要用例吧,用例在哪,用例就是以这个文件名加_test命名的文件。官方给的例子名字很长,很多人可能没意识到这两个其实两个文件。

下面是用例
在这里插入图片描述
官方给的是demo是性能跟踪,对于我们做UI自动化而言,我这边的demo是常规的UI自动化测试,根据元素查找功能-操作-校验操作。
运行其实是个值得一提的事情,我用的AndroidStudio,但是直接执行e2e.test是不行的,必须要到命令行中执行flutter drive --target=test_driver/e2e.dart

回顾反思

到这里你就能看到手机的自动操作,算作是入门了flutter_driver的使用,至少能够跑demo,下一步就是去看看Flutter Widget Inspector和flutter_driver的API进行进阶的代码编写。
但是flutter_driver做UI自动化其实投入产出比比较低,因为要去理解项目代码,需要开发支援在项目中添加ValueKey之类的定位方式,不像ATX或者APPIUM进行纯黑盒测试,所以现阶段估计发展不会很强势。而且现阶段国内的文档非常少,大多数讲flutter_driver都是底层vm的理论,对于普通想入门的测试人员其实有劝退效果。
所以,丰富自己的知识面,学会开发,才是一个真正的测试工程师。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值