Skip to content

Mobile Automation Framework for "the Score" Android App

Notifications You must be signed in to change notification settings

nathiyatesting/Mobile-Android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Core Framework

     •	The core framework consists of the Page object Model. For each of the App page,
        I have created separate page class. The page specific functionalities are implemented as
        reusable methods inside the page class.
     •	I have also created a class called “BasePage” which contains some of the utility methods 
        like WebDriver Wait, Send Keys,Tap etc.

Page Class package: com.game.pages

     •	BasePage
     •	WelcomePage
     •	SigninPage
     •	LeaguePage
     •	NBABasketBallPage
     •	LeaderPage
     •	PlayerPage
     •	AndroidCapabilities

TestNG

      •	I have used the TestNG Framework to create & execute the Automation Test case. 
        Appropriate Annotations are being within the Test case.

        Test case is located in folder:src/test/java. The name of the test case is RandomPlayer_TC001. 

How to execute the Test case

      •	 Open the RandomPlayer_TC001 Test case file from the src/test/java .Right Click and
         choose the option TestNG Test to execute the Test case
      •	 Test data is maintained in a separate excel spreadsheet as the test data
         is parameterized in the Test case

          Test data sheet is located in folder: src/main/resources
          The Score.Apk file is located inthe folder:  src/main/resources

Logging

       •  For the Logging and Debugging purpose, I have implemented the Log4J Framework.
          All the log information from the test case execution will be captured using the Log4J.

       •  The log4j2.xml is located in the properties folder. Place the log4j2.xml file into the classpath. Only then all the log statements will get logged to console.

MacOS Setup/Consideration:

       • Please follow the below steps to setup the MacOS test infrastructure
           o	Download and Build the iOS App in Local Machine using XCODE
           o	Do the Simulator/Real Device Setup
           o	Download the Appium Desktop
           o	Create Desired Capabilities for iOS

       • Please follow the below steps to execute the test case in Mac Laptop
           o	Use Appium Inspector to Identify the iOS Locators for the below Pages,
           o	Add the iOS Locators using the @iOSFindby in the below pages

                 WelcomePage
                 SigninPage
                 LeaguePage
                 NBABasketBallPage
                 LeaderPage
                 PlayerPage
                 AndroidCapabilities

Below are the list of things that differ from Android and IOS

          1. Capability Setting for IOS
                 cap.setCapability(MobileCapabilityType.DEVICE_NAME, "iphone 6");
                 cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "ios");
                 cap.setCapability(MobileCapabilityType.AUTOMATION_NAME,AutomationName.IOS_XCUI_TEST);
                 cap.setCapability(MobileCapabilityType.APP,  "//users//xcodeclub//Desktop//theScore.app");
                 driver=new IOSDriver<IOSElement>(new URL("http://127.0.0.1:4723/wd/hub"), cap)

          2. Page Factory Pattern for the IOSElements will be 
             @iOSBy annotation followed by the identified locator value for the webElement
            
          3. Scrolling 
                Scrolling in ios can be done by using the Dimension class.

About

Mobile Automation Framework for "the Score" Android App

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published