写点什么

软件测试 / 测试开发丨 app 自动化测试之 Appium 源码分析

作者:测试人
  • 2023-03-22
    北京
  • 本文字数:693 字

    阅读完需:约 2 分钟

获取更多相关知识


Appium 是由 Node.js 来实现的 HTTP 服务,它并不是一套全新的框架,而是将现有的优秀的框架进行了集成,在 Selenium WebDriver 协议(JsonWireProtocol/Restful web service)的基础上增加了移动端的支持,使 Appium 满足多方面的需求。

官方提供更详细的 Appium 结构说明:https://appium.io/docs/en/contributing-to-appium/appium-packages/

Appium 原理


不同平台(如 Android,iOS)采用不同的运行和交互方式。Appium 可以创建并管理多个 WebDriver Session 来和不同的平台交互。

以下几步可以编译构建 Appium 源码:

// clone appium 源码git clone https://github.com/appium/appium.gitcd appium// 安装项目的依赖npm install// 编译npm run build// 运行node .
复制代码

Appium lib 目录包含了核心代码。



比如 main.js 中包含 Appium 的启动语句:

async function logStartupInfo (parser, args) {  let welcome = `Welcome to Appium v${APPIUM_VER}`;  let appiumRev = await getGitRev();  if (appiumRev) {    welcome += ` (REV ${appiumRev})`;  }  logger.info(welcome);
let showArgs = getNonD
复制代码

如果简单修改,将 Welcom to Appium 修改为 hello

async function logStartupInfo (parser, args) {  let welcome = `hello v${APPIUM_VER}`;  let appiumRev = await getGitRev();  if (appiumRev) {    welcome += ` (REV ${appiumRev})`;  }  logger.info(welcome);
let showArgs = getNonD
复制代码

编译后 Appium Server 的启动日志会发生改变:



值得注意的是, Appium 本身不包含任何有关测试方法的代码,如果对底层进行修改和定制,请观看我的其他文章。

发布于: 刚刚阅读数: 3
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试/测试开发丨app自动化测试之Appium 源码分析_软件测试_测试人_InfoQ写作社区