Swipe not working as expected

Mobile Testing, Android App Testing.
tvu
Posts: 195
Joined: Tue Apr 07, 2015 10:47 pm

Swipe not working as expected

Post by tvu » Wed Sep 16, 2015 12:40 am

I have a table (Platformclass = UICollectionView) with the size 320 x 558. Within the table are several containers (platformclass = VVGridViewCell) with the size 100 x 142. Within each container is an image with the same size of 100 x 142.

On my mobile device, the containers render in a 3x4 grid pattern with the fourth row not fully visible on the screen. I am trying to do a swipe up gesture to scroll the container up one row.

I tried to do a swipe gesture with a fix distance of 142 on the table, container and image element, but I can't get it to swipe up exactly one row. All the elements respond the same by moving the container more than one row up. It scrolls up between 1.5 to 2 rows up. I tried perform the swipe on different locations:
- Table element : Center and LowerCenter
- Container and image elements : Center and LowerCenter using one of the containers on the 2nd or 3rd row.

I tried to use TouchStart, TouchMove, TouchEnd, but I get the following error:
Failed to resolve/execute Request handler because an error occured: [Cannot process request. There is no valid request hander for the methodcall 'ReplayTouch' registered]

Is this the expected behavior for a Swipe Gesture? If so, how do I go about moving the container exactly one row?

Thanks!

Ranorex Version: 5.4.1.25490
iPhone 5, iOS 8.2

tvu
Posts: 195
Joined: Tue Apr 07, 2015 10:47 pm

Re: Swipe not working as expected

Post by tvu » Wed Sep 16, 2015 7:10 pm

Seems like I can't perform a swipe operation repeatedly. In the recording, I added three consecutive Swipe Gestures using the table item with a relative start location of ".5; .75". The first action works and the next two has no affect. Use Cache is disabled for all the root folders associated with this item.

Do I need to somehow update this item between actions?

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: Swipe not working as expected

Post by Support Team » Fri Sep 18, 2015 1:27 pm

Hello tvu,

Thank you for the detailed description.

The 'Swipe Gesture'-action simulates a manual swipe, which is performed by the user.
Therefore, the swipe action doesn't stop immediately at the specified pixel.

I would suggest using the EnsureVisible()-method on the corresponding container- or image-element.
In order to do this please drag and drop the element from the repository to the action table.
select_invoke_action.png
select_invoke_action.png (31.21 KiB) Viewed 1242 times
ensure_visible.png
ensure_visible.png (2.85 KiB) Viewed 1242 times
We are currently analyzing the other issues, which you have reported.
I will update you, when I have new information.

Thank you for your understanding.

Regards,
Johannes
.
Image

tvu
Posts: 195
Joined: Tue Apr 07, 2015 10:47 pm

Re: Swipe not working as expected

Post by tvu » Fri Sep 18, 2015 6:17 pm

Thanks Johannes for the advice.

Basically, the table contains several visible and hidden containers. As I scroll down on the table, hidden ones comes into view and the top rows become hidden. The hidden containers pre-populate, but not in order. There's some logic in our app that determines which of the hidden posters becomes visible as you scroll and I haven't been able to find anything in Spy to help me determine the next hidden poster.

If I know the next hidden poster then I can use EnsureVisible(). Unfortunately, there isn't so I am force to swipe on the visible containers to scroll down the table. This is why I need to be able to know exactly how far I swipe.

If it goes further than desired then I will miss some rows of containers. Is there a touch, drag and untouch mechanism? I thought the TouchStart, TouchMove, TouchEnd would be suitable, but I get those errors.

Thanks again.
Tung

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: Swipe not working as expected

Post by Support Team » Tue Sep 22, 2015 2:24 pm

Hello Tung,

Thank you for the explanation.

Regarding the issue of recurring swipe actions, I would suggest trying to perform the swipe action on the parent container of the table-element. In this way it should be possible to perform the swipe action repeatedly.
parent_container.png
parent_container.png (4.79 KiB) Viewed 1217 times
Concerning the exact swipe action, one way would be to figure out the relative swipe distance, which swipes exactly to the next row.

Unfortunately, TouchStart / TouchMove / TouchEnd is currently not supported for iOS.
relative_swipe_distance.png
relative_swipe_distance.png (5.19 KiB) Viewed 1217 times
Please let me know if you need more information.

Regards,
Johannes
.
Image