美文网首页
react-native 的e2e测试——detox简介

react-native 的e2e测试——detox简介

作者: 星期六1111 | 来源:发表于2018-08-20 22:02 被阅读199次
    1. e2e 测试的作用?
    • 提高信心
    • 只测试happy path, 快速反馈业务流是否正确的
    1. 什么是detox?
      一个在mobile app 上的端到端的自动化测试框架

    2. 安装和在CI 上部署
      官方文档写的很详细,一步步跟着走,顺顺利利的。。。

    3. 好处:

    • 灰盒测试,可以通过 TestID,Text,label 等定位元素,代码的侵入性比较小
    • 官方的文档写的很详细,容易上手
    • 测试用例很直观
    await element(by.id('ButtonA')).tap();  
    await element(by.id('ButtonB')).tap();  
    

    detox的每一个步测试方法都是 async 的, 当 ButtonA 被点击之后,App 的各种线程, animation, 网络请求, 异步方法等等统统运行完毕,App 完全空闲的时候 tap 方法才会resolve。

    因此当测试运行到第二步的时候, ButtonB一定是处于可点击状态的, 不需要再用sleep或者wait方法来保证ButtonB的状态。 这就是所谓的自动同步(Automatically synchronized)。(同步指测试脚本和 App 的执行是按预期顺序执行的)。

    1. 过程中踩到的坑:
    • 版本问题:node >=8.3.0
    • testID 的问题:全局统一,及时在不同的页面不能用同一个testID
    • 当页面太长的时候,某些元素在页面的没有显示出来,这时需要 用swipe 或者是scroll 来模拟一个向上拖动页面的过程,使被测试的元素显示出来才能进行测试
    • 有时候 模拟器上的键盘连接到Mac 的键盘,默认隐藏 模拟器的键盘,需要手动调出 模拟器的键盘,不然 测试中一些需要输入文字的测试会挂。。。CI 上这个问题常见,一直想办法通过程序代码的方式使模拟器使用自己的键盘,但还未找到办法。路过的大神,如果知道,请不吝赐教,谢谢!

    相关文章

      网友评论

          本文标题:react-native 的e2e测试——detox简介

          本文链接:https://www.haomeiwen.com/subject/eslriftx.html