美文网首页Inside Appium
Appium启动过程分析

Appium启动过程分析

作者: 走在成长的道路上 | 来源:发表于2017-06-21 14:24 被阅读0次

    【注】文中提起的 Appium 版本為 v1.6.5

    Appium 入口为 main 函数,如下图所示:


    appium 入口流程

    通过在main函数中指定主Driver类,然后通过将服务器启动起来。
    在客户端启动 Session 之后,进入到 appium/lib/appium.js 中的 createSession 函数中,这时候会根据客户端请求参数获取相应的设备Driver,然后将其实例化,并主动调用 Driver 中的 createSession 操作。同时将SessionId 与相应的 Driver 进行绑定。方便下次同SessionId 的操作使用同样的 Driver 进行操作。

    从 function routeConfiguringFunction (driver) 函数中,可以发现 所有Driver都必须实现 executeCommand 或 execute 函数,这样用来作为请求的数据执行器。

    而在appium/lib/appium.js 中的 executeCommand() 函数,其实现如下:

    async executeCommand (cmd, ...args) {
          if (isAppiumDriverCommand(cmd)) {
                   return super.executeCommand(cmd, ...args);
          }
    
          let sessionId = args[args.length - 1];
          return this.sessions[sessionId].executeCommand(cmd, ...args);
     }
    

    即, 先查找相应的设备驱动,然后将指令交给驱动进行执行。

    相关文章

      网友评论

        本文标题:Appium启动过程分析

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