web test automation appium / ios
s
http://stackoverflow.com/questions/30260150/could-not-pre-launch-appium-and-app-doesnt-get-installed-in-iphone-real-device
appium那些坑
http://blog.csdn.net/mentgmery1/article/details/41645427
在真机上跑APPIUM自动化的那些坑
第一个坑,怎么启动APPIUM,以保证它与APPIUM SERVER通信,
appium -U UDID --app Bundle ID
第二个坑,
selenium.common.exceptions.WebDriverException: Message: u'A new session could not be created. (Original error: Instruments crashed on startup)'
我遇到这个问题两次,简单描述如下:
第一次,是因为developer选项里的 Enable UI Automation木有开启,开启后就OK了。这里解释一下,在真机上跑APPIUM的前提是,手机应该注册成开发者手机,这样就可以在Settings的页面看到 Developer(开发者)这个选项了。
第二次,则是因为,换了手机之后,因为手机不支持我现在使用的APP的签名,导致了Instruments crashed on startup的错误,只要把用这个手机的签名重新编译一个APP,就可以了。
第三坑
switch_to.context测试,老是报错,没有context这个attribute,找乐半天才发现,
from appium import webdriver
from selenium import webdriver
第二条声明把第一条给覆盖了,switch_to是appium里的方法。
第四个坑
打开浏览器操作,http://appium.io/slate/en/v1.2.1/?Python#setup76
第五个坑
Appium v1.3.1 启动IOS测试后报了如下异常,记得之前可以跑的,点里那个诊断的按钮也显示环境正常,请大家帮我看看是哪里出问题了么? 这个文件/Applications/Appium.app/Contents/Resources/node_modules/appium/build/libimobiledevice-macosx/ideviceinstaller我看也有的啊。
2014-11-04 01:26:38:474 - info: [debug] Not pre-launching simulator 2014-11-04 01:26:38:474 - info: [debug] Creating iDevice object with udid 843bb46631ac5c1408af67ae25a48d3b2e2c4888 2014-11-04 01:26:38:475 - info: [debug] Couldn't find ideviceinstaller, trying built-in at /Applications/Appium.app/Contents/Resources/node_modules/appium/build/libimobiledevice-macosx/ideviceinstaller 2014-11-04 01:26:38:475 - info: [debug] Checking app install status using: /Applications/Appium.app/Contents/Resources/node_modules/appium/build/fruitstrap/fruitstrap isInstalled --id 843bb46631ac5c1408af67ae25a48d3b2e2c4888 --bundle com.terrytest.test 2014-11-04 01:26:40:637 - info: [debug] App is not installed. Will try to install the app. 2014-11-04 01:26:40:637 - info: [debug] Installing ipa found at /Users/sunqingwei/Evan/terrytest/Mobile/test.ipa 2014-11-04 01:26:40:637 - info: [debug] Creating iDevice object with udid 843bb46631ac5c1408af67ae25a48d3b2e2c4888 2014-11-04 01:26:40:638 - info: [debug] Couldn't find ideviceinstaller, trying built-in at /Applications/Appium.app/Contents/Resources/node_modules/appium/build/libimobiledevice-macosx/ideviceinstaller 2014-11-04 01:26:40:839 - info: [debug] Cleaning up appium session 2014-11-04 01:26:40:840 - info: [debug] Error: Command failed: dyld: Library not loaded: @executable_path/../lib/libimobiledevice.3.dylib Referenced from: /Applications/Appium.app/Contents/Resources/node_modules/appium/build/libimobiledevice-macosx/ideviceinstaller Reason: image not found at ChildProcess.exithandler (child_process.js:648:15) at ChildProcess.emit (events.js:98:17) at maybeClose (child_process.js:756:16) at Process.ChildProcess._handle.onexit (child_process.js:823:5) 2014-11-04 01:26:40:839 - error: Failed to start an Appium session, err was: Error: Command failed: dyld: Library not loaded: @executable_path/../lib/libimobiledevice.3.dylib Referenced from: /Applications/Appium.app/Contents/Resources/node_modules/appium/build/libimobiledevice-macosx/ideviceinstaller Reason: image not found 2014-11-04 01:26:40:840 - info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Command failed: dyld: Library not loaded: @executable_path/../lib/libimobiledevice.3.dylib\n Referenced from: /Applications/Appium.app/Contents/Resources/node_modules/appium/build/libimobiledevice-macosx/ideviceinstaller\n Reason: image not found\n)","killed":false,"code":null,"signal":"SIGTRAP","origValue":"Command failed: dyld: Library not loaded: @executable_path/../lib/libimobiledevice.3.dylib\n Referenced from: /Applications/Appium.app/Contents/Resources/node_modules/appium/build/libimobiledevice-macosx/ideviceinstaller\n Reason: image not found\n"},"sessionId":null} 2014-11-04 01:26:40:841 - info: <-- POST /wd/hub/session 500 4929.943 ms - 668
这个就是你的ideviceinstaller没装好,brew install ideviceinstaller 执行
第五个坑
"message":"A new session could not be created. (Original error: Instruments crashed on startup)","origValue":"Instruments crashed on startup"},"sessionId":null}
一般出现这个问题,都是你的APP的签名跟设备的不一样导致,保持一致就可以了
第六个坑
第七个坑
安装特定版本的APPIUM
npm install -g [email protected]
第八个坑
在真机上生成的APP文件和在模拟器(simulator)上生成的是不一样的,用inspector的时候,只能使用模拟器生成的APP文件
第九个坑
UIAPickerWheel, 比如 picker里面有4个选项, latest day, last 7 days, last 30 days, all, 这个时候只需要UIAPickerWheel.send_keys(latest day),就可以设置picker里的值
第十个坑
通过INSPECTOR,发现有多个元素的名字都是一样的,我们可以通过find_elements_by_name方法(记住是elements)遍历所有相同名字的元素,然后根据INDEX取其中我们想要的,例如,
def getPicker(self):
elements = find_elements_by_name("picker normal")
return elements[1]
appium 真机测试问题 出现 instruments crashed on startup
http://blog.csdn.net/a542551042/article/details/45723415
1.appium 真机测试的时候 instruments crashed on startup,必须在真机上打开UI Automation
在设置里:
Developer—>Enable UI Automation
开启这几即可
ps:
如果在iOS设置里面,没有找到开发这个选项,那么需要连接上Xcode,之后再去查看iOS 设备上的设置,就看到开发者选项了
或者:
App签名包,和本机的Xcode配置的签名不一致,
(在使用真机调试的App的时候,必须保证通过Xcode 的Instrument能够正常的调试真机才可以,否则Appium 无法调试真机的)
2.真机测试的时候,必须确保手机已经安装要测试app
3.确定ios已经绑定开发者证书,并且使用Xcode 能够运行真机
4.运行真机的时候,确保Instrument 已经关闭
Appium [iOS] Instruments crashed on startup
http://stackoverflow.com/questions/33546980/appium-ios-instruments-crashed-on-startup
MAC_iOS自动化环境搭建.zip
end