Mac下appium-python环境搭建&在MQC与AWS-Device Farm中使用appium进行脚本测试

记一个Android菜鸡的走偏之路。。
前些日子给组里QA姐姐们探了探Appium这个自动化测试框架在一些平台上的使用,网上的资料都比较零散,就自己尝试归纳总结了一下搭建环境的步骤
之前未曾装过Appium的相关环境的话,按以下步骤一路走完的话应该就可以跑起来了。。
都是一些简单的操作,视实际按需取用吧
emmm仅对我本地Mac OS 10.12.6 + python 2.7.10版本负责(:з」∠)

环境搭建

0.安装Xcode Command Line Tools

(app store安装Xcode后)
terminal下输入

xcode-select --install

1.安装brew

terminal下输入

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2.git

terminal下输入

brew install git

3.使用brew安装node和npm

terminal下输入

brew install node

安装完输入 npm -v 来测试是否成功安装

4.安装java

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载Java SE Development Kit 8
选择jdk-xxxxx-macosx-x64.dmg下载并安装

5.安装Android Developer Tools

https://developer.android.com/index.html
获取android studio并安装运行一次

6.添加java&ADB环境变量

terminal下输入

vim ~/.bash_profile

按i进入Insert模式
在最后添加:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
#此处“jdk1.8.0_xxx.jdk”为实际安装的java版本
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export ANDROID_HOME=~/Library/Android/sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH

按ESC输入:wq回车保存退出
terminal下输入java -v查看java版本是否正确,输入adb查看ADB是否配置正确

7.命令行安装appium

terminal下输入

npm install -g appium
npm install -g appium-doctor
npm install wd

由于安装需要连接国外的技术站点,国内网络不稳定导致安装失败。大家可尝试使用淘宝镜像,在~目录创建文件.npmrc,然后加入一行

chromedriver_cdnurl=http://npm.taobao.org/mirrors/chromedriver

8.为python安装pip

8.1 Install easy_install

curl https://bootstrap.pypa.io/ez_setup.py -o - | sudo python

8.2 Install pip

sudo easy_install pip

9.安装Appium for python客户端

pip install Appium-Python-Client --user

10.使用appium-doctor检查安装

terminal下输入
appium-doctor
输出如

info AppiumDoctor Appium Doctor v.1.4.3
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor  ✔ The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor  ✔ Node version is 8.1.4
info AppiumDoctor  ✔ Xcode is installed at: /Applications/Xcode.app/Contents/Developer
info AppiumDoctor  ✔ Xcode Command Line Tools are installed.
info AppiumDoctor  ✔ DevToolsSecurity is enabled.
info AppiumDoctor  ✔ The Authorization DB is set up properly.
WARN AppiumDoctor  ✖ Carthage was NOT found!
info AppiumDoctor  ✔ HOME is set to: /Users/t_chenju
info AppiumDoctor  ✔ ANDROID_HOME is set to: /Users/t_chenju/Library/Android/sdk
info AppiumDoctor  ✔ JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
info AppiumDoctor  ✔ adb exists at: /Users/t_chenju/Library/Android/sdk/platform-tools/adb
info AppiumDoctor  ✔ android exists at: /Users/t_chenju/Library/Android/sdk/tools/android
info AppiumDoctor  ✔ emulator exists at: /Users/t_chenju/Library/Android/sdk/tools/emulator
WARN AppiumDoctor  ✖ Bin directory for $JAVA_HOME is not set
info AppiumDoctor ### Diagnostic completed, 2 fixes needed. ###
info AppiumDoctor
info AppiumDoctor ### Manual Fixes Needed ###
info AppiumDoctor The configuration cannot be automatically fixed, please do the following first:
WARN AppiumDoctor - Please install Carthage. Visit https://github.com/Carthage/Carthage#installing-carthage for more information.
WARN AppiumDoctor - Add '$JAVA_HOME/bin' to your PATH environment
info AppiumDoctor ###
info AppiumDoctor
info AppiumDoctor Bye! Run appium-doctor again when all manual fixes have been applied!
info AppiumDoctor

检查WARN项

至此,本地的appium脚本测试环境就搭建好了
可按照下方 -在MQC中使用Appium进行脚本测试- 链接里的内容进行脚本开发对环境进行验证

appium reference<中文>

http://appium.io/slate/cn/master/?python

在MQC中使用Appium进行脚本测试

http://mqc.aliyun.com/doc.htm?id=17

在AWS-Device Farm中使用appium进行脚本测试

与MQC仅支持一个main.py作为testsuite,并且使用unittest作为用例测试工具不同的是,AWS-Device Farm所提供的测试基础环境是可移植并可按实际需求添加第三方拓展包的。我们需要在本地建立workspace文件夹,将此文件夹作为一个python的虚拟环境与本地开发环境隔离开来(沙盒)。在AWS上进行脚本测试时将此环境中的所必需的测试脚本文件、第三方拓展一并打包上传即可。

  • 若已在上步“在MQC中使用Appium进行脚本测试”编写好可以运行的脚本文件,可以将其 main.py 与 desired_capabilities.py一同拷贝至下面的“tests”文件夹即可。

安装虚拟环境工具

  1. terminal下输入
sudo easy_install virtualenv
  1. 按以下链接中 “Build the Appium Python Test Package” 标签下的步骤进行构建环境
    https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types-android-appium-python.html
    • 注意:由于virtualenv,此文件夹与本地python环境隔离,在以上网页 <b>step4</b> "Make sure you have py.test installed in your virtual environment and test cases are discoverable by the following command, which you should run from your virtual environment workspace folder." <b>之前</b>,将编写好的脚本文件拷贝至tests文件夹,并在此环境中安装你需要的第三方包及Appium-Client。例如:
      pip install Appium_Python_Client
      
  2. 按照以上网页的步骤得到的 .zip 文件即为符合要求的AWS测试脚本集文件。

进一步的测试范例,可参考

https://github.com/appium/sample-code/tree/master/sample-code/examples

常用的一些api

查找当前layout控件元素

1. driver.find_element_by_id()
2. driver.find_element_by_name() (iOS可用)
3. driver.find_element_by_accessibility_id()
4. driver.find_element_by_classname()
5. driver.find_element_by_xpath()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容