4

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

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

  • 自定义视图覆盖 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();

没有成功。

任何想法 ?

先感谢您。

晶圆厂。

4

2 回答 2

1

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

为此,我写道:

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

x_co 和 y_co 是我的坐标。

希望这可以帮助。

于 2011-08-15T13:01:19.933 回答
0

也许 myView = circuitScrollView.elements()["myView"] 可能会有所帮助,而不是 myView = circuitScrollView.elements()[0]; ?

也许您的自定义视图不是您的电路滚动视图元素树中的第一个元素......

于 2011-03-25T11:03:27.547 回答