有没有人成功在Xcode中设置自动化UIAutomation测试?
我正在尝试在我的Xcode项目中设置一个目标,该目标应该运行我准备的所有UIAutomation脚本.目前,此目标的唯一构建阶段是此运行脚本块:
TEMPLATE="/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate"
MY_APP="/Users/Me/Library/Application Support/iPhone Simulator/6.0/Applications/564ED15A-A435-422B-82C4-5AE7DBBC27DD/MyApp.app"
RESULTS="/Users/Me/Projects/MyApp/Tests/UI/Traces/Automation.trace"
SCRIPT="/Users/Me/Projects/MyApp/Tests/UI/SomeTest.js"
instruments -t $TEMPLATE $MY_APP -e UIASCRIPT $SCRIPT -e UIARESULTSPATH $RESULTS
Run Code Online (Sandbox Code Playgroud)
当我构建此目标时,它会在几秒钟后成功,但脚本实际上并未运行.在构建日志中,我收到以下错误:
instruments[7222:707] Failed to load Mobile Device Locator plugin
instruments[7222:707] Failed to load Simulator Local Device Locator plugin
instruments[7222:707] Automation Instrument ran into an exception while trying to run the script. UIATargetHasGoneAWOLException
+0000 Fail: An error occurred while trying to run the script.
Instruments Trace Complete (Duration : 1.077379s; Output : /Users/Me/Projects/MyApp/Tests/UI/Traces/Automation.trace)
Run Code Online (Sandbox Code Playgroud)
我很确定,我的javascript和我的运行脚本都是正确的,因为如果我在bash中运行完全相同的仪器命令它按预期工作.这可能是Xcode中的一个错误吗?
我的iOS应用程序具有高内存使用率但没有内存泄漏.如何减少内存使用量.
使用Instruments,我发现我的应用程序最大输出为90MB,在发生内存警告之前,其他内存被释放,然后在其余部分使用时保持在55-65MB左右.
我觉得55-65MB太高了吧?
因为,仪器没有发现任何泄漏.我该怎么做才能减少内存使用量?
我浏览了今年的WWDC视频,但是我理解的东西(这是我的第一个iOS应用程序),它主要涉及泄漏问题.
一些可能有用的信息:
VM:ImageIO_GIF_Data 30.35MB Live Bytes | 115生活| 300瞬态| 136.12 MB总字节数
VM:MappedFile 36.04 MB Live Bytes | 16生活| 11瞬态| 36.09 MB总字节数
所有其他的东西都在1MB以下
我的应用程序从互联网下载大约30个GIF文件,我使用SDWebImage,我只保存图像的URL,SDWebImage完成剩下的工作.:P
提前致谢,
来自iOS内存管理第一计时器
再次感谢您的帮助
cocoa-touch objective-c instruments ios automatic-ref-counting
我有点进退两难 - 无论我做什么,我都无法让Apple的Instruments.app象征任何包含的乐器,而我在我的设备上进行分析(它在iOS模拟器中运行正常).
我已经尝试过我能想到的一切,包括:
我不确定从哪里开始 - 我在本周早些时候有一两个小时的符号,但我根本无法让它们完全显示出来.能够弄清楚神秘的咒语是什么让仪器总能找到我的应用程序符号会很棒.
在我的应用程序中,我有一个滚动视图和四个表视图.每次拖动然后释放,我都会得到48字节的泄漏.这确实加起来了.如您所见,两组泄漏都具有相同的来源.以前有人见过这样的泄漏吗?
当我点击泄漏旁边的箭头时,我得到了泄漏信息:
我正在尝试使用UIAutomation
仅适用于Simulator 5.0 的记录功能.在Simulator 4.3上
使用UIAutomation
时,它运行完美.在Simulator 5.0上从Xcode运行我的应用程序时,它运行完美.这排除了应用程序本身崩溃的可能性.
我尝试重置模拟器Reset Content and Settings
.我尝试从我的应用程序的"派生数据"文件夹中选择目标,或者从模拟器应用程序文件夹中选择目标,没有任何效果.
有任何想法吗?
愚蠢的问题,但是..我在运行iPhone模拟器时无法看到设备外观.我不记得之后的XCode更新此启动,但iPhone模拟器只显示一个简单的窗口不显示设备的情况下像它曾经是(看到这个图片).
这就是我的模拟器的样子:
有没有办法让它看起来像一个真正的iPhone 5?
编辑:不幸的是在我的硬件 - >设备选项中,我只看到iPhone视网膜(目前已被选中),但没有更多的选择.所以看起来像是一个薄窗口的默认beheaviour,除非我错过了一些其他配置.
这是我看到覆盖到用户答案的内容.
我正在寻找像Android ADB这样的工具来调试iOS设备.我找到了iOS仪器,这是XCode的一个工具,可以在移动iOS设备上调试应用程序.如果您必须测试应用程序或其他一些开源应用程序,此工具很有用.
我需要测试iOS设备,而不是我的应用程序,因此我正在寻找类似Android设备的Android ADB.
有类似的东西吗?
我们正在使用React Native 0.59.10
和React-Redux 5.0.7
,并且遇到了CPU限制的性能问题,其中我们的Redux操作需要大约0.25秒才能完成。
我们已经使用Instruments中的“时间剖析器”配置进行了剖析,但是我们的JS代码都没有符号化。
在Chrome中进行远程调试似乎只是调试“远程检查器”页面,这完全无济于事。
有没有一种方法可以将源映射建立或附加到JS函数名称/调用,或用符号表示下面看到的内存地址?
我有一个iPhone应用程序,我正在使用UI自动化进行测试.
我有一个按钮,UITableViewCell
但是当我尝试使用UI Automation点击它时,我收到以下错误.
Script threw an uncaught JavaScript error: target.frontMostApp().mainWindow().scrollViews()[0].elements()[element_name].tableViews()[0].elements().firstWithPredicate(name contains[c] 'Brooklyn').elements()["detailsButton"] could not be tapped
Run Code Online (Sandbox Code Playgroud)
我已在Interface Builder中的按钮上启用了辅助功能,并为其分配了辅助功能标签(和标识符)"detailsButton".我可以检索按钮元素并验证它是否有效.我出于某种原因无法点击它.
UIButton是一个圆形矩形按钮,启用了用户交互.感谢您的任何反馈.
"VM:Dispatch continuations"下的分配是什么意思?
instruments ×10
ios ×8
xcode ×7
iphone ×2
adb ×1
cocoa-touch ×1
debugging ×1
javascript ×1
memory-leaks ×1
objective-c ×1
react-native ×1
symbolicate ×1
uiscrollview ×1
xcode4 ×1