我正在尝试编写一个简单的机器人,该机器人将执行在android仿真器上单击按钮的任务。我拍摄了按钮的屏幕截图,并告诉sikuli查找那些
scala> def pack2[T](xs: List[T]): List[List[T]] = xs match {
!
! // If xs is empty, return Nil.
! case Nil => Nil
!
! // Otherwise, the list is non-empty, so just process it.
! case _ => {
! val (head, tail) = xs.partition(_ == xs.head)
!
! // Prefix head to packed tail.
! head :: pack2(tail)
! }
! }
pack2: [T](xs: List[T])List[List[T]]
scala> pack2(xs)
res3: List[List[Char]] = List(List(a, a, a), List(b))
scala> pack2(mixed)
res4: List[List[Char]] = List(List(a, a, a, a, a), List(b, b), List(c))
然后在空白处,我告诉sikuli查找并单击它
private static final Pattern continuePic = new Pattern(Main.class.getResource("continue.png"));
但是,即使仿真器上的按钮具有相同的大小和相同的颜色,它仍然看不到。当我将相似度降低到0.2时,它最终会单击按钮,但即使如此也并非总是如此。
有没有人偶然知道我可能在做错什么,以及在这种情况下是否有使用sikuli的更正确和充分的证明方法?
P.S。 sikuli是否可以适应模拟器的各种屏幕尺寸?