Appium源码开发环境配置
作为开发人员怎么可以只使用官方发布版本的安装文件?
ps:1、学习源码前,最好需要些nodejs的基础,大概需要的深度是 ,例如express开发等。
2、LZ根据开发文档进行环境配置,只谈一些自己踩过的坑。
不得不说,最新的appium源码已经很好配置,跟之前的对比简直好太多了,我想也是因为appium团队发现了环境搭建复杂对于开源代码的弊端,很多开发人员之前会因为开发环境搭建麻烦/耗时而放弃加入appium开源代码开发。
https://github.com/appium/appium
可以找到appium的最新源码,好多BUG都得到了解决,例如selendroid上面的一些初始化的BUG。
请留意:
以前学习 在testhome里面看到的教程很复杂,Appium 开发环境搭建合集 https://testerhome.com/wiki/developingappium
并且使用的是MAC OS,环境搭建麻烦,当初整了好几天都没搞定,新源码不建议使用/参考这个教程进行环境配置。
源码已经过期了,建议想要学习的人 还是直接下载github主线https://github.com/appium/appium开源的代码,毕竟testorhome的支线会有改动。
环境搭建:
最好的办法是:
先根据appium安装文件先把环境搭好。最好能跑起来。这种教程很多在这里就不浪费口舌。
特别留意的是:node最新的并且最好装对版本,32位装32的 64装64别搞混,LZ试过装错版本结果装失败的。
然后:
先找个文件夹:
git clone https://github.com/appium/appium.git
然后:直接找文档咯,据前辈们说 学习源码最好的办法就是先找文档,然后appium目录下的doc文档。具体文件夹什么意思就不用我去翻译了吧。
根据文档指导,没几个单词的,建议看英文的会比较好,中文的翻译的跟SHI一样而且对不上版本。
F:\Appium\lmt\appium\docs\en\contributing-to-appium文件夹就是开发指导用的。
appium-from-source.md用notepad++打开,然后一步一步往下走。
cd appium
npm install
gulp transpile # requires gulp, see below
npm install -g authorize-ios # for ios only
authorize-ios # for ios only
node .
其中npm install时候可能需要很长时间1~2小时,但是并不需要FQ。
node .成功之后,appium启动成功。此时使用源码启动成功。
如果gulp失败,可以先进行下面的操作:
Make sure you have `ant`, `maven`, `adb` installed and added to system `PATH`, also you
would need the android-16 sdk (for Selendroid) and android-19 sdk installed.
From your local repo's command prompt, install the following packages using the
following commands (if you didn't install `node` using Homebrew, you might have
to run `npm` with sudo privileges):
```center
npm install -g mocha
npm install -g gulp
npm install -g gulp-cli
npm install -g appium-doctor && appium-doctor --dev
npm install
gulp transpile
```
几个npm install之后,gulp transpile命令应该就识别了。
此时 node .命令开启appium,若出现类似以下截图,则源码运行环境配置成功。即appium监听0.0.0.0来自任何IP的请求。
然后 先试一下给源码进行单元测试。(注意单元测试的时候,不能开启appium服务器,原因初步认为是单元测试本来就是测试源码,需要打开文件,服务器打开时文件正在被占用)
Once your system is set up and your code is up to date, you can run unit tests
with:
```center
gulp once
```
基本功能测试:(也不用node .启动服务器,否则会占用端口而导致服务器启动失败)
```center
gulp e2e-test
```
开发环境搭建是否很简单?接下来就参考开发文档规范,开开心心进行开发提交代码吧。