FAutoTest一个H5、小程序自动化测试框架

  

  简介   

  

  随着产品业务形态逐渐从应用延升到微信小程序,微信公众号以及QQ公众号等,而之前的自动化建设主要是本地应用为主,全手工测试已无法满足快速增长的业务需求。为提升测试效率和质量,FAutoTest框架致力于解决QQ,微信内界面的自动化问题(包括微信内H5页面和小程序,QQ内H5页面),提升自动化测试的效率和稳定性。   

  

  FAutoTest是一款成长中的框架,吸收借鉴了一些UI自动化工具的优秀设计理念和思想。如果框架有不足地方,或者你有更好的建议,欢迎提交问题参与贡献。   

  

        特性   

  

  FAutoTest专业服务于微信H5/小程序的UI自动化测试,提升测试效率与质量。   

  
      <李>   支持微信H5页面,能识别常见H5控件,能获取页面任意内容(常见的如文字,图片,链接等)   李   <李>   支持小程序内控件识别,操作,页面内容获取等   李   <李>   支持安卓本土页面组合操作使用   李   <李>   简单的API设计,较低的使用门槛   李   <李>   支持基础的性能测试监控   李   <李>   功能扩展性强,扩展门槛低   李   
  

        架构   

  
      <李>   

      整体采用分层设计、API设计方式参考WebDriver   

      李   <李>   

      整体框架是一个同步阻塞的模型:在一个线程中循环的执行接收方法,等待收到反应,发送消息后,阻塞,只有当接收方法获得消息时,才会解除阻塞,发送下一条消息,具备超时异常处理机制   

      李   <李>   

      框架内打包了Python版本的UIAutomator,方便在安卓本土页面进行操作   

      李   
  

      FAutoTest一个H5、小程序自动化测试框架”>
  
  </p>
  <p>
  
  ,提供给用户所有的界面操作API (H5界面及小程序界面),使用者不需要关注框架内部实现,只需要关注自身业务逻辑流程(手工用例流程转换成自动化流程)
  </p>
  <p>
  
  ,主要用于接收和解析用户命令后传递给下层引擎层
  </p>
  <p>
  
  ,将用户命令传输到手机,并返回结果信息。封装WebSocket和单线程池,通过WebSocket调试URL和浏览器内核建立链接,发送Json格式的协议到手机端进行用户指定的操作。
  </p>
  <h4>
  
  
  业务流程
  </h4>
  <ul>
  <李>
  <p>
  H5页面/小程序界面自动化执行流程
  </p>
  
  <img src=FAutoTest一个H5、小程序自动化测试框架