源码环境和运行环境区别:源码环境需要从源码安装(废话),因此需要按照很多依赖库(seledroid,node.js 的依赖库等等),组建时间较长且需要修改某些系统设置,使用目的是进行 appium 的开发/源码学习。运行环境则主要是用 apppium 来测试手机应用,重点在使用 appium,希望安装依赖库这类问题越少越好(所以用 exe 或者.app 是最简单的,而且还能随时切换版本)。当然,源码环境也可以做运行环境。
appium for ios 的资料确实不多,你可以参考官方文档(github 的或者官方网站的),官方讨论区 (https://discuss.appium.io/) 等,testerhome 也有不少好文的,你也可以搜索一下。总的来说,appium 作为 ios 和 android 通用的框架,大部分地方都是通用的,但有些特有的地方(如应用签名、使用 ios predicate)需要通过学习一些 ios 开发知识来补充(我也正在学习中)。
如何入门 appium:我的入门方法:自己搞个简单 app(学习应用开发),通过官方 sample-code 学习编写简单的脚本(学习 webdriver API),学习其他流行的移动开发框架(了解某些地方 appium 为何如此设计/如此使用,共有的就是最需要学习的),测试自己开发或市面现有的复杂 app(了解如何测试一个实际应用。实际应用总会有各种自定义控件,学习测试自定义控件才是落地的)。
最后说一点:国外网站大多是英文,所以英文水平也是必备的。每次学习到一个知识点最好写一篇博客/帖子记录一下,一方面方便后面自己查阅,另一方面也是知识库储备。
非常赞同。
我一般遇到问题先 google,再 stackoverflow,然后源码(能拿到的话),最后提问(或者报 bug)。
ok,解决了就好。
这个不大清楚哦。目前看到的文档只提到支持 chrome 或者基于 chrome 内核且可被 chromedriver 驱动的浏览器。
你可以试试。
话说你要测的到底是在浏览器里用的 web app 还是内置浏览器的 hybrid app?
#2 楼 @lit7tlemk 不好意思,我可能是理解错了。你想问的是不是 appium 要怎样和已经启动的 Genymotion 虚拟机取得连接?
这个不需要额外配置的,appium 会自动通过 adb 寻找设备的。你出错是因为你在 appium 里多配了 avd 的参数,导致 appium 启动 avd 出错了。
#6 楼 @lihuazhang 刚刚细看了一下,好像是理解错了。。。
@lihuazhang 他想问的应该是怎么像启动 avd 那样让 appium 在启动时自动启动 Genymotion 吧?appium server 有个参数可以在 appium server 启动时自动启动指定的 avd 的。
差不多这个意思。
在这个 appium 的 app 里面是没有可以启动 Genymotion 的选项的(Genymotion 不是 google 官方的,要支持它 appium 需要额外做一些事情,所以 appium 没有做这部分的支持)。你应该通过别的方法先启动 Genymotion 虚拟机(如手动打开、写 shell 脚本),再启动 appium。
appium 不支持自动启动 Genymotion 虚拟机吧。你可以另外写脚本来启动 Genymotion 。
另外,请加头像。
@zuoan 昨天 review 文档翻译刚好看到这一句:
在不编译 Chromium 的情况下,不可能得到模拟器上的 x86 版本的 chrome。你可以运行一个 ARM 的模拟器然后从真机上获取一个 Chrome 的 APK 安装在模拟器上。
建议你用 arm 的模拟器吧。。。
ruby china 貌似是有 android 和 iOS 的 app 的。可以在它们的基础上做。
写得不错!手把手入门了。
话说为啥大伙的运行环境都喜欢用 npm 安装 appium ? 总觉得 npm 安装依赖项很多,容易出现各种坑,而且会影响其他 node.js 项目。用 dmg 里面的 app 或者 exe 就简单多了。
最后那句吐槽必须赞!不过还是得拆开洗衣机看看里面构造,以后挨骂也能搞清楚是自己责任还是洗衣机的错。
@emily 额,你这个不是搭建源码环境,而是搭建运行环境,所以我就不附到帖子里面了。
@doctorq 我明白。我的意思是我们翻译后的文档是否都要统一加上 cn?
如果统一加上的话,就必须对所有链接到其他文档的链接进行修改,因为文件名不一样了。
个人建议用回原来的名字,不加 cn,理由就是 README.md 不能加 cn,为了保持统一全部都不加好了。
@doctorq 所有中文文档的名称是否需要加 cn?如 README.md 翻译后文件名改为: README.cn.md
@lihuazhang 你的意思是第 4 步 rebase 里面的 upstream 要添加 remote 连接到 testerhome 或者 appium 官方 ?我是通过 github 网页来做 fork 和 pull request 操作的。
@shixue33 你试试 github 的 windows 客户端能不能完成上面的操作?可以的话就没问题。
@Monkey @lihuazhang @seveniruby @doctorq &各位了解 github 贡献流程的童鞋麻烦看看这个流程有没有问题?
@anikikun troubleshooting.cn.md 这篇的 1.3.5 英文版我在搭源码环境的时候看过,明显和这个中文翻译版不一样的(内容上不一样,和翻译质量无关)。建议 review 的时候结合它的最新英文版一起 review。
@doctorq 麻烦注明一下这个目录结构是运行reset.sh --dev后的目录结构。有些文件夹(如 sample-code)不运行reset.sh --dev 是不会出现的。
收到。
我也在学习中。。
顺便推荐一下两个官方文档(全英的):
git 的(各命令及对应说明,分类很明确):http://git-scm.com/docs
github 的(如何通过 fork->create branch->pull request 做出贡献):https://help.github.com/articles/fork-a-repo/
妹子把解决方案附到帖子内容里,然后加个【已解决】方便其他人学习吧。