0
votes

Note: I'm just starting to work with end-to-end testing so please forgive my noobness.

The problem

I am trying to execute end-to-end test using Protractor with Jasmine and Appium on a iOS device on a simple dummy application created with Ionic v1. All what I am trying to make the test do is just click a button located with: element(by.css('a[icon-on=ion-ios-chatboxes]')).

What I am getting is a timeout but I wasn't able to track down the problem to the root.

Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.

The interesting part is that on an Android device works without any problem.

Environment

  • Appium version: v1.6.5
  • Last Appium version that did not exhibit the issue: -
  • Desktop OS/version used to run Appium: macOS Sierra 10.12.3
  • Node.js version (unless using Appium.app|exe): v7.8.0
  • Mobile platform/version under test: iOS 10.3.1
  • Real device or emulator/simulator: Real Device
  • Appium CLI or Appium.app|exe: Appium CLI

Link to Appium, Protractor and webDriver logs

https://gist.github.com/SpedsT/e16e4ee6093fde873c18467e96392296

1

1 Answers

0
votes

Safari doesn't support the async javascript calls Protractor uses to determine if Angular is ready. You can try if your tests will work when you disable wait for Angular. You can find more about how to do this here.

Issues concerning Safari can be found here