Hello everyone. Good evening. Good evening. It's nice to see familiar faces, familiar um names. It's nice to see you all again. I'm good. How are you, Castry? Okay, we'll start in a few minutes. I don't think um a lot of I mean are we already complete? I'm assuming that we are almost complete. Okay, I think we can start. Yeah. So, welcome once again. Uh, we are now in lesson 13. I'm not sure what was our last um lesson together. Was it uh mobile application testing fundamentals? Is it lesson 10? Yeah, I think lesson 10. Okay. So, yeah, we're now in lesson 13 and this is the last lesson in module 3. So, yeah, good job everyone. Um after this, you'll be going to module four. So yeah, this is our last lesson for module three for mobile application testing. So what is our lesson for today? Um so lesson 13 is about mastering ADB or Android debug bridge commands. So we are still focusing on mobile application testing and I believe in your in lesson 12 you've learned about um Xcode test flight. So those are related to iOS operating system, mobile operating system. So for lesson 13, we will be discussing the Android site. So our lesson for today is exclusively for Android um hence the name ADB or Android debug bridge. So there are two main topics um about um ADB. So first is we'll get to know what is ADB, what ADB stands for, what is the main purpose of this ADB as a QA engineer and how will it make our testing more efficient um with the use of ADB. Next would be the ADB commands. So since Android debug bridge is a command um we use command line or command prompt then we need to have we need to learn those specific commands um for us to to do some uh certain activities. So we will be doing uh we will be discussing those today. So yeah, at the end of our lesson, uh you'll gain um proficiency in ADB or you'll gain knowledge on ADB and you will also learn different commands um for for your debugging and for device management and testing. Okay. So uh I'll be repeating myself uh because these are the goals for the lesson and in this lesson students will learn about the Android debug bridge. So you will be hearing this three words um throughout the lesson today. Android debug bridge or ADB in short and you will be um I will be showing everyone how to set up ADB also configuration and fundamental commands. So yeah, this is a bit um compared to your other or previous lessons, this is a bit um a little bit technical um because you will be learning different commands and you will be using your command line or command prompt um throughout the lesson today and I will be showing um a demonstration part of this lesson so that uh you you can follow it or you can um have a better understanding on how we can use ADB or Android debug bridge. Okay. So, same thing with our uh with your previous lessons. If you have any questions, um just post it in the chat. Okay. So, I have a question for everyone and this is related to your previous lesson which is lesson 12. Um in which tools do QA engineers use to install builds and collect system logs on the iOS platform? Okay, so I see a lot of responses from the chat. Thank you everyone. Let's now check the answers. So the answer to number to question number one is um in which like what tools do we use to install builds and um collect system logs on the iOS platform? The answer would be Xcode. Uh Xcode is used mainly for installation and log collection. So just remember that Xcode is and also test flight is all only available for iOS platforms. So this is exclusive for iOS only. And then for test flight uh the prime uh this is primarily primarily for app installation. Yeah. So those are the two tools that QA engineers use to install builds and collect system logs on the iOS platform. Okay. So that's clear for everyone. Now let's go to our next slide. Oh, I think I skipped. Yeah. Okay. So now we'll talk about ADB. So ADB um why do we need to learn ADB as a QA engineer? So we need to learn ADV because as a QA engineer you'll be testing some mobile applications and it's not only exclus your the mobile applications will not be only exclusive for iOS but it it will also be available for Android. And I hope you still remember our lesson um in our previous lesson that we discuss about what is the main difference of Android between or versus iOS. Anyone still remember what is the difference between the two um OS Android and iOS? What make I mean what is more who is more diverse? Um is it Android or iOS? Yes, Android. So we've learned in lesson 10 that the difference between iOS and Android is that uh Android is more diverse. Nick, that's correct. making it um it it caters to different Android uh or mobile devices models uh versus iOS which is only exclusive for Apple products and as a QA uh as a QA engineer or a mobile tester when you apply for those type of roles for sure you'll be exposed to probably more of Android um apps or maybe a mixture of both but since Android is more more diverse then the app the applications would be for Android devices that's why we need to learn it um we're learn you're you're you have this lesson in your um in your courses and that's what we are trying to teach everyone about what is ADB so once you um start testing uh in In Android applications, you need to learn what is ADB, which stands for Android debug bridge. And this can enhance your ability to diagnose issues. Um like for example, if if if you encountered um an issue with your with the applica with the Android application, you can easily debug it. You can easily investigate it and diagnose the issue where what is the root cause of the issue and also you can manage devices using ADB and you can ensure that your your app functions correctly across various Android versions and device configurations. So hold on my screen is freezing. My other monitor is freezing. So um in addition to that um as a QA uh this will allow us to communicate with other uh with Android devices. So we can use ADB both for physical our with with our physical device or with the use of emulator on our computers. So so Android debug bridge when we talk about that um Android debug bridge it is about a command line tool. It is a versatile command line tool which helps us communicate with an Android device. So you might be confused what does command line tool mean? So anyone here familiar what is a command line tool or this or um anyone here like have heard it have used it or this is um unfamiliar terminology for everyone. Window shell. Yeah. So similar to that. So yeah, you're almost close. Okay. So let me share let me show you what is a command line tool. So when you go to like I'll minimize the screen. So when you go I'm using Windows. Um so when you go to to search you can type just simply type cmd and command prompt will show up in your in your machine. So when it loads you will see a black a black screen like this or a black um page or model whatever you want to call it. So this is a command prompt. So this tool is crucial in uh accessing ADB or in um in using uh ADB tool. So without this you will not be able to to function. You will not be able to successfully access ADB or uh you not be able to run or uh yeah run commands in ADB. But this is not the only thing that you need. This is like one of the basics like one of the things that you need to have in order for you to access ADB. So I'm just um starting from this from the basics before we move on to the next um requirement that we need to have. So this is a command line tool and sorry this is the command prompt and command line tool is a program that you use by typing text commands. So in here in this command prompt or terminal we can also say um use it as a uh terminal. So but I I normally say it as command prompt. Um this is easier for me to like cmd or command prompt or other people uh say it as terminal. So we use this tool to type commands or yeah to type commands and then th those commands will do um some actions for us. So instead of like going to a UI or clicking a certain button um we we go here and we type those commands and that is also similar to clicking a certain button like upload, install, uninstall, um check logs. So that is al um that is also similar to to performing or typing certain uh commands here in the command prompt. So, so that's that's that's a command prompt and ADB um will use that command line tool uh to communicate with an Android device and this tool is part of the Android SDK or Android software development kit and is used for debugging Android applications and managing the state of an Android device or emulator. later. So, first is we need to have this command prompt. Okay, we we're not going to do anything yet. We just need to open it. And now it's open. And next is to get this another tool which is Android Studio. So, what is Android Studio? you might get um you might think like maybe some of you have heard of it but I think I I'm not sure if I showed this last lesson 10 um normally in less in if I whenever I do lesson 10 I normally show uh oh well oh I didn't show it but yeah I um normally I show it in lesson 10 but maybe I forgot to show it less lesson 10 but Android Studio is an example example of an Android emulator. Um, and it simulates Android devices on your computer. So, this Android Studio is very important for both developers and and QA engineers or design team to develop and test Android applications. So remember our focus is only in Android applications. So as a developer whenever they develop a certain Android application they will use Android Studio to develop those applications and as as um uh since Android Studio have Android emulator the developers will utilize those um utilize the Android emulator to test those applications. ations that they developed. So as for QA engineers, we also have the option to use Android Studio to perform testing on certain Android applications. So it's not only limited for developers but it's also beneficial for QA engineers to test Android applications because this is since it's an an Android emulator we can perform our testing there. So we don't need to code. We don't need to see the code. We just need to go to virtual manager or virtual devices manager and we can select um different Android devices and we can um we can test the application. So what are the the key features of Android Studio? So first is it's used for device emulation. So for us UI engineers the main purpose of Android Studio is to test different devices um to test the application. So it emulates the configuration of different Android devices like phones, tablets, Android wear, Android TV and versions. Another key feature of Android Studio is its sim uh the simulated features. So it supports not just different screen sizes and resolution but also other devices device features and sensors like GPS, network speed, rotation and more. So remember in uh when you use an emulator it also um mirrors the hardware component of um of the phone or device. So later when I show um in during the demo part uh you will see some hardware controls um in the in the device. So we will yeah in the next lesson you will you will be learning more about um Android Studio. Yeah. So yeah, for now we will be discussing about ADB. Oh yeah, I showed it last uh lesson 10. Yeah, may maybe when I show Android Studio again, you'll you'll have some uh memory of it from the past from lesson seven, lesson 10. Okay, so let's now talk about Android Studio emulator. So the Android emulator lets you test your app on different devices virtually and the emulator comes with Android Studio. So once you download Android Studio and you will get a link from for that later on that's already like a package and it in includes the emulator in the Android Studio installation. So you don't need to install it separately. So it's just one installation and you already have the Android emulator. So to use the emulator follow these basic steps which are described in more detail in the sections that follow. So there are four main sections. Oh sorry though uh there are four main basic steps that we need to follow for us to be successful with the Android Studio emulator. So number one is verify that you have the system requirements. So make sure that when you start to download Android Studio and also install it in your machine, you need to have the following emulator system requirements. So these are just like guidance or like um basic requirement that you need to have. So it doesn't mean that you need to really have this um specific uh specifications. You can have higher than that but it's not encouraged to have like lower specifications than this one. So it's good if you have 16 GB RAM and it's also good if you have a 64-bit Windows 10 or higher or if you're using a Mac a MacBook you should have Mac OS 12 or higher. And then in your for your disk space you should have at least 16 GB in your in your machine. So you can only download or download and install Android Studio together with the emulator in your desktop or laptop. So this is not available for mobile devices or tablets, iPads. So it's mostly for for uh desktop or laptop. So you might be wondering what if you have lower specification than this one. So the answer is you can still you can still install it but don't expect that you will have like best experience or you will have a a smooth um installation process because how how do I say that? Uh what makes me say that the reason why is I personally experienced it. I had um I don't have a good experience on my on my first attempt to to install uh Android Studio because like two years ago or one and a half years ago when while I was um completing my software engineering technology degree um I I have a like I have a course where I need to learn Cotlin, Android Studio using Android Studio. So part of the class is to install Android Studio in in your machine. So I have a Mac OS that time and my specification was my my Macs up um my MacBook um specification was way lower than this. But I have Mac OS 12 or um I think I have I'm not sure what was my I think I have higher than 12 um maybe 16 I'm not sure or 15 during that time but for my GB I only have 8 GB and for my disk space this is where the challenge was I only have like two or three GB left in my in my in my machine. So it was very slow for me to download it and install and I need to like from time to time I get a a lot of errors whenever I try to in to install it and then I deleted some of my files but even if I deleted some of my files I still cannot install it properly and I still get some errors. So, what I did, I purchased another laptop, which is a Windows laptop because I got fed up with Mac. Um, but I I still love Mac, don't get me wrong. But I I now have a Windows laptop and I got um I purchased like I think I have um 256 GB RAM. I'm not sure how what what what's the specification, but I have uh 512 GB disk space. and then I have a bigger RAM. So my specification was way better than my my MacBook. So after uh when I installed it there in my Windows machine, it it was smooth. Um there was there was no issue. I didn't encounter any errors and the installation time was way shorter than um with Mac with my MacBook. So yeah, that's my recommendation. If you want to install your um Android Studio in your machine, make sure that you free up some space and make sure that um you can you have this um basic requirements in in your machine to have um to have a what do you call this a smooth installation because it gets annoying sometimes if you encounter some issues. So that's the basic specification for uh to use the emulator in Android Studio. So next is you will create Android virtual device. So once you already have let's make it a little bit smaller. Once you already have the Android Studio installed in your machine, you can now open it and you can run your app on the emulator. So let's um quickly open it. So this is Android Studio. I'm using Koala feature drop. And once you open it, so after you have created an AVD, AVD is this one in virtual device manager. So you will in the dashboard of uh Android Studio. You will go here on the three dot menu or kebab menu and click that and then go to virtual device manager. And you will see here device ma manager. Uh this this will list your the the available devices um that you added here. So you can add more, you can update, you can delete some of the devices that you previously added. And yeah, that's it. So when you have that already, you can click this play um icon and it will launch the emulator for you. So it says starting AVD. So just wait for that to launch. By the way, I'm using Pixel 7 and I'm using API 31. So let's just wait for it to load. And once it's loaded, you will now see the device here. So this is uh a Pixel 7. Okay. So let's go back to our slide. So yeah, click run and then the emulator will start running. um based from the device that you you've chosen or you've created. Next is run your app. Okay, I think we already did this. We run the app on the emulator. The the Figma file is is loading for me. So yeah, I think this is already part of run the app. What is this? Create an EV. Okay, I think did we click this? Oh, okay. Did I skip? No. So yeah, I think they are connected. Um, so first is to create AVD. I think we already I think we by we we bypassed that. So how do we create a virtual device? So let's go back to our homepage. Click this more actions or kebab menu. Click virtual device manager and click this plus icon. So this is where you will select your device. So I will just click phone and then I will just click um medium phone and then next. Um so just I'll just select from the available. So uh I'll just select the default recommended um API here and then click next. And then you can update the name of your AVD. But I'll just stick to this default value. And then I can click finish. I will click finish. And it will create the new um device. So you will see here the list of devices. And if you want to update or delete, just go here and you can delete. So if you want to duplicate, if you want to edit, you want to delete um yeah, you will do it here on the device manager. So yeah, we already did the running of the app by clicking the play button and then we'll go to the last one, navigate the emulator. So when navigating the emulator, it's like you are using your actual device. So, let's Is it already open? Okay. So, like this one, if you want to go next or I'm trying to use my my mouse, by the way, to navigate here, but it's not moving. Um, okay. Let's try to close this first. Sometimes it's a bit slow for me. Maybe because I'm using Koala. Um cuz there's already uh what is the let me check what is the the okay where is the link to Android Studio. you. So, let's just check what is the Oh, Narwhal. Narwhal is the latest uh name of the Android Studio. So, I'm using Koala version. So, they're using cute names, I think, animal names. So, yeah. Did I already close? Okay. So, let's try to reload the new phone. Let's try to launch the new phone. Okay, I think I see a question in the chat. Um, when we are hired, will the company provide a laptop? Yes, the the answer is yes. But yeah, there's a butt. Um if you are working as a contractor like you're working as an individual contributor or in um individual contractor then they will not provide the laptop for you but if you are hired I mean hired as a full-time permanent they will they will provide the laptop. So yeah, it depends on the company or it depends on the type of uh job that they will offer you. So yeah, especially like if you're working from home, so they will send the the machines to you. Like like in my case, I'm my my the so I'm I'm based in Canada and the company that I work with is based in Toronto, Ontario, but I'm here in Alberta. So I don't go to the office and I don't need to go to the office to get the the machine. They just sent it to me here. So yeah, that's what what they normally do. What nor what companies normally do. They will just send the machine to you and yeah, you you'll set it up by yourself. So, I'm the one who set up everything um in terms of my machine, uh setting up the monitors, everything. So, that's what I miss when you're going to the office. There's no one no IT guy who will help you set up. Okay. So, let's just go back to to this one later cuz it's taking too so long. So those are the um the four steps that we need to do uh in order for us to access Android emul Android Studio emulator. So later um when the when during the demo part and when Android Studio my Android Studio is um loading properly I can show um how to navigate the emulator. Also we already did the run the creation of virtual device and running the app on the emulator. Okay. So now let's discuss um how ADB works. So since we already know Android Studio emulator, we'll now discuss ADB. So ADB is a client server program that includes three components. First is we have the client. So we are the client. We are the one who send the command like we type the command in the cmd or command prompt and then we hit enter and that command will be sent to um to a demon and the demon or a adbd will run the command on a device. So the demon will run as a background process on each device and the server will communicate between the client and the demon. So the server runs as background process on your development machine. So let's I did some illustration here on how it works. I know it's a bit confusing but I made it like this. I hope you can see it clearly. So first is the ADB client. You are the ADB client because you are the one who will type the command like ADB install ADB logcat and then once you send that command the ADB server will process the command and the Damon will be the middleman will be the middle middle person or some uh middle the middle guy. So the demon will be the one sending it to the Android device. So okay let me repeat that. So as a client you will enter the command like ADB install and then the server. So the the purpose of the ADB server is um this is where your command will be stored. So the client will send a command to the ADB server running on your computer and the Damon um so the ADB server will forward the command to the ADB Damon and ADB D and Damon will be sending it to the Android device. So it's just like they're like communicating with each other and um the end point would be the Android device. So whatever command you entered here it will go to the server, it will go to the demon and the last one would be your Android device. Okay, I hope it makes sense. So that's how ADB works. Um, so now we'll set up ADB. How do we set up ADB? So by installing Android Studio, you get the Android SDK which includes ADB. So aside from having the Android Studio emulator in the Android Studio SDK or Android SDK, you will also have ADB. It's already installed there in your Android SDK. So this is the link to Android Studio download. So you will click the download Android Studio and app tools. And I'll just close this tabs here while waiting. So click this download Android Studio Narwhal feature drop button and it will download in the background and then once it's done you can now install it in your machine. So let's uh do it quickly but I will not install it since I already have Android Studio. But once you click download it will download in the background here. Wait for it to finish. It's about 3 minutes. And then once it's finished, you will run this executable file by doubleclicking it and it will now install Android Studio in your machine. So just just wait for it to finish and you'll be able to access Android Studio. So that's install the installation of Android Studio. And then yeah this is in install Android Studio. So Android Studio it's the official IDE for Android development and comes with the Android emulator. So here I think we already did this. You can download from the official Android developers website and then once you have the Android Studio ready in your machine you can now create or start an emulator. So launch Android Studio. already here in Android Studio. Click configure from the welcome screen and select AVD manager. AVD stands for Android virtual device. So, so it says here configure but here it's just same or actions. It's just the same. So, just go to this three dot menu or kebab menu and click virtual device manager. So next is in the AVD manager you can now create a new virtual device or start an exist existing one. So we already did both of it. We started an existing one and we also created another virtual device. Then follow the prompts to create or start the emulator with desired configuration like device type Android version. So just like what we did earlier when we click the plus icon you are prompted to select uh or choose a device definition. So my advice is uh just follow the default values but maybe you can select the the phone configuration here like what type of is this a do you want a small phone, medium phone or fold. Other than that just go with the default values and then next. Okay. So that's creating or starting an emulator. Then next is to enable ADB ADB debugging on the emulator. So before you can use ADB with the emulator, you need to ensure that the ADB debugging is enabled. So how do we do that? We need to run a device first. Let's run this device. So, we need to enable the developer um options in our device. So, what we can do is go to settings. So settings. You know what? I I'll relaunch Android Studio. Close. Let's just wait for it to close. and I'll relaunch it. Well, we we are waiting. Um any questions so far about uh ADB or about Android Studio? Yeah. So that we can clarify some of your questions or confusions while waiting for Android Studio to load. So now it's loaded loading. Um it it is successfully loaded. I will now go to virtual device manager again and then let's try to run this device. Okay. So, let's go to settings. Okay, I think I need to delete this. Okay. So, what I um what I'm going to do is I'm going to uh go back and forth to from Android Studio and then go back to our slide. Uh maybe we'll just discuss um this setting up first and then we'll go to the demo demo part later. Okay. So, uh so this is how to enable ADB debugging on the emulator. So once the emulator or the device is already launched, we'll go to settings. And then under the settings menu, we'll scroll down and select system. Then we will um scroll down again and select developer options. Toggle on developer options if it's not already enabled. So scroll down and toggle on USB debugging. So next is to locate ADB executable. So ADB is usually located in the platform tools directory with your Android SDK installation directory. So once you've successfully installed Android Studio, you will have a folder named platform tools and in that platform tools you will see the ADB um you will see ADB. So let me show it now. So this is my platform tools. I will open that and I will see ADB. So ADB is inside of my platform tools and I need to have a I need to get the link or the path or directory of this of my ADB. So, so in on Windows, if you're using Windows, it is located in C users, your username, app data, local Android SDK platform tools. So, it depends. It's not this is not this is you your or it might be different on other machines but for me I was able to see it here under my uh local C and then platform tools. So it it it might be different for you but just find where um just try to find first platform tools and then inside of platform tools you will see AB. So for Mac OS it's also different um and also in Linux it might be in home username. Yeah. So that's important to locate where ADB because we will be needing the path of our ADB and um for for uh when we use the command prompt. So open the command prompt or terminal window and then we need to navigate to the platform tools directory where ADB is located. So let's open our command prompt. This is my command prompt and then let's navigate to the directory of ADB. What we can do is type cd or change directory and then paste. Oh, I didn't copy it. Paste the path of your ADB. So, I'll just copy this C platform tools and then paste it here. So by do by by typing this command I am directing my um I'm directing command prompt to change the directory from C users mcnav to C platform tools because I have the my ADB there. So once you click enter, you will see that the directory changed from C users mcnav to C platform tools. So it means we're now ready to use our ADB because we're already inside of ADB. So connect ADB to the emulator. So in the command prompt or terminal, type the following command. So that is this is the very first command that we will do. Let's type ADB devices. So this command will show the list of devices that is connected to to the emu to the Android Studio emulator. So let's click enter. So it says here list of devices attached emulator 5554. So, we don't normally see like Pixel 7 or Samsung whatever. We we normally see the serial number or like a a code uh and it says here offline. So, it means that this device has not loaded yet. Emil Yeah. So, that's correct. Emulator failed to connect within 5 minutes. Um, okay. Let's try to relaunch it. medial in um let's close it. Open the device manager. Let's run. Okay. If it's not the case, delete. Okay, let's delete this shutting down. Then once it's deleted, we will run ADB devices again. Okay. So it's still loading here. Okay. So let's go back to our command prompt and let's try to Okay. So now it's showing as none or zero. It says list of devices attached. It's the uh nothing is shown here because we shut down the emulator or we shut down the devices in our Android Studio emulator. So let's try to relaunch another device. Create virtual device and I will just uh Pixel 7 cuz that was my previous phone before and I will use API 31. Yeah, let me check if there's still other. So, I'll just use 13. So, it launched on my other screen. So, while we're waiting for it to launch, let's check again ADB devices. So, it's showing as offline since um the device is already running, but it's still not it's still starting up. So, it's not um fully open yet. Okay. So yeah, that's the last step of setting it up. Um, once you see the list of like once you run the ADB devices in your command prompt and you see list of devices connected here, then you already uh successfully set up ADB with an Android emulator. So now once you are once you once you see the list of devices you can now use ADB commands to interact with the emulator such as installing apps or also un uninstalling the app and pushing files or debugging applications. So that's all about setting up the ADB and these are some screenshots to guide you on how you can set up the ADB. So first is go to settings and then look for about emulated device and then once you click that you will be redirected to this page and click build number. So just tap that multiple times and it will um like if it's not enabled yet, if the developer option is not turned on yet, you will see like a message a small message like small message in this in this area saying that uh you're almost like you are a developer like something like that. I'm not so sure about the message, but if ever you're still missing some taps, like maybe three to five tabs, maybe you're on the third tap, it will show you a message like you're almost there, you're almost a developer. So, you need to tap more and once you you reach the the required number of taps, um you will now see a message like you're now a developer. And when you see that message, it will enable the developer options. it will turn on the toggle and then once it's turned on you will go to USB debugging you will enable the toggle also this um enable the toggle for disable ADB authorization timeout so those are the things that you need to set up um in setting up the ADB and it's not only this setting up is not only for virtual device but you can also do this um in your physical device. If you have an Android device, you can also do that there. So, it's not only for virtual devices. Okay. So, let's check if it's already online. Still offline. So, it's still loading here in the background. Okay. So any questions so far before we move on to the the different ADB commands. Okay. So if there's no question then we'll continue. So these are different ADB commands. Um for the command for pulling logs you will uh need to type ADB logcat. So this command will pull logs from the device and so whenever you type this ADB logcat you will see like a lot of logs related to the device. So let's try it now. Log cut. But I don't know. Oh, so yeah, we cannot we cannot see the logs the logs yet because since the the device is still offline and it's showing here as waiting for device. So that's expected because the device has not loaded yet. So let's let's wait for it to to load. Um but once the device is loaded, we will run ADB logcat and we will see the logs. So this is frequent this command is frequent frequently used for collecting log data and next command is for installing installing apps. So as a QA engineer, this is one of the most um one of the mo the commands that you will always use because you will be um installing some Android applications and you will also uninstall Android applications. That's why um you need to learn how to to run that command. I'll just wipe the data. So that's install installing apps and then uninstalling apps is also a good command um because it it will allow you to remove applications uh cleanly using ADB uninstall your app package. So that this is the the command that you will be um using to uninstall. So this is useful for ensuring that apps are installed from a clean uh state. So next is managing devices. So this is what we did earlier. We we type this command ADB devices and it will list connected devices. So far now we don't see any connected devices since the the the emulator is uh not properly loading. It's still waiting up or starting up. So it's expected that we don't see any list of devices yet. But later if once the emulator is is um fully launched then we can see list of devices. Next command is filtering log output. So this will tailor the log log cut output to specific applications or or tags. And then input simulation and this will simulate touch events, gestures and key strokes. And then simulating hardware buttons. This will trigger hardware buttons like ADB shell input key event, key code power for the power button. So these are the the most common uh ADB commands that might be asked during the interview. So first is ADB devices. So this will print list of serial numbers of all devices that are connected. So this is the first command that we did earlier. And then next is ADB logcat. So this will view the um system logs. So next is ADB install. So this will help you to install application that is under development to the device and ADB uninstall is for uninstalling the application in the device. Next is ADB bug report. These commands will generate a zip file with full bug report. So reminder that uh familiarize or learn these commands as they may come up during job interviews. Next is ADB push. So if you want to transfer a file from local computer to the device, you can use this command. And if you want to pull a certain file from the device to your computer, you will use this ADB pull command. Then ADB shell screen record. This will this command will record the screen of the connected device and it saves the video to the device storage. So once you did so what we normally do is we we add or we type this command to screen record the the device the virtual device and then once it's done you can now push or sorry pull you can perform this command uh by by retrieving the video recording from the device to your computer and then ADB shell am start. This will launch an activity based on a deep link URI and this command is crucial for testing that deep links open the correct apps streams. So this is um a link to the Android debug bridge cheat sheet. So you can review this like there's device basics and also logcat. Um also for file management there's so there's the commands here. Uh if you want to start the server this is the command. If you want to kill the server this the command. Um so this is like another command for ADB devices. So this will list connected devices and kind. So later we will we will do that uh because we just did ADB devices and it just lists down the serial number of the connected devices. Okay. So for the demo part, yeah, we will be doing that later. And what we can do now is to have a short break. Um and we can do the demo part after the short break. Okay, sounds good. Yeah. See you all after 10 minutes. Okay. Bye. See you all after 10 minutes. Hello everyone. I hope everyone's back from the break. So I will continue with the demo part. I hope you can hear me clearly and you can see my screen. So this is where we left off. Um, we're now in the demo part. Um, let's just quickly recap what we've learned so far. So, we you've learned about Android Stu Studio. Um so when we download Android Studio we will have the emulator together with the Android Studio and also in in the Android Studio installation we will also have the ADB tool. So we only need to download one tool and when we have that tool in our machine we can access the address studio emulator and we can access ADB. So, Android Studio emulator is a tool that we use for um testing different um Android devices, virtual Android devices to test to test Android applications. And for ADB um we use command prompt to write some ADB commands that will help us with um checking the devices, installation of applications and also uninstallation of applications and yeah a lot of commands we can perform using ADB. So that's all of that's that's so one of the recap that we have so far and now let's go to the demo part. So I've relaunched the virtual device. So I hope it's now working fine. So I rebooted it and let's go back to our uh command prompt and let's try to run ADB devices again. And it's now showing as device. It's no it's no longer showing as offline. Since the the device is launched successfully, we see this word here device. It means we are able to connect the emulator successfully. So let's try to use the other um ad ADB device command. So we we we add the dashl and we see here a more detailed information about the list of uh devices attached. So we still see emulator 5554 which is a serial number and then it it shows here like device product SDK and then 64 x. So those are like some um model number um of the device. So let's go back quickly to setting up the uh ADB. Let's Yeah, let's go back here. Setting up ADB. So we go to settings. Okay, I hope it works cuz I I was playing around with it um in break time and I was able to see settings. Okay. So, click settings and then go all the way down and click about emulated device. Okay. So, now we'll go to build number. Click build number. So here you see did you see that? Did were you able to catch that message? No need you are already a developer. This is the message that I'm referring to earlier that when your um ADB is set up or enabled when the ADB debugging is enabled you will see that message. No need. you're already a developer. So if it's your first time to enable the ADB debugging, when you tap build number multiple times, it will enable the developer options. And in that page, you will you're able to um you'll able to update the toggle here USB debugging and disable ADB authorization timeout. Okay. Is it clear for everyone? So I tap this multiple times and it says no need. You're already a developer. So if anyone here using Android phones or Samsung devices or anything that is Android, you can also try that. You can um click the build number and then it will enable the developer options. Okay. So let's now go to our demo part. So let's try some EDB commands together. And imagine we are testing the weather app. So when you click this link, the download APK here, you will see um list of files. So one is for calculator.ip. I'm not sure if you're able in your last lesson, lesson 12, uh did you try to install this application calculator application in Xcode or test flight or no? Okay, thank you Susan. Um so yeah, that that's fine. No worries. Um but for our lesson today we'll be using this this APK that APK file weather app version one. So you can download it in your local storage. I already have a I already um saved it in my machine. So we will be installing this weather app in our virtual device. So let's go. Okay. Uh, let's do the demo now. So, we'll go here to Okay. I'll go back to our phone and then I'll just quickly show that we don't have the weather app yet. Okay. So, we don't see the weather app here yet. So it it means it's not yet installed. So we will now install it by typing uh ADB install and then I'll just get the link to to the APK file. So, let me grab the link for the path of my APK APK. Copy it here. Oh, so see um I put ADB install and then the the path of my folder. So this is my folder APK folder and then the name or the file name of the APK. So let's click enter and it's showing as performing stream installed and then you will see success. So when you see success it means the the app is the the app was successfully installed. So now we have it. So yeah that's the ADB install and then let's try to uninstall it just for um demo purposes. So let's type ADB uninstall and then let's get the package name. So I already got the package name of the app. So it's like this and click enter. So it show it's showing a success. It means I was able to successfully uninstall the app. Okay. So now let's reinstall it. I'll use this um command here ADB install and then the path of my folder and the name of the APK the weather app. So it's showing perform stream install and showing success. So let's now go back and I'm I'm able to see the app the application that we recently installed. Okay. Okay. So now let's try to run ADB logcat. So it will show like this um logs here. So if you encounter some issues while you're testing it, maybe you can run this ADB log cat and maybe you can search for the um the issue that you encountered. So it will show you like logs of all of the of the activities in the device. Okay. So just a reminder for everyone um that this demo may look complicated but it is much simpler than it seems and the work of a QA tester is uh is straightforward and if you ever come across tasks that involve using ADB there's no need to worry because learning this tool only requires a few hours of your time. Yeah. So that's a reminder for everyone. Um, question for everyone is which tools do QA engineers use to install builds and collect system logs on the Android platform? Okay, we see some answers in the chat. Let's check the answer. So, the correct answer is Android debug bridge or Android debugging bridge. So that's the tool that Q engineers use to install builds and collect system logs on the soft on the Android platform. Okay. Another question is which ADB commands is used to install an app and which ADB command is used to collect system logs. Okay. So let's check the answers. So the first answer uh which sorry the first for the first question the answer is ADB install. So this is the ADB command that is used to install an app. And for question number two, which ADB command is used to collect system logs? The answers are ADB logcat and ADB bug report. Okay, so let's close this first because it's just retrieving bunch of logs. ADB 52. So just to uh remind everyone on how we use ADB. So we open command prompt and then we change the directory to our ADB to where our ADB is located. So in my case I will go to CD and this is where my ADB is inside of platform tools folder and then click enter and we're able to go to the ADB um path. So let's try to do ADB bug report. Okay, I know. Okay, so let's try something else. So, we already installed the app. Let's try to run different uh ADB commands together. So, we already did ADB devices. ADB devices-l um let's try to do this ADB kill server. I don't know. Let's try. Okay. Okay, I think I have a missing dash here. Okay, so it's it killed the server and then let's restart it. Okay, so it restarted the server. So later I will do this ADB reboot. I don't want to do it now because it might um it might relaunch the app. Uh okay. So yeah, I think we're we're good with the commands. uh let's try to run this application. So let's say you'll start um you'll be start starting your your testing on this Android application. So once you're you you've successfully installed it, you can now navigate to your virtual device and you can now start testing the application. So let's let's um open this weather app. Let's launch this weather app. Okay. So, this is the UI or user interface of the weather app. So, the purpose of this app is to show the temperature uh or the yeah the temperature of of each city. What is the current temperature in the in that current city? So right now it's showing a San Francisco, US and the temperature is 19.2° C. So it also says few clouds and humidity is 75%. Pressure is I don't see it. Um 1,0 hpa if I'm not mistaken. It's a bit small. So let's try to change the city the current city. So let's choose city you. So you you will type the city here. I will type my current city in London. And yeah, it's now showing me 20.1° C. Uh, I have my phone here to check it's accurate. 20.1. Uh, it's showing me as 18 18° C here in my in my phone. So, maybe it's a Yeah, it's a bit close. How about um what else? What What city you want me to check to check the accuracy of this weather app? Ohio. Okay, let's try to type that. Okay, so in Ohio it's 23.9° C. So it's showing us um Celsius, not Fahrenheit. So is this accurate on your place? 23.9. Let's check it. So, for me, it's showing us 24. So, it's close. 24°C for Ohio. 24. So, let's try Phoenix. Okay. So, it's 42.6. It's a bit warm there. Is it accurate? 106 Fahrenheit. Huh? Jonathan, is it 106 or 109? I mean, is this Fahrenheit? Okay. So, not good in conversion but we can try to to search that here. Yeah, this is the one. So, yeah, it's all Yeah. 107.6 in Fahrenheit. So yeah, that's that's close. Okay, let's try to do one last city, Kentucky. So if you will, if you observe what I'm doing, this is how you will be testing a certain application in Android. So this is just an example application a a very basic um weather app but uh for a QA um this is what we'll be doing. We'll be testing it in the virtual device and then yeah we'll we'll check the features in that in that uh application using this um virtual device. Okay. So in Kentucky it's 10.7 with clear sky 81.7. So is this accurate? Is 81F uh is that for Kentucky? So yeah, this is what also part of your part of our testing if um the what do you call this the the testing that we need to verify like if this is accurate weather um but for sure this will be accurate because it's just getting the same API from the weather app that we see in our phone. So they're just sharing the same uh API. So this might be yeah it's it's it's pretty accurate. Uh okay. So um let's discuss um okay before we do the self-arning um we can also do some controls here in the device like um if we click this icon the three dot icon here at the bottom part of the controls you will see extended controls and from this section Uh you can um update the display also cellular you can change like remember the network speeds you can also change it here like network type full LTE 5G. So if you want to test the network speeds of this device make sure that the application is still running even if it's in 3G or LTE then you can go to to this extended controls and cellular and then select the signal strength then also camera uh phone. No, we don't need that. Um bug report. So this is also a good tool or um this will help you if ever you encounter some issues. You can just go to the bug report and um type your uh reproducible steps like um the weather app is let's just put a sample when I hit enter or when I click the weather icon. So you just put your steps to reproduce here to reproduce and then um expected result and after result. So and then so it's normally this save report button will be enabled and it will create a bug report for you. So it will create like a folder um in your um indicated uh path or directory in your storage and you will see there like this image and you will see also like a list of reprosteps that you entered here. So yeah this is also this is very helpful for QA uh whenever we encounter um some bugs while we perform testing on the virtual device. And then you you can also use this um snapshots and it will take like a snapshot of of the of the screen. So when we um let's try to take a snapshot of this and it should it should save in your um in your local storage. Check if it was saved. I'm just waiting for it to save, but it's not saving on my desktop. So, I'll try something else. Uh this one is record record and playback. So select a micro select. So let's we can click start recording and let's try to do then here. Click this and then go back to the recording. Stop recording. So then I click save. U I should be able to to get a copy of that before I do. So yeah, I was able to see the recording and now I'm playing it here. Let's see if it will play. Mhm. Yeah. So this one this is what we did earlier right when we record. So it's like recording your the steps that you did. So this is perfect if you want to file a bug report or if you want to show this to your uh to other QAs. So you can use this feature of recording your screen in the virtual device. And let's go back to the controls. So you can also change the setting of your phone like rotating it. If you want portrait, landscape, um you can do that in this controls. Then you can also adjust the volume, volume up, volume down, and then take a picture. It will take a snapshot of of the image. So yeah, I got another image here. Yeah. So this is the image that I recently captured here using this camera icon. And then this one is back. Let's let's click this back icon. So it should close the app when I click this or backspace and then Oh yeah. So this one. So it went back to the home or to the yeah to the page where it shows the the apps and then when I click this circle icon, it goes back to homepage. And this one is overview and this one is more controls. So yeah, that's all about um the demo part for the Android Studio emulator. Uh do you have any questions so far? Is it a cool um tool? Okay. Yeah. So, seems useful. Yeah. Yeah. Especially if you'll be testing Android applications, uh this will be very useful. Um especially um when I tried to install the applications. So I didn't use Android emulator but I used it on my actual device when I was testing the Android application. Um I used the ADB command to install um the APK file in my machine. So that was very helpful for me um because that is easier for me to install the APK using ADB. Um yeah and it will be also beneficial for everyone when you start testing Android applications. So these are just some self-arning materials to watch. Um the first one is device logs devices logs from Xcode. This is for iOS. So you can watch this video and then devices logs from Android Studio ADB command. Um you can also watch this video. It's just a quick video that uh you can watch um maybe later or tomorrow. And then also this is app.apkin install on Android using ADB install. So you can you can rew you can watch this video but we already did this. We installed the APK file using ADB install command. And then this one is for iOS. install an a an app that IPA on iOS device using Xcode and then um this is just an article about uh what is an API and SDK. So the main mo mobile acronyms to understand is SDK software development kit um API is application programming interface. Let me confirm that because um sometimes I interchange the terminology. Uh yeah, that's correct. API is application programming interface and then APK is Android package and then IPA is iPhone application archive. So those are like some uh acronyms that uh you want to familiarize. So yeah we can re this is a mandatory self-arning materials to watch. So don't forget to watch this videos and then let's now go to common interview questions. So number one is what is ADB and what are its primary uses in Android testing. So ADB stands for Android debugging bridge. It is a command line tool um that is part of Android Studio uh Android Studio. When you install Android Studio, you will have ADB command command line tool. And the primary use of ADB in Android testing is to allow allow us to um properly um install uh application um or APKs to uninstall APKs and also to debug um to diagnose some issues. Um so by by running different ADB commands we'll be able to utilize ADB for our Android testing. So what is the command to check connected devices using ADB? So let me ask everyone if you still remember what is that what is that ADB command uh that we that we did earlier to check the connected devices. Yes, correct light ADB devices. So, yeah, that's a that's a correct answer. Um, so a the command that we use to check connected devices in ADB is ADP devices. How about if we want to install what are what is that the the command that we that we use to install ADB or to install um Android applications. Okay, that's correct. ADB install. And how about So after um so after typing the ADB install, what do we need to to add after that? So it's not enough that we only add ADB install. But what should be after that? if you still remember. Do I have a So, let's try to go to ABB install. I'm sorry, ADB devices. So, we have one device connected. So let's try to okay so if we only put this code or command ADB install we will get an error message. So we need to have the APK path that's correct. So let's try to to add that again. Let's try it again just to familiarize ourselves with the syntax or the the commands APK. Okay. Let's see what will happen since I already have the the application installed. Okay, so it's still showing us success even though it's already installed in our in our virtual device. Okay, so what else are the ADB commands that you know or use? So you can list or you can um mention here as many ADB commands that you know. So that's why it's good to familiarize and learn the different ADB commands. You don't need to practically do it but just familiarize yourself like oh ADB devices will list down connected devices ADB install will list um uh APK in the virtual device and yeah just try to memorize the terminologies or definitions of different ADB commands. Okay. So, we're almost done. Um, for the question part, before we do the question part, I'll just show the glossery of the lesson. So if you want to learn the definitions or ter terminologies that we use for our lesson today, just go here to go here to the glossery of the lesson page and then please share your feedback in the learning space for uh regarding the lesson today and also uh about me about your instructor. Anything that you want to to share your feedback we appreciate it. Okay. So any questions so far? I think I see one question from Lloyd. Let me go back to the chat. Okay. When you do find a bug, how do you find it on the bug report? Um, so for the bug report, that's that's the the option to create a bug report. So like for example you encountered an issue with logging in and you want to file that as a bug report then you will click the bug report um button in the extended controls. So it will create like you need to list down the bug report uh reper repro steps and any information that is related to the bug did that answer it I mean is that the answer that you are expecting or or is something us. Oh. Uh, would the error show up on the logs? So, yes. Um, the answer is yes. It might show there since the log report will uh be able to show you the different um like history or the logs based from the activity in the device. Yeah, I know it it would be a lot of logs. Let's try to to run it again. Oh, sorry. ADB cut like this one. So yeah, it's just uh retrieving everything. Um so like this one failed to open something like this. No such file directory. Um, if you know like the timestamp of the the issue that you encountered, you can have a better idea or might as well copy paste all of these logs and um paste it in a in word document and then try to find like what whatever issue you will find because for from here you cannot click uh ctrl f you need to like let's try to copy like a a portion of it. Oh, I I I think I cannot open it. So, let's try to use Word. Oh, I don't have Word here. Um, but I'll just use Google Drive. Yeah. So I was able to paste the the logs in a in a document. So yeah, that's how you how you will do it. So you can paste it in word document and then just try to find the issue there like specific issue that you you can um search it for. And then uh that that will help you diagnose like why is this loading so slow? Why is like why why is this app not working properly? Okay, this is the one. So like this one I was able to copy and paste it in in my Google Drive. I just open one document and it's like seven pages already of logs. So, let's try to search for a keyword failed. So, I see 13 failed information. So, a resource failed to call close um failed to get energy data. So, those are some irrelevant datas. So just yeah try to find the failure that you're trying to to diagnose like this one failed to apply frozen process profile failed to open no such file directory. Yeah, that's yeah, one way to check the logs if you're overwhelmed with this bunch of loss here. So, let's try to do this command ADB reboot. Okay. There's a one side. Since we're already done with the demo, I will try to do the reboot. Uh let's get the set ADB reboot. ADB reboot. Let's see what will happen. Did it? I don't think it rebooted, but yeah, reboots the device. So, it should reboot the device, but it didn't reboot the device. I'm not sure why. Um, ADB devices. Oh, it's offline. That's why. Okay. So, when it's online, I'm not sure if Well, it's still online here. So, yeah, maybe it got rebooted at some point, but it should show here that it it is rebooting. Okay. Um, yeah. So, I think we're almost done. You have only one minute left. And I hope you learned something today. I know it's a bit complicated and overwhelming and technical, but yeah, you'll get the hang of it and you have all of the resources that you need. Um, just make sure that you ha if you have like spare time you can install Android Studio and play around with it. Um, also you have the cheat sheets here of the com the different commands. Just start with the basic like ad ADB devices, ADB install, ADB uninstall and you're good to go. Yes. So Jonathan, you did and how was it? Were you able to also try to to run the ADB commands and also the virtual uh device? Mhm. Okay. Yeah. Uh you can re-watch it. Yeah. And also watch the videos the surf self-learning videos and it will be uh additional knowledge for for everyone. Okay. I guess Oh, we just downloaded it in Heaven. Yeah, that's fine. Um, that's your first step. You can maybe tomorrow or in the weekend you can try to play around with Android Studio. Mhm. Okay, I think we're good. Uh, thank you everyone. Have a good night. Have a great weekend and good luck on your upcoming lessons. So, congratulations for finishing module three. You're now going to module four. So, yeah. Thank you. Bye. Have a great weekend.