UIAutomation iOS调试

我有一个应用程序,我试图自动使用霰弹枪方法调试(随机触摸应用程序很长一段时间)。我目前使用UIAutomation这个脚本:UIAutomation iOS调试

var target = UIATarget.localTarget(); 

var app = target.frontMostApp();

var window = app.mainWindow();

target.delay(2);

window.tapWithOptions({ x:160.0, y:370.0 });

target.delay(5);

for(i=0;i<=100000;i++)

{

xPoint = Math.floor(Math.random()*319+1)

yPoint = Math.floor(Math.random()*479+1)

window.tapWithOptions({ x:xPoint, y:yPoint });

}

这工作,但不幸的是,当它最终崩溃我没有调试信息,让我知道为什么,反正是有,我可以绑Xcode调试这个自动化?

回答:

首先,如果您不介意无耻的插头,您可能会发现我的UI AutoMonkey项目很有用。它是一种随机生成各种可配置事件的工具,可以执行所谓的“霰弹枪”测试。

因此,对于您的问题,可能会让仪器在发生碰撞事故时中断。它没有使用完整的调试器,但通过使用Allocations工具,我们可以告诉它启用NSZombie检测。

打开自动化模板后,确保应用程序已关闭且未记录跟踪。打开仪器库并将Allocations仪器拖入时间线。点击“我”在该文书,并确保“启用NSZombie检测”复选框被选中,如:

然后与自动化测试闲逛运行你的应用程序,如果它与内存崩溃的问题,你会看到分配仪器显示弹出像:

点击小箭头,在弹出的,你会跳转到僵尸被触发。发生崩溃时的堆栈位于右侧边栏中。您应该能够在该堆栈中的任意位置双击并查看发生内存崩溃的Objective C代码。有一些很好的WWDC videos可以通过如何使用Allocations工具。我建议你也检查一下。

以上是 UIAutomation iOS调试 的全部内容, 来源链接: utcz.com/qa/261803.html

回到顶部