Appium Appium 项目的源码目录结构分析

易寒 · 2015年03月04日 · 最后由 陈恒捷 回复于 2015年03月29日 · 1155 次阅读
本帖已被设为精华帖!

运行 reset.sh --dev 命令后的目录结构

这里写图片描述

Appium 的目录结构如上图所示,下面我们来一步一步的分析各个文件 (夹) 的作用。

.git 文件夹

git 版本控制工具自带的文件夹,用于存储各个版本的相关信息,每一个 git 项目都会有该文件,一般处于隐藏状态。

asserts 文件夹

资源文件夹,大致是 sample-code 文件夹里一些项目。

bin 文件夹

用于存放命令的目录,一些具有单独功能命令脚本会放到这个地方,比如 check 源码环境是否已经用 reset.sh 安装成功了。

build 文件夹

项目编译后的产物输出目录

ci 文件夹

持续集成用的相关文件保存在这个目录中

docs 文件夹

项目文档存放目录

lib 文件夹

node.js 的源码文件夹,类似于 java 的 src 文件夹。

node_modules 文件夹

node 项目默认存放插件的目录

sample-code 文件夹

一些样例代码,我们一般可以从该文件的源码中如何学习写 case。还有一些样例的 app 的源代码,包括 ios 和 android 平台的。

submodules 文件夹

.gitmodules 文件中配置的子模块的存放目录,该目录里都是这个项目所需要依赖的一些单独项目。

test 文件夹

测试代码所在文件夹

.appiumconfig.json 文件

appium 项目配置档文件,里面是一个 json 字符串,包含的信息有 sha 校验码和一个版本号

.gitignore 文件

git 版本管理中用于配置不需要加入版本管理的文件

.gitmodules 文件

配置了该项目含有哪些子模块,这些子模块的的存放路径以及下载地址都会在该文件中配置。

.jscsrc 文件

gulp 相关文件,对 gulp 中 jscs 任务中的 options 属性的配置文件

.jshintignore 文件

gulp 相关文件。这个文件里面定义了一些路径,可能是用来设置这些路径中文件不接受检查。

.jshintrc 文件

gulp 相关文件,gulp 中有一个 JSHint 任务,该任务是用来检测你的 js 代码有没有异常。而该任务需要一些 options 属性来判断,你可以直接把这些 options 属性放到 Gruntfile.js 文件中也可以单独写一个.jshintrc,这就是该文件的作用。

.npmignore 文件

package.json 相关文件。类似于.gitignore,但是该文件是配合 package 中 files 属性使用的,比如你在 files 中设置了一个目录,但是该目录中某个文件你不想包含在内,那你就可以用 .npmignore 配置忽略的文件的。

AUTHORS 文件

作者列表

CHANGELOG.txt 文件

版本更替说明文档

CONTRIBUTING.md 文件

贡献代码须知说明文档

Gruntfile.js 文件

grunt 插件的配置文件,用来配置 grunt 任务,说到这里就需要大致了解一下grunt是什麽?从官网了解的,grunt 是专门为 js 设计的构建工具,类似于 java 中的 ant,maven 和 gradle,看来 gradle 想提供给 node.js 插件也不现实了。

grunt-helpers.js 文件

包含在 Gruntfile.js 文件中,把一些操作抽离出来放到该文件中。

gulpfile.js 文件

gulp 工具的配置文件,gulp 也是一个 js 构建工具。目前来看,grunt 应该是利用 gulp 来完成构建的。

install-beta.md 文件

利用 npm 安装 appium 应用的 beta 版本说明文档

install-from-npm.md 文件

利用 npm 安装 appium 应用说明文档

LICENSE 文件

许可声明文件,可忽略。

package.json 文件

node.js 项目的清单文件,里面配置 node.js 项目各种属性。比如启动文件,依赖的 node 模块等等。

README.md 文件

markdown 语言写成的文档文件,git 项目一般都会有这个文件,里面会有一些关于该项目的简单介绍,使用网页版的 github 时候,会看到项目介绍信息,就是在该文件里面编写的。

RELEASE.pdf 文件

该文件一般不会改变,但不是所有 git 项目都有的啊,这就是一个开源项目需要遵守的一个协议,你要去管理该协议的组织申请一下,等到官方的确认信就 ok 啦。打开该文件你会发现,其实就是一份邮件的回信,只是说比较官方的回复,说明 appium 项目拿到了 apache 的许可,可以发布。可忽略

reset.bat 文件

windows 上的批处理文件,该文件和下面的 reset.sh 文件的作用一样,都是用来检测源码环境和安装一些必须的模块。

reset.sh 文件

一键搞定源码环境,运行该文件后,它会帮你发现环境中缺少的,有问题的东西,也会帮你安装一些必要的模块。

trigger.txt

测试自动构建过程的样例文件。

欢迎帮助我指出理解的不对的地方。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 3 条回复 时间 点赞

@doctorq 麻烦注明一下这个目录结构是运行reset.sh --dev后的目录结构。有些文件夹(如 sample-code)不运行reset.sh --dev 是不会出现的。

我在我的博客里面对文件夹的内容作了更详细的介绍,大家有兴趣可以看一下:http://chjvps.com/blog/?p=758

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册