Mac 下appium环境

Posted Elvis_lfc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac 下appium环境相关的知识,希望对你有一定的参考价值。

http://www.cnblogs.com/oscarxie/p/3894559.html

driver.close()关闭当前窗口,当前焦点所在窗口
driver.quit()关闭所有关联的窗口
driver.dispose()关闭所有窗口,并且安全关闭session

我的系统是MacOs 10.12.5 使用terminal命令行的方式安装:

1.jdk安装,下载Mac版本jdk(jdk-8u131-macosx-x64.dmg)直接点击安装
安装后的目录:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
配置系统变量
执行 cd /etc 切换目录 执行 sudo vi profile 打开文件 点击 “I”进入编辑模式
在末尾添加
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"


export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH


export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH


点击esc退出编辑,输入wq!保存,之后执行 source profile 使之生效. 重新打开终端
终端执行 java -version或者javac 查看是否成功。


2.mac自带了Ruby,python 打开launch 搜索terminal 打开终端 输入 ruby -v可查看版本
可直接输入python —version 查看版本


3.安装最新的brew,终端执行如下命令:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装成功后终端输入 brew -v 可查看版本


4.安装node
终端执行 brew install node
安装成功后终端输入 node -v 可查看版本


5.安装npm
终端执行 curl -L https://npmjs.org/install.sh | sh
安装成功后终端输入 npm -v 可查看版本


6.安装appium。 下载appium-1.4.1.dmg
直接安装
路径 /Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/android
解决每次安装 appium setting 和unlock app
进入  /Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/android修改 android.js
注释掉
//this.uninstallApp.bind(this),
    //this.installAppForTest.bind(this),
//this.initUnicode.bind(this),
    //this.pushSettingsApp.bind(this),
   
//this.pushUnlock.bind(this),
ios.js
/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios


Appium 1.6.4
修改下面2个路径的android-helpers.js 
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-android-driver/lib


/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-android-driver/build/lib


1.5之后的版本不能直接通过name获取元素
使用 driver.findElementByAndroidUIAutomator("text(\\"中文\\")")
java
driver.findElementByAndroidUIAutomator("text(\\""+ 我的 + "\\")");
python
driver.find_element_by_android_uiautomator('new UiSelector().text("我的")')


7.安装wd
npm install wd


8.安装android sdk as(android studio)
https://developer.android.com/studio/index.html下载
https://dl.google.com/dl/android/studio/install/2.3.3.0/android-studio-ide-162.4069837-mac.dmg 点击安装,将studio拖动到application,然后选择打开studio,会自动更新组件(sdk等)
如果不需要studio开发工具,可直接下载sdk
https://dl.google.com/android/repository/sdk-tools-darwin-3859397.zip
sdk目录 /Users/truckmanager_test/Library/Android/sdk
终端执行 cd /etc
执行  sudo vim profile 编辑文件末尾添加
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home  
ANDROID_HOME=/Users/truckmanager_test/Library/Android/sdk
export PATH=$PATH:$JAVA_HOME/bin:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
保存退出后执行source profile,执行adb回车,如果未显示command not found,说明此命令有效,环境变量设置完成。


9.安装xcode开发工具
Xcode is installed at: /Library/Developer/CommandLineTools
执行脚本有问题could not get xcode version. /Library/Developer/Info.plist doest not exist on disk
终端执行。sudo xcode-select --switch /Applications/Xcode.app(你的xcode安装路径)
或者打开appium ios setting 中的advance选项 更改xcode位置


10.安装appium-doctor
npm install -g appium-doctor
完成后终端直接执行  appium-doctor查看安装情况


注意:如果出现android问题,执行
1.启动Terminal终端工具
2.输入cd ~/ 进入当前用户的home目录
3. 创建:
touch .bash_profile
4.打开并编辑:
open .bash_profile copy下面内容到打开的文件


export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
export ANDROID_HOME=/Users/truckmanager_test/Library/Android/sdk
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export PATH=$PATH:$JAVA_HOME
export PATH=$PATH:$ANDROID_HOME/platform-tools
直接关闭保存,终端执行 source .bash_profile 生效


再次执行appium-doctor 检查所需组件


