title
Testing Android Applications With Appium | Appium Tutorial For Mobile Testing | Edureka

description
**Appium Certification Training: https://www.edureka.co/appium-training-mobile-automation-testing ** This Edureka live session on "Testing Android Applications with Appium" will get a step by step guide to test an android application using appium. Elements like Appium inspector, setting up appium, setting up an ide are explained in this session. Following are the topics that are discussed - What is Appium? Appium Features Why is testing required? Demo: Setting things up for testing ------------------------------------------ Software Testing complete playlist: http://bit.ly/2OT8CaL Software Testing Blog Series: http://bit.ly/2UXwdJm Selenium Testing playlist: https://goo.gl/NmuzXE Selenium Blog Series: http://bit.ly/2B7C3QR - - - - - - - - - - - - - - - - - Subscribe to our channel to get video updates. Hit the subscribe button above: https://goo.gl/6ohpTV Instagram: https://www.instagram.com/edureka_learning Facebook: https://www.facebook.com/edurekaIN/ Twitter: https://twitter.com/edurekain LinkedIn: https://www.linkedin.com/company/edureka SlideShare: https://www.slideshare.net/edurekaIN - - - - - - - - - - - - - - - - - #edureka #edurekaAppium #automationTesting #testAutomation #automationtesting #testingandroidapplicationusingappium #mobileapptesting #appiumtesting #appiumtutorial What will you learn as a part of this course? This course is designed to help you build a solid foundation in the mobile testing domain. The course covers various fundamentals required for a thriving career as a Mobile Software Tester. The course covers the following topics: Why Mobile Testing? Different types of Mobile Platforms Challenges with Mobile Testing Different approaches to Mobile Testing How to use Appium? Automating the gestures and key events handling using Appium Automating the application management actions and synchronization Network management and performance testing using Appium Automating hybrid and native apps Why learn mobile testing using Appium? Mobile apps play a significant role in our daily lives. Apps are designed and developed for a variety of categories such as Art, Automobiles, Food and Health, Business, Finance, Entertainment, Education and a lot more, which comes in handy all the time. Mobile App Testing using Appium course provides various solutions to test automation and validate the overall functioning of the apps. Who should go for this training? The course is designed for all those who want to perform/learn about Mobile App Testing: Developers aspiring to be a ‘Mobile Test Automation engineer' Manual Testers Performance Test engineers Software Test engineers What are the pre-requisites of this course? Basic understanding of manual QA Process Prior programming experience is desired (JAVA is preferred) Experience in an integrated development environment (IDE) (latest version of Eclipse preferred) To help you brush up these skills, you will get the Java Essentials self-paced course as a complimentary. Please write back to us at sales@edureka.co or call us at IND: 9606058406 / US: 18338555775 (toll-free) for more information.

