brew
node
npm install appium -g
npm install appium-doctor -g
pip install Appium-Python-Client
官方下载http://appium.io
以下所用到的 appium 版本均为:1.4.13
(模拟器上运行 Demo 暂时没有碰到什么大的问题)
模拟器运行 appium 需要 build 一个可以在模拟器运行的包 XXX.app,在 Xcode 项目工程目录里可以看到
运行 appium server
appium&
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import os
import unittest
from appium import webdriver
from time import sleep
# Returns abs path relative to this file and not cwd
PATH = lambda p: os.path.abspath(
os.path.join(os.path.dirname(__file__), p)
)
#类继承unittest.TestCase 类,从TestCase类继承是告诉unittest模块的方式,这是一个测试案例。
class ContactsAndroidTests(unittest.TestCase):
def setUp(self):
desired_caps = {}
desired_caps['platformName'] = 'iOS'
desired_caps['platformVersion'] = '9.3' # 对应需要启动的模拟器版本,当然你必须先安装了这个版本的模拟器才可以运行
desired_caps['deviceName'] = 'iPhone 6 Plus' #Xcode中打开设备(快捷键:Shift + Command + 2)可以查看对应设备的name,复制过来就可以了
desired_caps['app'] = PATH(
'/Users/jimmy_zhou/Library/Developer/Xcode/DerivedData/Recipes-dazjfqhcqpgvvwgcndxbuupitdzk/Build/Products/Debug-iphonesimulator/Recipes.app'
) # 被测应用的绝对路径
desired_caps['bundleId'] = 'com.example.apple-samplecode.Recipes' #被测应用的包名
print '连接中...'
self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
print '连接完成'
def tearDown(self):
self.driver.close_app()
self.driver.quit()
def test_add_contacts(self):
self.driver.find_element_by_name('Edit').click()
sleep(3)
print("Edit clicked")
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(ContactsAndroidTests)
unittest.TextTestRunner(verbosity=2).run(suite)
info: [debug] Couldn't find ideviceinstaller, trying built-in at /Applications/Appium.app/Contents/Resources/node_modules/appium/build/libimobiledevice-macosx/ideviceinstaller
error: Could not initialize ideviceinstaller; make sure it is installed and works on your system
既然没有 ideviceinstaller,就需要安装一个了,然后搜了一下 运行以下命令:
brew install --HEAD ideviceinstaller
jimmy-zhoudeMacBook-Pro:~ jimmy_zhou$ ideviceinstaller
dyld: Library not loaded: /usr/local/lib/libusbmuxd.4.dylib
Referenced from: /usr/local/opt/libimobiledevice/lib/libimobiledevice.6.dylib
Reason: image not found
Trace/BPT trap: 5
stackoverfolw 上的答案:http://stackoverflow.com/questions/29232314/appium-ios-real-device-issue-with-ideviceinstaller
依赖的一个库文件没找到,是不是安装的时候没注意,没装好呢,所以就 uninstall 了一下,重新安装一次试试看
然而 uninstall 也出错了,提示/usr/local/lib 目录没有权限,所以给它加了权限以后重新安装了一下 ideviceinstaller 竟然莫名其妙的好了