calabash / calabash-ios

Calabash for iOS
Other
1.81k stars 368 forks source link

Calabash fail to query springboard alerts in IOS 13.3 (device and simulator) #1419

Closed papatr0x closed 4 years ago

papatr0x commented 4 years ago

I have scripts that depends on device_agent.springboard_alert , I've noticed that in iOS 13.3 (simulator and device) it is not possible to query UI.

Output in iOS 11.4 (ok)

calabash-ios 0.21.10> device_agent.springboard_alert
DEBUG: HTTP: get http://127.0.0.1:27753/1.0/health {:retries=>1, :timeout=>0.5}
DEBUG: DeviceAgent says, "Calabash is ready and waiting."
DEBUG: HTTP: get http://127.0.0.1:27753/1.0/springboard-alert {:retries=>200, :timeout=>20}
{
                      "id" => nil,
               "has_focus" => false,
                   "label" => "“MyApp” Would Like to Send You Notifications",
             "alert_title" => "“MyApp” Would Like to Send You Notifications",
           "button_titles" => [
        [0] "Don’t Allow",
        [1] "Allow"
    ],
                    "type" => "Alert",
                   "title" => nil,
                   "value" => nil,
               "hit_point" => {
        "x" => 160,
        "y" => 284
    },
                 "enabled" => true,
             "placeholder" => nil,
                 "hitable" => true,
      "has_keyboard_focus" => false,
                "selected" => false,
    "is_springboard_alert" => true,
                    "rect" => {
             "y" => 195,
             "x" => 25,
        "height" => 179,
         "width" => 270
    }
}
calabash-ios 0.21.10>

Output in 13.3

calabash-ios 0.21.10> device_agent.springboard_alert
DEBUG: HTTP: get http://127.0.0.1:27753/1.0/health {:retries=>1, :timeout=>0.5}
DEBUG: DeviceAgent says, "Calabash is ready and waiting."
DEBUG: HTTP: get http://127.0.0.1:27753/1.0/springboard-alert {:retries=>200, :timeout=>20}
{}
calabash-ios 0.21.10>

Do I have any alternative to query springboard alerts?

jmoody commented 4 years ago

This is new behavior. I will investigate.

jmoody commented 4 years ago

I cannot reproduce on a physical device. I will try to reproduce on a simulator.

jmoody commented 4 years ago

I could not reproduce on a simulator either.

Are you still having this problem?

papatr0x commented 4 years ago

Yes. This always occurs. I'm testing using ruby 2.6.3, run_loop-4.4.2, Xcode 11.3. For simulator testing I used iPhone SE iOS 13.3 and 11.4, and device testing is on iPhone 7 with iOS 13.3. Which additional information can I provide to help you debug this issue?

papatr0x commented 4 years ago

It is working now. I've removed a couple Device-AgentRunner that were installed in device and simulator and it seems that fixed the issue. Thanks!