关于软件测试:干货app自动化测试之Appium-源码分析

Appium 是由 Node.js 来实现的 HTTP 服务,它并不是一套全新的框架,而是将现有的优良的框架进行了集成,在 Selenium WebDriver 协定(JsonWireProtocol/Restful web service)的根底上减少了挪动端的反对,使 Appium 满足多方面的需要。
官网提供更具体的 Appium 构造阐明:https://appium.io/docs/en/con…

Appium 原理

不同平台(如 Android,iOS)采纳不同的运行和交互方式。Appium 能够创立并治理多个 WebDriver Session 来和不同的平台交互。
以下几步能够编译构建 Appium 源码:

// clone appium 源码
git clone https://github.com/appium/appium.git
cd 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

批改为

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 自身不蕴含任何无关测试方法的代码,如果对底层进行批改和定制,请观看后续文章。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理