11.安装Carthage
brew install carthage 有可能多试几次,可能网络问题
如果安装不起,去下面链接下载pkg包进行安装
https://github.com/Carthage/Carthage/releases
安装成功后提示如下
/usr/local/Cellar/carthage/0.23.0: 64 files, 22.6MB
终端输入carthage version 检查版本


安装完成后终端再次执行 appium-doctor命令检查 IOS 和 Android 所需组件是否全部安装完成,提示如下表示环境搭建完毕。
info AppiumDoctor Appium Doctor v.1.4.2
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor  ✔ The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor  ✔ Node version is 8.1.3
info AppiumDoctor  ✔ Xcode is installed at: /Library/Developer/CommandLineTools
info AppiumDoctor  ✔ Xcode Command Line Tools are installed.
info AppiumDoctor  ✔ DevToolsSecurity is enabled.
info AppiumDoctor  ✔ The Authorization DB is set up properly.
info AppiumDoctor  ✔ Carthage was found at: /usr/local/bin/carthage
info AppiumDoctor  ✔ HOME is set to: /Users/truckmanager_test
info AppiumDoctor  ✔ ANDROID_HOME is set to: /Users/truckmanager_test/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/truckmanager_test/Library/Android/sdk/platform-tools/adb
info AppiumDoctor  ✔ android exists at: /Users/truckmanager_test/Library/Android/sdk/tools/android
info AppiumDoctor  ✔ emulator exists at: /Users/truckmanager_test/Library/Android/sdk/tools/emulator
info AppiumDoctor  ✔ Bin directory of $JAVA_HOME is set
info AppiumDoctor ### Diagnostic completed, no fix needed. ###
info AppiumDoctor 
info AppiumDoctor Everything looks good, bye!


12.python相关
版本: 终端执行 python -—version
终端执行 which python 查看路径 /usr/bin/python
查看 easy_install 版本 ,终端输入 easy_install —version
安装pip 下载地址pip下载地址:http://download.csdn.net/download/creasylai19/9098161
终端切换到 get-pip.py 目录,执行 sudo python get-pip.py 进行安装,成功提示如下
Installing collected packages: pip, wheel
Successfully installed pip-9.0.1 wheel-0.29.0


查看pip版本
终端执行 pip --version
pip 9.0.1 from /Library/Python/2.7/site-packages (python 2.7)
安装selenium或Appium-python-client
终端执行 
sudo pip install Appium-Python-Client


当然也可以安装selenium
sudo pip install selenium -i http://pypi.douban.com/simple
此时在终端中输入python,然后输入import appium(或import selenium),如果不报错说明安装成功
脚本执行提示参数
selenium.common.exceptions.WebDriverException: Message: Parameters were incorrect. 


We wanted "required":["value"] and you sent ["sessionId","value","text","id"]   


解决:降低selenium 版本,我从3.4.3-》3.0.1


IOS收起键盘
点击其他区域。
self.driver.tap([(100, 100), ])
Android收起键盘
self.driver.keyevent(4)


真机;
打开开发者中的 enable  UI Automation
desired_caps['deviceName'] = 'chenxiaofeng'  xcode可查看
        desired_caps['platformName'] = 'IOS'
        desired_caps['platformVersion'] = '10.2' 和真机保持一致
        desired_caps['app'] = '/Users/truckmanager_test/Desktop/Payload/xxxr-2.3.2-Test_xxxx_Debug_69.ipa'
        desired_caps['noReset'] = True
        desired_caps['udid'] = 'xxxx' xcode可查看


        desired_caps['automationName'] = 'XCUITest'


brew install libimobiledevice --HEAD
npm install -g ios-deploy


进入
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent


终端执行
./Scripts/bootstrap.sh
使用xcode打开
WebDriverAgent.xcodeproj配置
找开发帮忙配置证书,bundle id
配置后xcode 工具栏 点击 product-》destination-》选择你的设备
点击 product-》scheme-》WebDriverAgentRunner
最后运行 Product -> Test
一切正常的话,手机上会出现一个无图标的WebDriverAgent应用,启动之后,马上又返回到桌面。这是很正常的不要奇怪。

以上是关于Mac 下appium环境的主要内容,如果未能解决你的问题,请参考以下文章

Mac下布置appium环境

Mac 下appium环境

RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难

Mac环境下使用Appium Inspector进行元素定位

全网最详细的Mac下搭建Appium环境文档,没有之一

mac上安装搭建Appium环境