Appium cannot find element on iOS Simulator

I’m using appium to do Automation test for my project but I got a strange problem that it’s worked fine in local test (with simulator) but not on Bitrise. The problem is somehow, appium cannot locate the element even it showed on screen (checked throw screenshot). I’ve tried many methods to find the element but looks like appium cannot find anything on that screen except the Back button on Navigation bar.

Does anyone have the same problem?

Environment:

  • Stack: Xcode 9.2.x, on macOS 10.12 (Sierra)
  • iOS Simulator 11.2 (Happened on all simulator OS version and model)

Hi @han.tran,

Did you try the local debug steps?

If you’re new to running Bitrise CLI / locally I’d suggest you to check this intro guide:

If you’d have any questions just let us know! :wink:

@viktorbenei

Thanks for your suggestion, I tried to run Bitrise in my local and appium in local too, all things worked so far. The problem only happened on Bitrise remote. So I think maybe there are some problems on the virtual environment?

The bitrise macOS virtual machines are just clean macOS installs with a couple of pre-installed tools - you can find the provisioning scripts here: https://github.com/bitrise-io/osx-box-bootstrap

I’d suggest you to Screen Share / VNC into the build VM and check the things there, related guide: https://gist.github.com/viktorbenei/c6d4fe1e68de739dbb5f4f15de76b9db

@viktorbenei Thanks! I didn’t know that I can remote to Bitrise machine :wink: It was great! After remote to the machine, I saw that there is some strange activity on my app and now I’m investigating on it. But I have a question, is it a bad idea to play video on an iOS Simulator on Bitrise? I’m talking about the performance of iOS Simulator on Bitrise.

Glad to hear! :wink:

Depends. In general it shouldn’t be a problem, it’s the same as if you’d run the tests on a brand new Mac, the very first time. The Simulator is in its default state, the one you get after you install Xcode, no previous version of the app is in there etc.

Performance: depends on what you compare it with, the standard machines are roughly the same as a Mac Mini / MacBook Air. A maxed out MacBook Pro might be significantly faster (depends on the project).

So in general it should definitely work, but in case your project requires more resources the Elite machines can be the better option as those have 2x the CPU and 2x the RAM of the Standard machines, which can be quite crucial for larger, more complex projects - see e.g. Compile time issue where due to the excessive usage of RAM the build took about 1/3rd of the time on Elite vs Standard (related comment: Compile time issue).