Calabash:获取切换开关的状态

时间:2015-12-11 21:23:12

标签: calabash calabash-ios calabash-android

我正在尝试在我的原生应用中获得切换开关的状态。

这是开关本身的查询,当ON时:

query "Switch id:'quadrant_buzz'"

及其结果

[
[0] {
                 "class" => "android.widget.Switch",
                   "tag" => nil,
           "description" => "android.widget.Switch{29ddf658 VFED..C. ........ 877,0-1017,81 #7f10017f app:id/quadrant_buzz}",
                    "id" => "quadrant_buzz",
                  "text" => "",
               "visible" => true,
                  "rect" => {
          "height" => 81,
           "width" => 140,
               "y" => 1303,
               "x" => 877,
        "center_x" => 947,
        "center_y" => 1343
    },
               "enabled" => true,
    "contentDescription" => nil
}]

这是开关关闭时查询的结果:

[
[0] {
                 "class" => "android.widget.Switch",
                   "tag" => nil,
           "description" => "android.widget.Switch{29ddf658 VFED..C. ........ 877,0-1017,81 #7f10017f app:id/quadrant_buzz}",
                    "id" => "quadrant_buzz",
                  "text" => "",
               "visible" => true,
                  "rect" => {
          "height" => 81,
           "width" => 140,
               "y" => 1213,
               "x" => 877,
        "center_x" => 947,
        "center_y" => 1253
    },
               "enabled" => true,
    "contentDescription" => nil
}]

我不确定如何检查其开/关状态。当我点击/触摸开关时,返回的查询中没有任何变化。我看到的唯一区别是中心-y。

Calabash Api中有什么东西吗?

由于

2 个答案:

答案 0 :(得分:3)

在Android开发人员上查找Switch小部件的文档,方法是“isChecked”。 http://developer.android.com/reference/android/widget/Switch.html

因此,您可以通过调用

在Calabash中找到此值

query("Switch id:'quadrant_buzz'", :isChecked)

您也可以使用:在Calabash中签到。

答案 1 :(得分:0)

isChecked有效。     

    irb(main):001:0> query("android.widget.Switch",:isChecked)
    [
       [0] true
    ]