2 scenarios fail on CI randomly:
1) Scenario: Entitlement Injector has been loaded
2) Scenario: Touch small buttons
Both of them fail about 4-5 times per 10 runs
Debug process
The main issues with both tests is that they can't get some value by query
I have added request query(*) to failing tests to determine what elements are showed on device screen. I have found that test app still shows elements from the first tab after step I go to the second tab. So this step doesn't switch tabs sometimes.
The main issue is that test app sometimes is not switched to the second tab randomly.
Fix
I have added logic to touch second tab icon until the second tab is shown.
while query("view marked: 'Second View'").empty?
touch("UITabBarButton index:1")
end
How it was tested
I have run 11 builds in CI and all of them passed without issue. Both tests were green.
I am not sure that infinity loop is good solution but it works and proofs main idea.
@jmoody , probably you can advice better solution.
Issue
2 scenarios fail on CI randomly: 1)
Scenario: Entitlement Injector has been loaded
2)Scenario: Touch small buttons
Both of them fail about 4-5 times per 10 runsDebug process
The main issues with both tests is that they can't get some value by query I have added request
query(*)
to failing tests to determine what elements are showed on device screen. I have found that test app still shows elements from the first tab after stepI go to the second tab
. So this step doesn't switch tabs sometimes. The main issue is that test app sometimes is not switched to the second tab randomly.Fix
I have added logic to touch second tab icon until the second tab is shown.
How it was tested
I have run 11 builds in CI and all of them passed without issue. Both tests were green.
I am not sure that infinity loop is good solution but it works and proofs main idea. @jmoody , probably you can advice better solution.