Appium启动过程分析

简介: 【注】文中提起的 Appium 版本為 v1.6.5Appium 入口为 main 函数,如下图所示:appium 入口流程通过在main函数中指定主Driver类,然后通过将服务器启动起来。

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

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


img_ece30db58e493def1d2b5e3f3cc3c4a6.png
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);
 }

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

目录
相关文章
|
6月前
|
前端开发 JavaScript 测试技术
深入探索自动化测试框架:Selenium与Appium的对比分析
【4月更文挑战第29天】 在快速迭代的软件发展环境中,自动化测试已成为确保软件质量和加速产品上市的关键步骤。本文将重点探讨两种广泛使用的自动化测试框架——Selenium和Appium,通过对比它们的核心特性、适用场景及执行效率,为软件开发和测试团队提供选择指南。文章不仅分析了各自的技术架构和脚本语言支持,还讨论了它们在处理Web应用和移动应用测试时的优缺点,旨在帮助读者根据项目需求做出更加明智的选择。
|
Web App开发 JSON 小程序
干货|app自动化测试之Appium 原理 与 JsonWP 协议分析
干货|app自动化测试之Appium 原理 与 JsonWP 协议分析
|
人工智能 JavaScript IDE
干货|app自动化测试之Appium 源码修改定制分析
干货|app自动化测试之Appium 源码修改定制分析
|
Web App开发 JSON 架构师
干货|app自动化测试之Appium 原理 与 JsonWP 协议分析
想要使用 Appium 进行测试,那么就一定要先了解Appium的原理。Appium 不仅能够实现移动端的 JSONWP,并且延伸到了 Selenium 的 JSONWP,它能够控制不同移动设备的行为,例如通过会话安装和卸载 APP。 ## Appium 原理 ![](https://ceshiren.com/uploads/default/original/3X/4/3/435691a3
|
人工智能 JavaScript 架构师
干货|app自动化测试之Appium 源码修改定制分析
Appium 是由 Node.js 来实现的 HTTP 服务,它并不是一套全新的框架,而是将现有的优秀的框架进行了集成,在 Selenium WebDriver 协议(JsonWireProtocol/Restful web service)的基础上增加了移动端的支持,使 Appium 满足多方面的需求。 官方提供更详细的 Appium 结构说明:https://appium.io/docs/e
|
Web App开发 JSON 架构师
干货|app自动化测试之Appium 原理 与 JsonWP 协议分析
想要使用 Appium 进行测试,那么就一定要先了解Appium的原理。Appium 不仅能够实现移动端的 JSONWP,并且延伸到了 Selenium 的 JSONWP,它能够控制不同移动设备的行为,例如通过会话安装和卸载 APP。 ## Appium 原理 ![](https://ceshiren.com/uploads/default/original/3X/4/3/435691a3
|
JSON 监控 测试技术
干货|app自动化测试之Appium问题分析及定位
干货|app自动化测试之Appium问题分析及定位
|
索引
Appium 基础架构分析
【注】文中提起的Appium版本為 v1.6.5 Appium 的基础如下图所示: Appium 基礎架構 如上图所示,appium 主体分爲 三 部分: client, appium-server, 和 device 。
1162 0
|
6月前
|
测试技术 API Python
Appium控件交互策略:优化自动化测试效率的关键方法
该文介绍了如何使用Selenium与APP进行交互,包括点击、输入和状态判断等操作。例如,通过element.click()点击控件,element.send_keys()输入文本,以及element.is_displayed()检查元素是否可见。还展示了如何获取元素属性,如resource-id、text和class,并提供了Python代码示例来定位并操作APP元素,如滑动条的显示、可点击性检测及点击滑动条中心位置。在编写测试脚本时,应注意元素定位和状态验证以确保测试稳定性。
|
14天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
55 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路