can you please prepare a video on UI test with API call? For learning purpose this video is too good, but not sufficient for real projects, as API call bind with Views and that point to ViewModel for API call. How we can manage UI test along with server calls.
thank you for the great video. I have a question, why my diamond button to run the UI test is missing? so I can't run the test. Suddenly disappear when I write the test code.
Hi, in our company we are using a lot of UI tests but they can be flaky as hell. Any way to improve on this? What methods can be used to speed up the UI tests?
Automation engineer here - depends on the specific issues you're running into. In my experience, the top recommendations are usually: 1. Make sure you use intelligent waits (use waitForExistence) for an element to appear before you assert on/interact with it, especially if it's dependent on API calls that can be slow. This impacts reliability and execution speeds, especially if it's just set waits being used. 2. Test only what you need to test. So for example, skip any UI flow that you don't need where possible. If a test is validating the UI for a feature that is gated behind login, you can create a launch argument that sets the login state before you launch, to reduce potential errors. Again, affects both reliability and execution speeds. 3. Mock/Stub data where it makes sense (wiremock is a good tool for this). Most of the time the issues I've encountered have been from flaky development backend APIs being slow to respond and causing timeout failures, especially in CI. 4. Related to 2 - make sure the tests are at the right level (Automation pyramid, if familiar). Only do UI tests when testing the UI, and everything else that can be, should be in the unit/API levels. That said, I do find value in having a few very specific end-to-end happy path tests, but if they can't be made reliable, I'll remove them in favor of a quick manual pass before release. Another small way to increase speed is to use Accessibility Identifiers instead of relying on text labels. As I recall, there's three possible ways a given element can be identified and the view hierarchy is scanned from top to bottom for reach - Accessibility IDs are first, then the other two (displayed text as demonstrated in this video and the other I can't remember offhand) are then done if no matching Accessibility IDs are found. This is especially useful if trying to interact with a modal, as both the UI of the modal and the screen behind it are visible to XCUI and thus are scanned.
@@stephaniebogart4852couldn’t thank you enough for taking the time to write all this out. I have a meeting with a hiring manager for a junior QA role soon and am cramming to get as knowledgeable as possible. I’m having trouble finding to the point info like this
@@stephaniebogart4852any books or channel recommended about concepts that you said above? I interested about UIT whitebox testing vs blackbox testing vs Unit test
Wouldn't it fail anyway when you try to tap something that doesn't exist? I thought it only makes sense to assert if something exists if you are not interacting with it, otherwise it's redundant? Please correct me if I'm wrong
is there a way to start the recorder later on in the test? Like for example, let's say I made a reusable series of steps that logs the user into the app. And I want to start recording after the user has logged in.
Hello. I want to thank you for your content, I've learnt a lot from you. And in addition, I have an idea for a video. I think it would be great if you break down how to restore UI state after terminating an app. I think so because there's a lack of videos on this topic, especially for Scene based application, hence for iOS 13+. So if you had a free time for this, I assume a video about such advanced topic would be appreciated.
Nice video 👍 I really like the way you explain things. Your voice and style is enjoyable. Could you dig deeper in the topic you mentioned around 9:50, in particular Expectation and async testing.
Lets connect! linkedin.com/in/afrazsiddiqui
can you please prepare a video on UI test with API call?
For learning purpose this video is too good, but not sufficient for real projects, as API call bind with Views and that point to ViewModel for API call. How we can manage UI test along with server calls.
Simple, direct, efficient. Thank you! 🌻
Have an idea how to test the app with a map? ty
thank you for the great video.
I have a question, why my diamond button to run the UI test is missing? so I can't run the test. Suddenly disappear when I write the test code.
make sure you have the function that starts with lowercase 'test'. Example: testVerifyUsernameExists()
Cool video! Could you make a new video about unit testing please?
Sure thing
Hi, in our company we are using a lot of UI tests but they can be flaky as hell. Any way to improve on this?
What methods can be used to speed up the UI tests?
Automation engineer here - depends on the specific issues you're running into. In my experience, the top recommendations are usually:
1. Make sure you use intelligent waits (use waitForExistence) for an element to appear before you assert on/interact with it, especially if it's dependent on API calls that can be slow. This impacts reliability and execution speeds, especially if it's just set waits being used.
2. Test only what you need to test. So for example, skip any UI flow that you don't need where possible. If a test is validating the UI for a feature that is gated behind login, you can create a launch argument that sets the login state before you launch, to reduce potential errors. Again, affects both reliability and execution speeds.
3. Mock/Stub data where it makes sense (wiremock is a good tool for this). Most of the time the issues I've encountered have been from flaky development backend APIs being slow to respond and causing timeout failures, especially in CI.
4. Related to 2 - make sure the tests are at the right level (Automation pyramid, if familiar). Only do UI tests when testing the UI, and everything else that can be, should be in the unit/API levels. That said, I do find value in having a few very specific end-to-end happy path tests, but if they can't be made reliable, I'll remove them in favor of a quick manual pass before release.
Another small way to increase speed is to use Accessibility Identifiers instead of relying on text labels. As I recall, there's three possible ways a given element can be identified and the view hierarchy is scanned from top to bottom for reach - Accessibility IDs are first, then the other two (displayed text as demonstrated in this video and the other I can't remember offhand) are then done if no matching Accessibility IDs are found. This is especially useful if trying to interact with a modal, as both the UI of the modal and the screen behind it are visible to XCUI and thus are scanned.
@@stephaniebogart4852couldn’t thank you enough for taking the time to write all this out. I have a meeting with a hiring manager for a junior QA role soon and am cramming to get as knowledgeable as possible. I’m having trouble finding to the point info like this
@@stephaniebogart4852any books or channel recommended about concepts that you said above? I interested about UIT whitebox testing vs blackbox testing vs Unit test
Wouldn't it fail anyway when you try to tap something that doesn't exist? I thought it only makes sense to assert if something exists if you are not interacting with it, otherwise it's redundant? Please correct me if I'm wrong
is there a way to start the recorder later on in the test?
Like for example, let's say I made a reusable series of steps that logs the user into the app. And I want to start recording after the user has logged in.
Hello. I want to thank you for your content, I've learnt a lot from you. And in addition, I have an idea for a video. I think it would be great if you break down how to restore UI state after terminating an app. I think so because there's a lack of videos on this topic, especially for Scene based application, hence for iOS 13+.
So if you had a free time for this, I assume a video about such advanced topic would be appreciated.
this feature - to record the steps you make and to transform them in lines code - is available in appium too? thanks
Tank you for v very useful video! Use it in every project!
It's same when I'm calling api when i tap login shoul i write real username and password to check unit testing
It depends
thank you , keep posting.
You’re welcome
I love it
You’re welcome
Nice video 👍 I really like the way you explain things. Your voice and style is enjoyable.
Could you dig deeper in the topic you mentioned around 9:50, in particular Expectation and async testing.
Nice video, could you make unit tests tutorial in VIPER project.
I would love to watch more detail video on UI and unit test cases writing.
Comi g soon
Great video! Incredible simple. Thanks!
Thanks
cool! i like it
Thanks
brilliant
Thanks
amazing
Thanks
Hi Afraz nice video bro. Also when you get chance please do a Unit Testing tutorial in MVVM project like a pro. U r amazing
Noted
@@iOSAcademy Thanks 🙏 brother.
🔥🔥🔥
Thanks
HELP
Here to help
Waste of TIME
Thanks for the feedback