获得成就,Robotium 专精!
appium 中应该有方法可以处理 alert 的,你可以在找找看。
因为 automation 里头对 alert 的处理就是自动的,默认通常会自动去点击 cancel,脚本里头可以通过 UIATarget.onAlert = function onAlert(alert){...} 重写自己的 alert 处理方法。
我是直接写附件的名称 downLoadURL.png 这样,附件就放在 workspace 目录下
我是 Marty,Q:465372487,测试 2 年,公司暂无,做过 iOS 的 UI 自动化,python PHP js 都在用,希望未来能在测试的持续集成,以及实现敏捷测试方面找到更多有共同兴趣的人,安全测试也是我的个人兴趣之一。 另:一楼破坏队形啊 @shixue33
我觉得可以换一根数据线试试
perfect
居然整理出来了
所以。。。问题是 inspector 用不了?还是写好的测试代码运行不了。
#3 楼 @chuyaoyao 直接叫开发给你最简单,或者把你打好的包装在真机上之后,用 xcode 里的 organizer 也应该可以看到。
真机上的话需要指定应用的 bundle id,不然测试代码在真机上找不到你的应用程序
caps = {
:browserName => "ios",
:platform => "MAC",
:app => "/Users/chuyaoyao/Desktop/newspages/test.ipa"
}
app 改为应用的 bundle id 试下
错误信息应该比较明确,缺少 bundle id。你需要确认你确实指定了 bundle id 并且是正确的。
IOS 貌似是没有原生 checkbox 的,一般是自己搞的。你 inspector 上的貌似是张图片?可以试下 logElementTree,我这边接触到的 chenkbox 是一个 button,然后选中的时候 value 是 1.
有这些属性就可以定位元素了,你说的 id 在 IOS 上应该就是 accessibilityIdentifier 或者 label 了,这个如果开发有手动给自己的控件加上的话,也是可以看到的。
logElementTree() 可以打印
uiautomation 官方文档有说明:
You can use the logElementTree method for any element to list all of its child elements
UIALogger.logStart("Logging element tree …");
UIATarget.localTarget().logElementTree();
UIALogger.logPass();
Note: The Automation instrument only works with apps that have been code signed with a development provisioning profile. Apps signed with a distribution provisioning profile can not be automated with the UI Automation programming interface.
按苹果在相关文档的说法,并不需要源代码,但是需要用开发证书打包,而发布证书打的包是不行的。appium 也是调用的 instrument,所以我想也是一样的