uiautomation - 点击自定义视图不起作用

时间:2011-03-24 13:22:41

标签: iphone ipad testing ios-ui-automation

我正在尝试自动化我的ipad应用程序的一些测试。

我有一个包含自定义视图的scrollview。

  • 自定义视图会覆盖drawRect并具有TapRecognizer。
  • 自定义视图已创建到代码中,我已设置此属性

myView.userInteractionEnabled = YES;
[myView setIsAccessibilityElement:YES];
[myView setAccessibilityLabel:@"myView"];

  • 使用
  • 将自定义视图添加到滚动视图中

[myScrollView addSubview:myView];

在设备和模拟器上一切顺利:点击视图,调用点击识别器回调,自定义视图可以在点击点绘制一些内容。

我会自动进行视图测试,然后我需要在myView上模拟用户的点按。

在uiautomation脚本中我有这样的东西:

myView = circuitScrollView.elements()[0];       
myView.logElement();
myView.tapWithOptions({x:56, y:576});

模拟位置x = 56和y = 576的用户点击。

没有任何事情发生,似乎myView没有收到任何点击(以防万一,我在TapRecognizer中播放声音,但它从来没有响过)。

我也试过这个:


myView.tap();

没有成功。

有什么想法吗?

提前谢谢。

的Fab。

2 个答案:

答案 0 :(得分:1)

这可能对你有用。我写了一个测试来点击某些x / y坐标。而不是触摸滚动视图尝试点击窗口,如下所示。

为此,我写道:

   var window = UIATarget.localTarget(); 
   window.tap({x:x_co , y:y_co}); 

x_co和y_co是我的坐标。

希望这有帮助。

答案 1 :(得分:0)

也许myView = circuitScrollView.elements()[“myView”]可能有助于代替myView = circuitScrollView.elements()[0]; ?

也许您的自定义视图不是circuitScrollView的元素树中的第一个元素...