detail
{'title': 'Testing Android Applications With Appium | Appium Tutorial For Mobile Testing | Edureka', 'heatmap': [{'end': 675.66, 'start': 654.116, 'weight': 0.771}, {'end': 835.599, 'start': 805.42, 'weight': 0.877}, {'end': 1236.208, 'start': 1151.491, 'weight': 0.731}], 'summary': 'Tutorial covers an introduction to appium, setup process for appium and android studio, testing of calculator app using appium, appium inspector overview, setting up automation testing with appium in java, and appium test script setup, emphasizing on efficient process setup, setting desired capabilities, and automating test cases for android applications.', 'chapters': [{'end': 509.564, 'segs': [{'end': 98.954, 'src': 'embed', 'start': 72.311, 'weight': 0, 'content': [{'end': 76.374, 'text': 'It is used for automation test cases for native hybrid and web applications.', 'start': 72.311, 'duration': 4.063}, {'end': 83.419, 'text': 'The tool has a major focus on both Android and iOS apps and was only restricted to the mobile application testing domain.', 'start': 76.914, 'duration': 6.505}, {'end': 90.505, 'text': 'Recently, a few updates back, Appium also announced that they will support the testing of desktop applications for Windows.', 'start': 83.94, 'duration': 6.565}, {'end': 94.048, 'text': 'Appium is developed and maintained by Sauce Labs.', 'start': 91.264, 'duration': 2.784}, {'end': 98.954, 'text': 'currently, Appium 1.12 is being distributed by Appium.io.', 'start': 94.048, 'duration': 4.906}], 'summary': 'Appium is a tool for testing mobile apps; now supports testing windows desktop applications.', 'duration': 26.643, 'max_score': 72.311, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw72311.jpg'}, {'end': 193.463, 'src': 'embed', 'start': 161.742, 'weight': 2, 'content': [{'end': 166.787, 'text': 'First of all, Appium runs on both Windows and Mac, and it is also cross-platform,', 'start': 161.742, 'duration': 5.045}, {'end': 175.676, 'text': 'in the sense that we can test applications that run on both Android and iOS, and now even the desktop apps that run on Windows.', 'start': 166.787, 'duration': 8.889}, {'end': 179.137, 'text': 'So it is in all true senses cross-platform.', 'start': 176.576, 'duration': 2.561}, {'end': 182.358, 'text': 'Above that, it works on the JSON via protocol.', 'start': 179.417, 'duration': 2.941}, {'end': 186.36, 'text': 'Also, as a testing app, it has the no recompilation feature.', 'start': 182.378, 'duration': 3.982}, {'end': 193.463, 'text': 'Most testing apps like Robotium, for example, needs you to recompile your app every time you make a small change and you try to test it.', 'start': 186.9, 'duration': 6.563}], 'summary': 'Appium is a cross-platform testing tool that supports android, ios, and windows apps, using json protocol and no recompilation feature.', 'duration': 31.721, 'max_score': 161.742, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw161742.jpg'}, {'end': 334.881, 'src': 'embed', 'start': 291.991, 'weight': 3, 'content': [{'end': 296.575, 'text': "Above that it's important to ensure that application should not result into any failures,", 'start': 291.991, 'duration': 4.584}, {'end': 303.221, 'text': 'because it can be very expensive in the future or in later stages of development to actually mitigate critical bugs.', 'start': 296.575, 'duration': 6.646}, {'end': 311.808, 'text': 'So testing is necessary in order to identify these bugs at an early stage and so that you can work around these bugs in a practical manner.', 'start': 303.841, 'duration': 7.967}, {'end': 314.051, 'text': 'without spending a lot of money, of course.', 'start': 312.409, 'duration': 1.642}, {'end': 322.382, 'text': 'So testing is necessary in order to provide the facilities to the customer, like the delivery of high quality product or software application,', 'start': 314.151, 'duration': 8.231}, {'end': 327.809, 'text': 'which requires low maintenance cost and hence results in more accurate, consistent and reliable results.', 'start': 322.382, 'duration': 5.427}, {'end': 332.199, 'text': "Okay, so that was all about the theoretical part for today's video.", 'start': 328.516, 'duration': 3.683}, {'end': 334.881, 'text': "Now let's go ahead and set things up.", 'start': 332.779, 'duration': 2.102}], 'summary': 'Testing is necessary to identify and mitigate critical bugs early, ensuring high-quality products and low maintenance costs.', 'duration': 42.89, 'max_score': 291.991, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw291991.jpg'}, {'end': 471.845, 'src': 'embed', 'start': 427.381, 'weight': 5, 'content': [{'end': 433.207, 'text': 'you can go ahead and check out some tutorials that will actually help you set up the environment variables and whatnot.', 'start': 427.381, 'duration': 5.826}, {'end': 436.203, 'text': 'okay, so that was about android studio.', 'start': 433.82, 'duration': 2.383}, {'end': 440.809, 'text': 'the next thing that we will be needing is an ide so that we can write our test script.', 'start': 436.203, 'duration': 4.606}, {'end': 447.959, 'text': "so, since i'm going to be using java to write my test script, the best ide that we can possibly get for ourselves is today intel j.", 'start': 440.809, 'duration': 7.15}, {'end': 450.952, 'text': "So let's head over to IntelliJ.", 'start': 448.951, 'duration': 2.001}, {'end': 458.375, 'text': 'So to download IntelliJ, just Google IntelliJ and that will bring up the IntelliJ website.', 'start': 451.152, 'duration': 7.223}, {'end': 465.018, 'text': 'So out here you can go ahead and click on the download button and this will get you to the download page.', 'start': 458.815, 'duration': 6.203}, {'end': 469.22, 'text': 'Now you will see two versions out here, the ultimate version and this is for only enterprises.', 'start': 465.098, 'duration': 4.122}, {'end': 471.845, 'text': 'and this is the community version.', 'start': 470.243, 'duration': 1.602}], 'summary': 'Get intellij ide for java test script writing.', 'duration': 44.464, 'max_score': 427.381, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw427381.jpg'}], 'start': 11.581, 'title': 'Appium automation testing and android studio setup', 'summary': 'Provides an introduction to appium, including its cross-platform capabilities, json wire protocol, and support for testing on physical devices and simulators. it also covers the process of setting up android studio and intellij for writing test scripts in java, highlighting the importance of the community version for free usage.', 'chapters': [{'end': 372.945, 'start': 11.581, 'title': 'Appium automation testing', 'summary': "Covers an introduction to appium, its features, and the necessities of testing in today's industry, emphasizing its cross-platform capabilities, json wire protocol, and support for testing on both physical devices and simulators and emulators.", 'duration': 361.364, 'highlights': ['Appium is a cross-platform automation testing tool that supports native, hybrid, and web applications for Android and iOS, and even desktop applications for Windows. Appium supports testing for various types of applications, including native, hybrid, and web applications, as well as desktop applications for Windows.', 'Appium is developed and maintained by Sauce Labs and distributed by Appium.io. Appium is developed and maintained by Sauce Labs and distributed by Appium.io, indicating the credible sources behind its development and distribution.', 'Appium is cross-platform, running on both Windows and Mac, and supports applications for both Android and iOS, as well as desktop apps for Windows. Appium is truly cross-platform, functioning on Windows and Mac, and capable of testing applications for Android, iOS, and Windows desktop.', 'Testing is essential for customer reliability, ensuring the quality of the product, effective performance of software applications, and cost-effective bug identification. Testing is crucial for ensuring customer reliability, product quality, software performance, and cost-effective bug identification.', 'Testing is important for customer satisfaction, confidence building, and delivering high-quality, low-maintenance products. Testing is vital for customer satisfaction, confidence building, and delivering high-quality, low-maintenance products.']}, {'end': 509.564, 'start': 373.265, 'title': 'Setting up android studio and intellij', 'summary': 'Explains the process of downloading android studio and intellij to set up an android emulator and ide for writing test scripts in java, emphasizing the importance of the community version for free usage.', 'duration': 136.299, 'highlights': ['The chapter explains the process of downloading Android Studio and IntelliJ to set up an Android emulator and IDE for writing test scripts in Java. ', 'Emphasizes the importance of the community version of IntelliJ for free usage, recommending it for those looking for a free subscription. ']}], 'duration': 497.983, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw11581.jpg', 'highlights': ['Appium is a cross-platform automation testing tool for Android, iOS, and Windows.', 'Appium is developed and maintained by credible sources like Sauce Labs and Appium.io.', 'Appium is truly cross-platform, functioning on Windows and Mac, and capable of testing applications for Android, iOS, and Windows desktop.', 'Testing is crucial for ensuring customer reliability, product quality, software performance, and cost-effective bug identification.', 'Testing is vital for customer satisfaction, confidence building, and delivering high-quality, low-maintenance products.', 'The chapter explains the process of setting up Android Studio and IntelliJ for writing test scripts in Java.', 'Emphasizes the importance of the community version of IntelliJ for free usage.']}, {'end': 750.923, 'segs': [{'end': 566.274, 'src': 'embed', 'start': 532.231, 'weight': 0, 'content': [{'end': 534.432, 'text': 'and click on download appium out here.', 'start': 532.231, 'duration': 2.201}, {'end': 537.774, 'text': 'now this will take you to the github page of appium and, as you guys can see,', 'start': 534.432, 'duration': 3.342}, {'end': 547.86, 'text': 'the latest release is 1.12.0 and you can go down and scroll out here and you can install it on a mac by just downloading the dmg file.', 'start': 537.774, 'duration': 10.086}, {'end': 552.382, 'text': "and since i'm going to be running windows, i'm going to download the exe file now.", 'start': 547.86, 'duration': 4.522}, {'end': 558.886, 'text': 'i already have this downloaded, but all you have to do is click on this link and install the software, and that will be all.', 'start': 552.382, 'duration': 6.504}, {'end': 566.274, 'text': "so let me just open appium for you guys, let's just open this.", 'start': 558.886, 'duration': 7.388}], 'summary': 'Download appium 1.12.0 from github, install on windows with exe file.', 'duration': 34.043, 'max_score': 532.231, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw532231.jpg'}, {'end': 675.66, 'src': 'heatmap', 'start': 620.216, 'weight': 1, 'content': [{'end': 627.641, 'text': 'So we are going to be using Android Studio just for the emulator purposes because I find the emulator to be quite efficient.', 'start': 620.216, 'duration': 7.425}, {'end': 631.824, 'text': 'You can use some other emulator if you want and that is all up to you.', 'start': 628.421, 'duration': 3.403}, {'end': 633.025, 'text': "It doesn't really matter.", 'start': 632.064, 'duration': 0.961}, {'end': 636.407, 'text': "So let's just wait for Android Studio to pop up.", 'start': 633.045, 'duration': 3.362}, {'end': 656.918, 'text': 'Okay, so opening up Android Studio should give you this tip box.', 'start': 654.116, 'duration': 2.802}, {'end': 659.8, 'text': 'I suggest you can keep this tip box.', 'start': 657.218, 'duration': 2.582}, {'end': 660.68, 'text': "I don't really like it.", 'start': 659.86, 'duration': 0.82}, {'end': 662.422, 'text': "So that's going to close that.", 'start': 661.341, 'duration': 1.081}, {'end': 667.425, 'text': 'So all you have to do to open up your emulator is go into Tools and go into AVD Manager.', 'start': 662.722, 'duration': 4.703}, {'end': 675.66, 'text': "Now, I have already set it up out here and, as you guys can see, I have a Pixel 2 emulator going on, but if you don't have one,", 'start': 668.453, 'duration': 7.207}], 'summary': 'Using android studio for emulator purposes, accessing avd manager for setup.', 'duration': 39.584, 'max_score': 620.216, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw620216.jpg'}, {'end': 727.979, 'src': 'embed', 'start': 694.178, 'weight': 2, 'content': [{'end': 700.106, 'text': 'Our phone is going to be running Android 9.0, which is basically API 26, if I remember.', 'start': 694.178, 'duration': 5.928}, {'end': 703.991, 'text': "So let's go ahead and boot up our emulator.", 'start': 700.707, 'duration': 3.284}, {'end': 707.716, 'text': 'Okay, our emulator is booting up.', 'start': 706.234, 'duration': 1.482}, {'end': 722.698, 'text': 'Okay, as you guys can see our emulator has boot up and it looks exactly like an Android device as it should.', 'start': 716.457, 'duration': 6.241}, {'end': 727.979, 'text': 'You have your soft touch keys out here which is the multitasking key, the home key and the back key.', 'start': 723.258, 'duration': 4.721}], 'summary': 'Phone running android 9.0 (api 26) emulator boots up successfully.', 'duration': 33.801, 'max_score': 694.178, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw694178.jpg'}], 'start': 509.584, 'title': 'Appium setup and android automation', 'summary': 'Demonstrates setting up appium 1.12.0 on mac and windows, and automating test cases using android studio emulator, emphasizing efficiency and process setup through avd manager. it also covers emulating various android devices, focusing on android 9.0 phone and testing the calculator application.', 'chapters': [{'end': 601.415, 'start': 509.584, 'title': 'Setting up appium for automation testing', 'summary': 'Demonstrates setting up appium for automation testing, including downloading and installing the latest release, 1.12.0, on mac and windows, and running the server with advanced options.', 'duration': 91.831, 'highlights': ['The latest release of Appium is 1.12.0, available for download on appium.io, which includes installation files for Mac (dmg) and Windows (exe).', 'The process of downloading and installing Appium is straightforward, requiring users to simply click on the download link and install the software.', 'Appium can be resource heavy, impacting performance when running concurrently with an IDE and emulator.']}, {'end': 675.66, 'start': 601.415, 'title': 'Automating test cases with android studio emulator', 'summary': 'Discusses how to use android studio emulator to automate test cases, emphasizing the efficiency of the emulator and the process of setting it up through avd manager.', 'duration': 74.245, 'highlights': ['The process of setting up the Android Studio emulator through AVD Manager is explained, with emphasis on the efficiency of the emulator.', 'The speaker mentions using Android Studio for emulator purposes and highlights the flexibility of using other emulators if preferred.', 'The chapter starts by focusing on automating test cases using a particular tool within Android Studio.']}, {'end': 750.923, 'start': 675.66, 'title': 'Emulating android devices', 'summary': 'Demonstrates how to emulate various android devices using the emulator, focusing on emulating an android 9.0 phone and testing the calculator application.', 'duration': 75.263, 'highlights': ['The emulator offers a variety of devices to emulate, including Wear OSs, TVs, and tablets, providing flexibility for testing different platforms and form factors.', 'The chapter focuses on emulating an Android 9.0 phone, which corresponds to API 26, showcasing the specific version and API level being used for the demonstration.', "The emulator accurately replicates an Android device's interface, including soft touch keys, a notification bar, and pre-installed basic applications like the calculator, ensuring a realistic testing environment."]}], 'duration': 241.339, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw509584.jpg', 'highlights': ['Appium 1.12.0 is available for Mac and Windows, with straightforward installation process.', 'Setting up Android Studio emulator through AVD Manager is efficient and flexible.', 'Emulator offers variety of devices to emulate, including Android 9.0 phone with API 26.']}, {'end': 1211.561, 'segs': [{'end': 840.406, 'src': 'heatmap', 'start': 805.42, 'weight': 0, 'content': [{'end': 811.767, 'text': 'and this is a Appium RESTful HTTP interface listener that has started on this particular address.', 'start': 805.42, 'duration': 6.347}, {'end': 816.552, 'text': 'Okay, now what we want to do is firstly start up an inspector session.', 'start': 812.187, 'duration': 4.365}, {'end': 820.134, 'text': 'So this is the Appium inspector that I was talking about.', 'start': 817.313, 'duration': 2.821}, {'end': 830.677, 'text': 'Now, the Appium inspector is basically a place that you can inspect an application and go through the element hierarchy so that you can test each of the elements.', 'start': 820.414, 'duration': 10.263}, {'end': 835.599, 'text': 'So without explaining much let me just give you guys a quick demonstration on how this works.', 'start': 831.518, 'duration': 4.081}, {'end': 840.406, 'text': 'So the first thing that you have to do is tell Appium what you are trying to test.', 'start': 836.445, 'duration': 3.961}], 'summary': 'Appium restful http interface listener started, demonstrating inspector session for testing elements.', 'duration': 89.483, 'max_score': 805.42, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw805420.jpg'}, {'end': 952.897, 'src': 'embed', 'start': 904.953, 'weight': 4, 'content': [{'end': 908.216, 'text': "So that's exactly how Appium is going to take in this information.", 'start': 904.953, 'duration': 3.263}, {'end': 912.384, 'text': 'Now another thing that we have to tell Appium is the platform name.', 'start': 909.002, 'duration': 3.382}, {'end': 918.887, 'text': "So the platform name is basically telling Appium if it's an Android device or an iOS device.", 'start': 912.404, 'duration': 6.483}, {'end': 923.649, 'text': "Above that, we also have to tell Appium about the application that we're trying to test.", 'start': 919.127, 'duration': 4.522}, {'end': 930.093, 'text': 'So out here, what exactly you have to do is give Appium the app package name and the activity name.', 'start': 924.03, 'duration': 6.063}, {'end': 934.615, 'text': "So first of all, I'll have to give app package name.", 'start': 930.293, 'duration': 4.322}, {'end': 938.643, 'text': "So that's how you type it in and find out the app package.", 'start': 935.56, 'duration': 3.083}, {'end': 939.984, 'text': "It's pretty simple actually.", 'start': 938.683, 'duration': 1.301}, {'end': 944.388, 'text': 'All you have to do is start up a log file.', 'start': 940.545, 'duration': 3.843}, {'end': 949.653, 'text': 'So we start up this log file by saying adb logcat.', 'start': 945.029, 'duration': 4.624}, {'end': 952.897, 'text': 'So this will get up a log file going on right out here.', 'start': 950.216, 'duration': 2.681}], 'summary': 'Appium needs platform, app package, and activity names for testing android or ios devices.', 'duration': 47.944, 'max_score': 904.953, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw904953.jpg'}, {'end': 1211.561, 'src': 'embed', 'start': 1179.655, 'weight': 7, 'content': [{'end': 1187.062, 'text': 'so no reset means every time you go ahead and test your application in a new way, it will not reset the application.', 'start': 1179.655, 'duration': 7.407}, {'end': 1192.586, 'text': 'okay. so all you have to do now is go ahead and say start session.', 'start': 1187.062, 'duration': 5.524}, {'end': 1196.53, 'text': 'so let me go ahead and quit this application.', 'start': 1192.586, 'duration': 3.944}, {'end': 1206.956, 'text': 'Okay, now what you will see is the calculator will get invoked again by Appium.', 'start': 1201.169, 'duration': 5.787}, {'end': 1208.117, 'text': 'So there you go.', 'start': 1206.976, 'duration': 1.141}, {'end': 1211.561, 'text': "You'll see the calculator pop up, which is not done by me.", 'start': 1208.197, 'duration': 3.364}], 'summary': 'Appium does not reset application, starts new session, invokes calculator.', 'duration': 31.906, 'max_score': 1179.655, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw1179655.jpg'}], 'start': 750.923, 'title': 'Testing calculator app with appium', 'summary': 'Discusses testing a calculator app using appium, covering setting up the server, accessing appium inspector, and initiating an inspector session. it also explains setting desired capabilities in appium for starting a testing session, specifying device name, platform, app package and activity names, and boolean fields.', 'chapters': [{'end': 840.406, 'start': 750.923, 'title': 'Testing calculator app with appium', 'summary': 'Discusses the process of testing a calculator app using appium, including setting up the server, accessing the appium inspector, and initiating an inspector session.', 'duration': 89.483, 'highlights': ['The Appium inspector allows users to inspect an application and navigate through the element hierarchy for testing purposes.', 'The server runs on the local host at 0.0.0.0 on port 4723, and it can also be accessed at 127.0.0.1:4723.', 'The chapter outlines the process of setting up the Appium server and starting an inspector session for testing the calculator app.', 'Appium version 1.1.2.1 is used, and it provides a RESTful HTTP interface listener for testing the application.']}, {'end': 1211.561, 'start': 841.026, 'title': 'Appium desired capabilities', 'summary': 'Explains how to set desired capabilities in appium, including specifying the device name and platform, finding app package and activity names, and setting a boolean field, with the goal of starting a session for testing a calculator app.', 'duration': 370.535, 'highlights': ["You have to tell the tool the device name that you are doing your testing on, such as emulator-5554, and the platform name, whether it's an Android or an iOS device. Specify the device name and platform name as desired capabilities, such as emulator-5554 for the device name, and Android or iOS for the platform name.", 'Give Appium the app package name and the activity name, which can be found by starting up a log file and searching for the package and activity names in the logs. Obtain the app package and activity names by starting a log file, launching the application on the emulator, and searching for the package and activity names in the logs.', "Set the boolean field 'noReset' to true to ensure the application does not reset when testing in a new session. Set the 'noReset' boolean field to true to prevent the application from resetting in a new testing session."]}], 'duration': 460.638, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw750923.jpg', 'highlights': ['The Appium inspector allows users to inspect an application and navigate through the element hierarchy for testing purposes.', 'The server runs on the local host at 0.0.0.0 on port 4723, and it can also be accessed at 127.0.0.1:4723.', 'The chapter outlines the process of setting up the Appium server and starting an inspector session for testing the calculator app.', 'Appium version 1.1.2.1 is used, and it provides a RESTful HTTP interface listener for testing the application.', "You have to tell the tool the device name that you are doing your testing on, such as emulator-5554, and the platform name, whether it's an Android or an iOS device.", 'Specify the device name and platform name as desired capabilities, such as emulator-5554 for the device name, and Android or iOS for the platform name.', 'Give Appium the app package name and the activity name, which can be found by starting up a log file and searching for the package and activity names in the logs.', "Set the boolean field 'noReset' to true to ensure the application does not reset when testing in a new session."]}, {'end': 1514.497, 'segs': [{'end': 1271.938, 'src': 'embed', 'start': 1211.621, 'weight': 0, 'content': [{'end': 1212.742, 'text': 'This was done by Appium.', 'start': 1211.621, 'duration': 1.121}, {'end': 1216.467, 'text': 'Now this screen that you see out here is the Appium inspector.', 'start': 1213.343, 'duration': 3.124}, {'end': 1222.923, 'text': 'okay. so let me just give you guys a quick run through of all the elements of this part of the screen.', 'start': 1217.421, 'duration': 5.502}, {'end': 1227.365, 'text': 'so what you see out here is an actual screenshot of your emulator.', 'start': 1222.923, 'duration': 4.442}, {'end': 1230.366, 'text': 'now this could be an actual screenshot of your device too.', 'start': 1227.365, 'duration': 3.001}, {'end': 1236.208, 'text': 'the screenshot of your device does not have a live update, so suppose you go ahead and drag this out.', 'start': 1230.366, 'duration': 5.842}, {'end': 1239.009, 'text': 'it will not be shown out here.', 'start': 1236.208, 'duration': 2.801}, {'end': 1245.992, 'text': 'if you want that to be shown out here, you can go ahead and press the refresh button out here and you will see that the screenshot gets updated.', 'start': 1239.009, 'duration': 6.983}, {'end': 1252.593, 'text': 'Now on the screenshot, you have this yellow little box which shows how each element is placed.', 'start': 1246.952, 'duration': 5.641}, {'end': 1258.235, 'text': 'So you can select any element and this will show you a bunch of details about the element.', 'start': 1253.134, 'duration': 5.101}, {'end': 1261.235, 'text': 'This will tell you how the element is known in the application.', 'start': 1258.295, 'duration': 2.94}, {'end': 1262.916, 'text': 'So this is the ID it is known by.', 'start': 1261.295, 'duration': 1.621}, {'end': 1265.176, 'text': 'This is the X part is known by.', 'start': 1262.936, 'duration': 2.24}, {'end': 1267.297, 'text': 'This is the element ID, the index.', 'start': 1265.196, 'duration': 2.101}, {'end': 1271.938, 'text': 'and text is basically the field that has in it.', 'start': 1267.917, 'duration': 4.021}], 'summary': 'Appium inspector displays screenshot of emulator/device with element details and live update option.', 'duration': 60.317, 'max_score': 1211.621, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw1211621.jpg'}, {'end': 1320.343, 'src': 'embed', 'start': 1292.175, 'weight': 1, 'content': [{'end': 1298.12, 'text': "so you can see that there's an x coordinate and a y coordinate and we can do that and we can test for swipes.", 'start': 1292.175, 'duration': 5.945}, {'end': 1305.806, 'text': "now this doesn't act exactly too much at this moment, but if you were to go ahead and swipe like this, let's see.", 'start': 1298.12, 'duration': 7.686}, {'end': 1312.271, 'text': 'so, uh, swiping from here to here should actually close this thing.', 'start': 1305.806, 'duration': 6.465}, {'end': 1317.06, 'text': "Okay, so that's how you test for swipe gestures.", 'start': 1314.378, 'duration': 2.682}, {'end': 1320.343, 'text': 'But for now, we also have tap by coordinates.', 'start': 1317.541, 'duration': 2.802}], 'summary': 'Testing for swipe gestures and tap by coordinates.', 'duration': 28.168, 'max_score': 1292.175, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw1292175.jpg'}, {'end': 1391.65, 'src': 'embed', 'start': 1368.061, 'weight': 2, 'content': [{'end': 1374.708, 'text': 'so suppose you wanted to test an arithmetic operation on your calculator to see whether it was working properly.', 'start': 1368.061, 'duration': 6.647}, {'end': 1377.33, 'text': 'so there are four arithmetic operations.', 'start': 1374.708, 'duration': 2.622}, {'end': 1380.774, 'text': "and uh, firstly, let's try and test out addition.", 'start': 1377.33, 'duration': 3.444}, {'end': 1385.839, 'text': 'so what we want to do is go into the select element part now out here.', 'start': 1380.774, 'duration': 5.065}, {'end': 1388.862, 'text': "um, let's do some basic arithmetic operations.", 'start': 1385.839, 'duration': 3.023}, {'end': 1391.65, 'text': "so what we want to do is, let's say 20.", 'start': 1388.862, 'duration': 2.788}], 'summary': 'Testing arithmetic operations on a calculator, starting with addition and using the number 20.', 'duration': 23.589, 'max_score': 1368.061, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw1368061.jpg'}], 'start': 1211.621, 'title': 'Appium inspector overview and element selection', 'summary': 'Provides an overview of the appium inspector, highlighting live screenshot updates, and element placement visualization, and explains using the appium inspector for element selection, swipe and tap gestures by coordinates, and recording inspections to generate test scripts in java, with a focus on testing arithmetic operations on a calculator app.', 'chapters': [{'end': 1252.593, 'start': 1211.621, 'title': 'Appium inspector overview', 'summary': 'Provides an overview of the appium inspector, including the functionality of live screenshot updates and element placement visualization with a yellow box.', 'duration': 40.972, 'highlights': ['The Appium inspector provides a live screenshot of the emulator or a device, allowing for visualization of element placement and updates upon pressing the refresh button.', 'The live screenshot of the device does not have live updates, but can be manually refreshed to display changes.', 'The yellow box on the screenshot visually indicates the placement of each element.']}, {'end': 1514.497, 'start': 1253.134, 'title': 'Appium inspector: element selection and testing', 'summary': 'Explains how to use the appium inspector for element selection, swipe and tap gestures by coordinates, and recording inspections to generate test scripts in java, with a focus on testing arithmetic operations on a calculator app.', 'duration': 261.363, 'highlights': ['The Appium Inspector allows for element selection, providing details such as ID, X part, element ID, index, and class of the element. It provides comprehensive details about the selected element, including ID, X part, element ID, index, and class, aiding in precise element selection.', 'Demonstration of testing swipe gestures using coordinates and verifying tap functionality by tapping on elements, with real-time reflection on the emulator. The tutorial demonstrates testing swipe gestures and tap functionality by coordinates, reflecting real-time changes on the emulator, enhancing testing accuracy and efficiency.', 'Guidance on recording inspections and generating test scripts in Java, focusing on testing arithmetic operations on a calculator app. The chapter provides guidance on recording inspections and creating test scripts in Java, specifically focusing on testing arithmetic operations on a calculator app, demonstrating how to select elements, perform actions, and generate test scripts for accurate testing.']}], 'duration': 302.876, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw1211621.jpg', 'highlights': ['The Appium Inspector provides a live screenshot of the emulator or a device, allowing for visualization of element placement and updates upon pressing the refresh button.', 'Demonstration of testing swipe gestures using coordinates and verifying tap functionality by tapping on elements, with real-time reflection on the emulator.', 'Guidance on recording inspections and generating test scripts in Java, focusing on testing arithmetic operations on a calculator app.', 'The yellow box on the screenshot visually indicates the placement of each element.', 'The Appium Inspector allows for element selection, providing details such as ID, X part, element ID, index, and class of the element.', 'The live screenshot of the device does not have live updates, but can be manually refreshed to display changes.']}, {'end': 2110.933, 'segs': [{'end': 1541.026, 'src': 'embed', 'start': 1514.497, 'weight': 0, 'content': [{'end': 1528.736, 'text': "now what we want to do is we are going to copy this code and we are going to go into our ide out here and we're gonna go on our SRC folder and we're gonna go and say we need a new Java class.", 'start': 1514.497, 'duration': 14.239}, {'end': 1532.259, 'text': "So we're gonna name this class AutomationTesting.", 'start': 1529.376, 'duration': 2.883}, {'end': 1536.842, 'text': 'Okay, we are naming a class, I am sorry.', 'start': 1534.801, 'duration': 2.041}, {'end': 1538.304, 'text': "Let's call this Automation.", 'start': 1536.862, 'duration': 1.442}, {'end': 1541.026, 'text': 'So we have a class called Automation.', 'start': 1539.364, 'duration': 1.662}], 'summary': 'Creating a new java class named automation in the src folder.', 'duration': 26.529, 'max_score': 1514.497, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw1514497.jpg'}, {'end': 1618.853, 'src': 'embed', 'start': 1566.47, 'weight': 2, 'content': [{'end': 1573.178, 'text': 'So this means that those classes are actually not imported into our script that we are currently writing.', 'start': 1566.47, 'duration': 6.708}, {'end': 1576.421, 'text': 'So just click on mobile element, press alt and enter.', 'start': 1573.238, 'duration': 3.183}, {'end': 1579.084, 'text': 'So we want to press the left on and enter.', 'start': 1576.762, 'duration': 2.322}, {'end': 1581.427, 'text': 'So it says create class out here.', 'start': 1579.545, 'duration': 1.882}, {'end': 1588.315, 'text': 'uh, okay, another thing we have to do before we actually go ahead and start making our.', 'start': 1583.072, 'duration': 5.243}, {'end': 1592.577, 'text': 'so all you have to go ahead and do is hit alt and enter.', 'start': 1588.315, 'duration': 4.262}, {'end': 1595.038, 'text': 'okay, so it says create class, create num.', 'start': 1592.577, 'duration': 2.461}, {'end': 1603.502, 'text': 'okay, so there seems to be no option of import, and that is because we have not configured our project to actually work with Appium so to work.', 'start': 1595.038, 'duration': 8.464}, {'end': 1608.325, 'text': 'so for our project to work with Appium, we also go need to go ahead and make a few downloads.', 'start': 1603.502, 'duration': 4.823}, {'end': 1613.672, 'text': 'first of all, firstly, we need to go ahead and make a new file.', 'start': 1608.325, 'duration': 5.347}, {'end': 1618.853, 'text': 'so, if you see, this is kept in under this address.', 'start': 1613.672, 'duration': 5.181}], 'summary': 'The transcript discusses the process of configuring a project to work with appium and making necessary downloads.', 'duration': 52.383, 'max_score': 1566.47, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw1566470.jpg'}, {'end': 1700.452, 'src': 'embed', 'start': 1666.554, 'weight': 1, 'content': [{'end': 1668.535, 'text': 'so that goes and does it.', 'start': 1666.554, 'duration': 1.981}, {'end': 1671.476, 'text': 'so we have to create our library into the source folder.', 'start': 1668.535, 'duration': 2.941}, {'end': 1674.196, 'text': "so please don't make the mistake that i just did.", 'start': 1671.476, 'duration': 2.72}, {'end': 1679.978, 'text': 'now all you want to do is go ahead and open up your browser and perform a few downloads.', 'start': 1674.196, 'duration': 5.782}, {'end': 1683.139, 'text': 'the first download we need is our appium client libraries.', 'start': 1679.978, 'duration': 3.161}, {'end': 1691.902, 'text': 'so go ahead and go to appium.io and out here you have to go into the downloads section, which is just below the download button.', 'start': 1683.139, 'duration': 8.763}, {'end': 1700.452, 'text': 'out here, if you see, we have, um, all the language bindings and the client libraries, as you might call them.', 'start': 1694.108, 'duration': 6.344}], 'summary': 'Set up appium client libraries by downloading from appium.io and placing in source folder.', 'duration': 33.898, 'max_score': 1666.554, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw1666554.jpg'}, {'end': 1749.55, 'src': 'embed', 'start': 1723.779, 'weight': 6, 'content': [{'end': 1733.743, 'text': 'you want to download the standalone server from selenium, that is, the version 3.141, and download that you want to keep it.', 'start': 1723.779, 'duration': 9.964}, {'end': 1735.944, 'text': 'you also have to download the java file.', 'start': 1733.743, 'duration': 2.201}, {'end': 1741.567, 'text': 'so download that and we also need another thing.', 'start': 1735.944, 'duration': 5.623}, {'end': 1744.048, 'text': "okay, let's just go ahead and download it right now.", 'start': 1741.567, 'duration': 2.481}, {'end': 1746.929, 'text': "so there's a thing called lang3, which we'll be using.", 'start': 1744.048, 'duration': 2.881}, {'end': 1748.509, 'text': 'it is a java file.', 'start': 1746.929, 'duration': 1.58}, {'end': 1749.55, 'text': "it's a library, actually.", 'start': 1748.509, 'duration': 1.041}], 'summary': 'Download selenium standalone server (v3.141), java file, and lang3 library.', 'duration': 25.771, 'max_score': 1723.779, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw1723779.jpg'}, {'end': 1896.633, 'src': 'embed', 'start': 1870.071, 'weight': 3, 'content': [{'end': 1877.333, 'text': 'fine, now these are all the libraries that we will be adding to our application today so that we can test it out properly.', 'start': 1870.071, 'duration': 7.262}, {'end': 1886.446, 'text': 'okay, so to add these things to our application, go ahead and copy these, select them all, copy these, go back to our IDE,', 'start': 1877.333, 'duration': 9.113}, {'end': 1891.009, 'text': 'go into the libs folder right, click on it and just paste.', 'start': 1886.446, 'duration': 4.563}, {'end': 1896.633, 'text': "okay, now you'll see that this arrow pops up when you paste it and all our files have been successfully pasted.", 'start': 1891.009, 'duration': 5.624}], 'summary': 'Adding multiple libraries to the application in the libs folder.', 'duration': 26.562, 'max_score': 1870.071, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw1870071.jpg'}, {'end': 2047.065, 'src': 'embed', 'start': 2017.391, 'weight': 5, 'content': [{'end': 2026.037, 'text': 'so dc.set capability and we want to say is app activity.', 'start': 2017.391, 'duration': 8.646}, {'end': 2032.522, 'text': "let's see, i'll spell that right up activity and you want to give the value as dot calculator.", 'start': 2026.037, 'duration': 6.485}, {'end': 2035.817, 'text': 'Go ahead and copy that and paste this out here.', 'start': 2033.715, 'duration': 2.102}, {'end': 2038.519, 'text': 'So this sets up our desired capabilities.', 'start': 2036.337, 'duration': 2.182}, {'end': 2045.084, 'text': 'Now you also need to go ahead and tell the program where your Appium server is set up.', 'start': 2038.879, 'duration': 6.205}, {'end': 2047.065, 'text': 'For that we need to set up our driver.', 'start': 2045.144, 'duration': 1.921}], 'summary': 'Setting up desired capabilities and appium server for the program.', 'duration': 29.674, 'max_score': 2017.391, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw2017391.jpg'}], 'start': 1514.497, 'title': 'Setting up automation testing with appium in java', 'summary': 'Covers setting up a new java class and appium automation libraries for automation testing, including importing necessary classes, configuring the project, downloading necessary files, organizing them into a folder, and setting up desired capabilities and driver for automation.', 'chapters': [{'end': 1639.461, 'start': 1514.497, 'title': 'Setting up automation testing in java', 'summary': 'Discusses setting up a new java class for automation testing, including importing necessary classes and configuring the project to work with appium, while also mentioning the need for making a few downloads and locating specific addresses.', 'duration': 124.964, 'highlights': ['To set up automation testing in Java, start by creating a new Java class named Automation and then import the necessary classes like mobile element and driver.', 'Configuring the project to work with Appium requires making a few downloads and locating specific addresses, such as under users, aria paul, and ideal projects.', 'When setting up automation testing, ensure to import necessary classes like mobile element and driver to avoid errors in the script.']}, {'end': 2110.933, 'start': 1639.941, 'title': 'Setting up appium automation libraries', 'summary': 'Focuses on setting up appium automation libraries by downloading necessary files, organizing them into a folder, extracting and adding the libraries to the ide, and setting up desired capabilities and driver for automation.', 'duration': 470.992, 'highlights': ['The chapter emphasizes the process of setting up Appium automation libraries by downloading necessary files, organizing them into a folder, and adding the libraries to the IDE.', 'It is mentioned to download the Appium client libraries from appium.io and the standalone server from the Selenium HQ website, along with a library called lang3.', 'The detailed steps include extracting the downloaded files, organizing them into a folder, and adding them to the IDE as global libraries for proper testing of the application.', 'The process also involves setting up desired capabilities and driver for automation, including setting up capabilities like device name, platform name, app package, and app activity, and specifying the Appium server URL and port number.']}], 'duration': 596.436, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw1514497.jpg', 'highlights': ['To set up automation testing in Java, start by creating a new Java class named Automation and then import the necessary classes like mobile element and driver.', 'The chapter emphasizes the process of setting up Appium automation libraries by downloading necessary files, organizing them into a folder, and adding the libraries to the IDE.', 'Configuring the project to work with Appium requires making a few downloads and locating specific addresses, such as under users, aria paul, and ideal projects.', 'The detailed steps include extracting the downloaded files, organizing them into a folder, and adding them to the IDE as global libraries for proper testing of the application.', 'When setting up automation testing, ensure to import necessary classes like mobile element and driver to avoid errors in the script.', 'The process also involves setting up desired capabilities and driver for automation, including setting up capabilities like device name, platform name, app package, and app activity, and specifying the Appium server URL and port number.', 'It is mentioned to download the Appium client libraries from appium.io and the standalone server from the Selenium HQ website, along with a library called lang3.']}, {'end': 2610.352, 'segs': [{'end': 2214.133, 'src': 'embed', 'start': 2136.064, 'weight': 0, 'content': [{'end': 2139.746, 'text': "again, you have a underline around it, so it's an unhandled exception.", 'start': 2136.064, 'duration': 3.682}, {'end': 2142.508, 'text': 'you can go ahead and add that exception too, right?', 'start': 2139.746, 'duration': 2.762}, {'end': 2151.545, 'text': 'So if you see, the IDE has gone ahead and imported all the drivers and elements and the packages that we need for this particular test.', 'start': 2143.237, 'duration': 8.308}, {'end': 2156.25, 'text': "So go ahead and replace the driver keyboard with the driver object that you've made.", 'start': 2152.066, 'duration': 4.184}, {'end': 2164.098, 'text': 'So AD, AD, AD, AD, and AD out here.', 'start': 2156.731, 'duration': 7.367}, {'end': 2173.683, 'text': 'Okay Since we have set up only the part of the script that is going to go ahead and bring us to this result part.', 'start': 2164.959, 'duration': 8.724}, {'end': 2177.646, 'text': 'Now, out here there is no way to actually assert this result.', 'start': 2173.863, 'duration': 3.783}, {'end': 2180.428, 'text': 'So to assert the result, we need an assert function.', 'start': 2177.706, 'duration': 2.722}, {'end': 2184.291, 'text': 'So to do that, what you need to do is go ahead and include an assert function.', 'start': 2180.848, 'duration': 3.443}, {'end': 2190.836, 'text': 'So you say assert.assert equals.', 'start': 2184.371, 'duration': 6.465}, {'end': 2200.784, 'text': 'we want to say ad.find element by ID, and the ID of the element is basically you get that ID of the element from the Appium inspectors,', 'start': 2190.836, 'duration': 9.948}, {'end': 2204.206, 'text': 'that is com.android.calculator and results.', 'start': 2200.784, 'duration': 3.422}, {'end': 2206.108, 'text': 'So let me just go ahead and paste that here.', 'start': 2204.407, 'duration': 1.701}, {'end': 2209.77, 'text': 'And you also want to get the text from this part of the field.', 'start': 2206.848, 'duration': 2.922}, {'end': 2214.133, 'text': 'So you want to go ahead and include the get text function ahead of this.', 'start': 2210.331, 'duration': 3.802}], 'summary': 'Imported all drivers and elements, set up assert function for testing.', 'duration': 78.069, 'max_score': 2136.064, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw2136064.jpg'}, {'end': 2265.209, 'src': 'embed', 'start': 2236.149, 'weight': 5, 'content': [{'end': 2238.951, 'text': 'So if I go ahead and press Alt Enter it says create class.', 'start': 2236.149, 'duration': 2.802}, {'end': 2241.472, 'text': 'So this means we need a new package out here.', 'start': 2239.371, 'duration': 2.101}, {'end': 2244.614, 'text': 'Now to get this new package we need to open up our project structure.', 'start': 2241.933, 'duration': 2.681}, {'end': 2249.177, 'text': 'So press Shift twice and just search for project structure.', 'start': 2245.075, 'duration': 4.102}, {'end': 2252.521, 'text': 'okay, out here, go into libraries.', 'start': 2250.22, 'duration': 2.301}, {'end': 2260.266, 'text': 'uh, go ahead the plus button, out here, go from maven and all all we need to search for is a test ng library.', 'start': 2252.521, 'duration': 7.745}, {'end': 2265.209, 'text': 'so go ahead and search for org.test ng.', 'start': 2260.266, 'duration': 4.943}], 'summary': 'Creating a new package and adding testng library in project structure.', 'duration': 29.06, 'max_score': 2236.149, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw2236149.jpg'}, {'end': 2595.113, 'src': 'embed', 'start': 2550.199, 'weight': 6, 'content': [{'end': 2555, 'text': 'Other than that when we put in 70 we got a bunch of errors because that is not what we were expecting.', 'start': 2550.199, 'duration': 4.801}, {'end': 2562.542, 'text': 'Above that when we put in the correct value and that we are expecting our test case has actually passed and this was all done by automating it.', 'start': 2555.44, 'duration': 7.102}, {'end': 2571.264, 'text': 'Now, the beauty of this thing is that you can run the same test case or just test script on multiple devices and actually test your calculator for,', 'start': 2562.742, 'duration': 8.522}, {'end': 2577.849, 'text': "let's say, android 9 through android 5 on multiple devices, and this will save you a bunch of time.", 'start': 2571.264, 'duration': 6.585}, {'end': 2584.951, 'text': 'so that is the lucrative options that you get with um automation testing.', 'start': 2577.849, 'duration': 7.102}, {'end': 2590.052, 'text': 'so this brings us to the end of this android application testing video with appium.', 'start': 2584.951, 'duration': 5.101}, {'end': 2595.113, 'text': 'so i hope you guys learned something new today and you had fun automating your test cases.', 'start': 2590.052, 'duration': 5.061}], 'summary': 'Automating test cases saves time, allowing testing on multiple devices, android versions, and achieving successful results.', 'duration': 44.914, 'max_score': 2550.199, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw2550199.jpg'}], 'start': 2111.453, 'title': 'Appium test script setup', 'summary': 'Discusses setting up an appium test script, importing classes, handling exceptions, replacing driver keyboard, setting assert function, and utilizing find element and get text functions for test assertion. it also demonstrates the process of setting up a new package, importing testng library, and automating a test case using appium, resulting in a successful test case and the ability to run the same test script on multiple devices, saving time, and providing lucrative options for automation testing.', 'chapters': [{'end': 2236.109, 'start': 2111.453, 'title': 'Appium test script setup', 'summary': 'Discusses setting up an appium test script, importing classes, handling exceptions, replacing driver keyboard, setting assert function, and utilizing find element and get text functions for test assertion.', 'duration': 124.656, 'highlights': ['The IDE imports all the drivers, elements, and packages needed for the test.', 'Setting up the assert function for test result assertion is required, using assert.assertEquals.', 'Handling unhandled exceptions by adding the exception and importing necessary classes and packages.', 'Replacing the driver keyboard with the driver object is an important step in the setup.', 'Using find element by ID and get text functions to assert the expected result of the test.']}, {'end': 2610.352, 'start': 2236.149, 'title': 'Automating android app testing with appium', 'summary': 'Demonstrates the process of setting up a new package, importing testng library, and automating a test case using appium, resulting in a successful test case and the ability to run the same test script on multiple devices, saving time, and providing lucrative options for automation testing.', 'duration': 374.203, 'highlights': ['Setting up a new package and importing TestNG library The process involves accessing project structure, adding the TestNG library, and importing org.testng 6.14.3, enabling the automation of test cases.', 'Automating a test case using Appium The demonstration showcases the automation of a test case involving the launching of a calculator, pressing buttons, and ensuring the successful execution without errors, providing a practical example of automation testing.', 'Ability to run the same test script on multiple devices The flexibility of running the same test script on multiple devices, such as Android 9 through Android 5, is highlighted as a time-saving and lucrative option for automation testing.']}], 'duration': 498.899, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/i1tQ1pjEFWw/pics/i1tQ1pjEFWw2111453.jpg', 'highlights': ['Setting up the assert function for test result assertion is required, using assert.assertEquals.', 'Replacing the driver keyboard with the driver object is an important step in the setup.', 'Using find element by ID and get text functions to assert the expected result of the test.', 'Handling unhandled exceptions by adding the exception and importing necessary classes and packages.', 'The IDE imports all the drivers, elements, and packages needed for the test.', 'Setting up a new package and importing TestNG library The process involves accessing project structure, adding the TestNG library, and importing org.testng 6.14.3, enabling the automation of test cases.', 'Ability to run the same test script on multiple devices The flexibility of running the same test script on multiple devices, such as Android 9 through Android 5, is highlighted as a time-saving and lucrative option for automation testing.', 'Automating a test case using Appium The demonstration showcases the automation of a test case involving the launching of a calculator, pressing buttons, and ensuring the successful execution without errors, providing a practical example of automation testing.']}], 'highlights': ['Appium is a cross-platform automation testing tool for Android, iOS, and Windows.', 'Appium is developed and maintained by credible sources like Sauce Labs and Appium.io.', 'Appium is truly cross-platform, functioning on Windows and Mac, and capable of testing applications for Android, iOS, and Windows desktop.', 'Testing is crucial for ensuring customer reliability, product quality, software performance, and cost-effective bug identification.', 'Testing is vital for customer satisfaction, confidence building, and delivering high-quality, low-maintenance products.', 'Setting up Android Studio and IntelliJ for writing test scripts in Java is explained.', 'Emphasizes the importance of the community version of IntelliJ for free usage.', 'Appium 1.12.0 is available for Mac and Windows, with straightforward installation process.', 'Setting up Android Studio emulator through AVD Manager is efficient and flexible.', 'Emulator offers variety of devices to emulate, including Android 9.0 phone with API 26.', 'The Appium inspector allows users to inspect an application and navigate through the element hierarchy for testing purposes.', 'The server runs on the local host at 0.0.0.0 on port 4723, and it can also be accessed at 127.0.0.1:4723.', 'The chapter outlines the process of setting up the Appium server and starting an inspector session for testing the calculator app.', 'Appium version 1.1.2.1 is used, and it provides a RESTful HTTP interface listener for testing the application.', 'Specify the device name and platform name as desired capabilities, such as emulator-5554 for the device name, and Android or iOS for the platform name.', "Set the boolean field 'noReset' to true to ensure the application does not reset when testing in a new session.", 'The Appium Inspector provides a live screenshot of the emulator or a device, allowing for visualization of element placement and updates upon pressing the refresh button.', 'Demonstration of testing swipe gestures using coordinates and verifying tap functionality by tapping on elements, with real-time reflection on the emulator.', 'Guidance on recording inspections and generating test scripts in Java, focusing on testing arithmetic operations on a calculator app.', 'The yellow box on the screenshot visually indicates the placement of each element.', 'The Appium Inspector allows for element selection, providing details such as ID, X part, element ID, index, and class of the element.', 'To set up automation testing in Java, start by creating a new Java class named Automation and then import the necessary classes like mobile element and driver.', 'The chapter emphasizes the process of setting up Appium automation libraries by downloading necessary files, organizing them into a folder, and adding the libraries to the IDE.', 'Configuring the project to work with Appium requires making a few downloads and locating specific addresses, such as under users, aria paul, and ideal projects.', 'The detailed steps include extracting the downloaded files, organizing them into a folder, and adding them to the IDE as global libraries for proper testing of the application.', 'When setting up automation testing, ensure to import necessary classes like mobile element and driver to avoid errors in the script.', 'The process also involves setting up desired capabilities and driver for automation, including setting up capabilities like device name, platform name, app package, and app activity, and specifying the Appium server URL and port number.', 'Setting up the assert function for test result assertion is required, using assert.assertEquals.', 'Replacing the driver keyboard with the driver object is an important step in the setup.', 'Using find element by ID and get text functions to assert the expected result of the test.', 'Handling unhandled exceptions by adding the exception and importing necessary classes and packages.', 'The IDE imports all the drivers, elements, and packages needed for the test.', 'Setting up a new package and importing TestNG library The process involves accessing project structure, adding the TestNG library, and importing org.testng 6.14.3, enabling the automation of test cases.', 'Ability to run the same test script on multiple devices The flexibility of running the same test script on multiple devices, such as Android 9 through Android 5, is highlighted as a time-saving and lucrative option for automation testing.', 'Automating a test case using Appium The demonstration showcases the automation of a test case involving the launching of a calculator, pressing buttons, and ensuring the successful execution without errors, providing a practical example of automation testing.']}