-
Notifications
You must be signed in to change notification settings - Fork 237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Touch issues with xcode6 #278
Comments
Hi @dzielak79, Could you please also show the output of these commands on iOS 7 and iOS 8?
|
Hi Oradyvan, iOS 8.1 frankly_map("view marked:'Password'", "self") => [""] accessibility_frame("view marked:'Password'") iOS 7.1 frankly_map("view marked:'Password'", "self") => [""] accessibility_frame("view marked:'Password'") We can observe "a pattern" here :) |
I was supposing that the selectors on different platforms match different views, so this looks strange that sending "self" returns empty string, as it should return class name of the view. I wonder if you launch Symbiote and highlight the "view marked:'Password'", would it show highlighted regions of different shape on different platforms? |
Is your simulator in landscape? Unfortunately iOS 8 did some pretty big changes in view hierarchy and it changed behavior of some methods connected with rotation. The Automation framework uses screen coordinates so there is probably a problem when translating screen coordinates to window coordinates (or viceversa). |
As better example:
Successfully touched but there is no effect in the app (value label was not increased) Hope i helps with further investigation. |
I works every other time I do "frank launch" :) Something is definitely wrong with Shelley I think. If you open Symbiote you will see there are completely no accessibility labels available in the app! |
Per https://groups.google.com/forum/#!topic/frank-discuss/6eZ2uXIuV9A, it appears that iOS 8 changed the way coordinate spaces work for UIScreen. That mean that tap coords for landscape orientation wasn't being mapped properly. This fixes that issue by using UICoordinateSpace if available (iOS 8 and up).
I believe I have a fix for this. Please try installing frank-cucumber gem version 1.2.4.pre1 and see if that resolves the issue. If this DOES resolve the issue please let me know so I can do a non-pre release of the gem. |
I run some tests and I only encountered one issue (our app runs in landscape all the time). If there is a window on top of another window, the window on the top is rotated 90º to the left. We're showing this second window to show a custom pop-up. In the simulator the pop-up is shown correctly, but the buttons are not touched. If you check in symbiote, the main window is rotated correctly but the pop-up is rotated incorrectly -90º |
Could you create a sample app which demonstrates this problem? It'd be best to do so in a new GH issue. |
Per https://groups.google.com/forum/#!topic/frank-discuss/6eZ2uXIuV9A, it appears that iOS 8 changed the way coordinate spaces work for UIScreen. That mean that tap coords for landscape orientation wasn't being mapped properly. This fixes that issue by using UICoordinateSpace if available (iOS 8 and up).
Hi all, Just encountered this issue - have to test one case in landscape on the 6+ (8.1). Trying the pre-release version. Tailing the app log shows that the point calculations seem to be correct:
Measuring the point <412, 22> on the simulator is the correct point, however the actual tap appears to touch a view in the very top left corner, so seems this might be where it's still going wrong, unless there's something else at my end that I'm missing Please let me know if I can do anything to help! |
@itsthejb, one thing you could do which would really help is to provide a sample app plus test which reproduces the bug. That will make it a lot easier for someone to fix. You could either make a really simple app from scratch, share your actually app (or a stripped down portion of it), or modify one of the example apps in this repo. |
@moredip Ok, here's a test project that recreates the issue: https://github.com/itsthejb/FrankRotateIssue There is a feature to test this at https://github.com/itsthejb/FrankRotateIssue/blob/master/Frank/features/touch.feature. Basically there are three
Hopefully this can help to find a solution 👍 |
iOS 7 (frank-cucumber 1.2.3)
pry(#Frank::Console)> touch("view marked:'Some text'")
=> [true]
Element with selector successfully touched.
iOS 8 (frank-cucumber 1.2.3)
pry(#Frank::Console)> touch("view marked:'Some text'")
=> [true]
Element with selector not touched but something else is touched.
The text was updated successfully, but these errors were encountered: