Calabash android触摸字符串中的特定部分

时间:2014-09-17 06:35:17

标签: android clickable calabash calabash-android

我有一个文字视图,其中包含消息"只有 此部分 可以点击消息",其中&# 34;这部分"有一个clickableSpan附加到它。 有没有办法只能触摸消息中可点击范围的部分,以验证下一个场景。

文本视图如下所示:

[{"id"=>"message",
"enabled"=>true,
"contentDescription"=>nil,
"class"=>"com.xyz.mobile.android.view.WhitneyBookTextView",
"text"=>
 "Only this portion of the message can be clicked.",
"rect"=>{"center_y"=>934.5, "center_x"=>381.0, "height"=>67, "y"=>901, "width"=>598,"x"=>82},
"description"=>
 "com.xyz.mobile.android.view.WhitneyBookTextView{231r6178 VFED..CL ........ 42,0-640,67 #6f094a app:id/message}"}]

有没有办法点击它?

触摸(查询(" * id:'消息'"))不起作用。

3 个答案:

答案 0 :(得分:1)

也许你可以使用偏移函数,假设它仍然有效。在适用于iOS的calabash上,你可以做到

触摸("查看标记:'第一'",:offset => {:x => 50,:y => 0})

这将找到标记为" First"的视图中心。然后触摸它右侧的50个像素。

这对你有帮助吗,即使是丑陋和硬编码......

答案 1 :(得分:0)

您可以尝试touch(query("WhitneyBookTextView {text LIKE[c] '*this portion*'}"))

如果这不起作用,例如点按仍然出现在另一个点,您可以尝试添加偏移量Lasse has suggested

答案 2 :(得分:-1)

这是一个简单的问题。您可以根据其“id”或“text”选择特定元素 如果在其他地方没有使用id:消息,那么

touch("* id:'message'")

touch("android.view.WhitneyBookTextView id:'message'")

应该有用。