APPIUM Setting for IOS

       
      

Mobile Automation Testing using APPIUM, Selenium Webdriver and Java(IOS)

All things mentioned below is considering IOS 10.
Prerequisite
1)Download and Install JavaDownload here
2)Download and Install eclipseDownload here
3)Download and Install xcode Download here
4)Download and Install xcode via Terminal "xcode-select --install"
5)Download and Install Appium Java Client Lib(jar)Download here
6)Download and Install Selenium Webdriver(selenium-server-standalone-3.0.0-beta2.jar)Download here
7)Download and Install APPIUM for IOS(appium-1.4.13.dmg)(Note latest appium dmg file has some problem)Download here
8)Download and Install command line tools for xcode via Terminal "xcode-select –install "

For TestNG:
  Start eclipse->Help->Install New Software->Works With
     Name:- TestNG
     Location:-Update site for release: http://beust.com/eclipse.
                         Or
     Update site for beta: http://testng.org/eclipse-beta
  Tick checkboxes and follow steps

Start First APPIUM Test for Android Native App
 1)Start Eclipse, Create new java project (File->New->Other->Java Project->Enter Project name
 2)Add Selenium and TestNG Jar( right click on project folder->build Path->Configure build path->Libraries->Add 
 external jars (browse your jar files form computer(java-client-3.2.0 and selenium-server-standalone-3.0.0-beta2 JAR files)
 3)Add TestNG JAR( right click on project folder->build Path->Configure build path->Libraries->Add Library ->select 
 TestNG Lib and follow steps.
 4)Create Java class file(Right Click on Project Folder->New->Class->Enter Package and Class name)
 5) Write following code for first Test Case for App Launch on real IOS device
 Demo Code
        package demo;
        import io.appium.java_client.ios.IOSDriver; 
        import io.appium.java_client.remote.MobileCapabilityType;
        import junit.framework.Assert;
        import java.io.File;
        import java.net.MalformedURLException;
        import java.net.URL;
        import java.util.concurrent.TimeUnit;
        import org.openqa.selenium.By;
        import org.openqa.selenium.WebElement;
        import org.openqa.selenium.remote.DesiredCapabilities;
        import org.testng.annotations.AfterClass;
        import org.testng.annotations.BeforeClass;
        import org.testng.annotations.Test;
        public class LaunchAppon RealDevice 
        {
             IOSDriver driver;
             @BeforeClass
             public void setUp() throws MalformedURLException
             {
             File app=new File("ipa file path");
             DesiredCapabilities caps = new DesiredCapabilities();
             caps.setCapability(MobileCapabilityType.APP,app);
             caps.setCapability(MobileCapabilityType.PLATFORM_VERSION, "8.1");
             caps.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS");
             caps.setCapability(MobileCapabilityType.DEVICE_NAME,"iPhone 5");      
             driver = new IOSDriver (new URL("http://127.0.0.1:4723/wd/hub"), caps);
             driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
             }
        @Test(priority = 0)
        public void checkAppElementPresent() 
        {
            try{
                  Boolean iselementpresent = driver.findElementsByName("dummytext").size() != 0;
                  Assert.assertTrue(iselementpresent);
                  System.out.println("TC1 :-Elements exist on app");
               } catch(Throwable e)
               {
                  System.out.println("Test Case Failed");
      
               }
         }
  
        @AfterClass
        public void tearDown()
        {
            driver.closeApp();
        } 
  }
 
How to run:
 1) Right click on code area->Run As-> TestNG Test (Before run it start your appium server and connect your device to 
 computer   via usb(make sure device connected))
 You will get result.(To view HTML result , just right click on project folder->refresh and view test-output 
 folder->open index.html file in browser.


For Appium Setting:-Launch Appium server
  Condition 1(If already present into device):
  
  1)Click Android icon->make sure all fields are unchecked 
  2)Click on setting icon-> make sure server address: 127.0.0.1 and Port:4730

  Condition 2(If apk file present into computer):

  1)Click Android icon->Add Applicatipn Path then we will get package and Activity name automatically
  2)Click on setting icon-> make sure server address: 127.0.0.1 and Port:4730

  Click on Launch Button before executes your test script


For Inspect app  Elements use Appium Inspector
  

How to find app package name from android device??

1)We can connect your device to system via USB and execute "adb shell pm list packages -3" on cmd
2)We can install following android app to get all package name which installed into device
"ÄppInfo"d

Selenium Wait Types

1)Explicit wait
  try {
        driver.findElement(By.linkText("data")).click();
        WebElement message = new WebDriverWait(driver, 5)
 .until(new ExpectedCondition() 
       {
   public WebElement apply(WebDriver d) 
             {
         return d.findElement(By.id("page4"));
      }
       });
       assertTrue(message.getText().contains("message"));
       } finally {
           driver.quit();
       }

2)Implicit Wait
  driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

How to executes script on different browser?

1) In Mozilla Firefox
   driver = new FirefoxDriver();
2)In Chrome 
   System.setProperty("webdriver.chrome.driver",Add absolute path of chromedriver.exe");
   driver = new ChromeDriver();
3) In IE
   System.setProperty("webdriver.ie.driver","Add absolute path of IEDriverServer.exe");
   driver = new InternetExplorerDriver();
4) In Edge
   System.setProperty("webdriver.edge.driver",Add absolute path of MicrosoftWebDriver.exe");
   EdgeOptions options = new EdgeOptions();
   options.setPageLoadStrategy("eager");
   driver = new EdgeDriver(options);
5) In Opera
   System.setProperty("opera.binary", Add absolute path of opera.exe");
   WebDriver driver = new OperaDriver();
6) In Safari
   System.setProperty("SafariDefaultPath", Add absolute path of Safari.exe");
   WebDriver driver = new SafariDriver();


Best Webdriver Methods tutorial

Genymotion

Best Appium - Selenium Webdriver - Java Tutorial

Mobile Automation Testing using APPIUM, Selenium Webdriver and Java

All things mentioned below is considering Windows 10.
Prerequisite
1)Download and Install JavaDownload here
2)Download and Install eclipseDownload here
3)Download and Install Node JSDownload here
4)Download and Install Android SDK(android-studio-ide-143.3101438-windows.exe) and keep it under C:\ Download here
5)Download and Install Selenium Webdriver(Selenium Standalone Server)Download here
6)Download and Install Appium Java Client Lib(jar)Download here
7)Download and Install APPIUM for Windows(Appium.exe for Windows)Download here

Setup Environment Variable:-
 User Variables:-
 Start->Control Panel\All Control Panel Items\System->Advance system setting->Environments variables->User Variables->New
  for Android:- Variable name: ANDROID_HOME and Variable value:C:\SDK\android-sdk-windows
  for APPIUM:- Variable name: APPIUM and Variable value:C:\Appium\node_modules\.bin
  for Java:- Variable name: JAVA_HOME and Variable value:C:\Program Files\Java\jdk1.8.0_101

 System Variables:-
 Start->Control Panel\All Control Panel Items\System->Advance system setting->Environments variables->system Variables->New
  for Android:- Variable name: ANDROID_HOME and Variable value:C:\SDK\android-sdk-windows
  for APPIUM:- Variable name: APPIUM and Variable value:C:\Appium\node_modules\.bin
  for Java:- Variable name: JAVA_HOME and Variable value:C:\Program Files (x86)\Java\jre1.8.0_101\
  for ADB:- Variable name: ADB_HOME and Variable value:C:\adb.exe

 Set Path:-
  C:\Program Files\nodejs\
  C:\Program Files (x86)\Java\jre1.8.0_101\bin
  C:\Program Files\nodejs\node_modules\.bin
  %APPIUM%
  C:\SDK\android-sdk-windows
  C:\SDK\android-sdk-windows\tools
  C:\SDK\android-sdk-windows\tools\bin
  C:\adb.exe

For TestNG:
  Start eclipse->Help->Install New Software->Works With
     Name:- TestNG
     Location:-Update site for release: http://beust.com/eclipse.
                         Or
     Update site for beta: http://testng.org/eclipse-beta
  Tick checkboxes and follow steps

Start First APPIUM Test for Android Native App
 1)Start Eclipse, Create new java project (File->New->Other->Java Project->Enter Project name
 2)Add Selenium and TestNG Jar( right click on project folder->build Path->Configure build path->Libraries->Add 
 external jars (browse your jar files form computer(java-client-3.2.0 and selenium-server-standalone-3.0.0-beta2 JAR files)
 3)Add TestNG JAR( right click on project folder->build Path->Configure build path->Libraries->Add Library ->select 
 TestNG Lib and follow steps.
 4)Create Java class file(Right Click on Project Folder->New->Class->Enter Package and Class name)
 5) Write following code for first Test Case for App Orientation check (Make Sure Twitter app should be installed into 
 Your Android Devices)
 Demo Code
        package example;

        import io.appium.java_client.android.AndroidDriver;
        import java.io.IOException;
        import java.net.MalformedURLException;
        import java.net.URL;
        import java.util.concurrent.TimeUnit;
        import org.apache.commons.exec.CommandLine;
        import org.apache.commons.exec.DefaultExecuteResultHandler;
        import org.apache.commons.exec.DefaultExecutor;
        import org.openqa.selenium.remote.DesiredCapabilities;
        import org.testng.Assert;
        import org.testng.annotations.AfterTest;
        import org.testng.annotations.BeforeTest;
        import org.testng.annotations.Test;
        
        public class CheckElementPresent 
        {
        AndroidDriver driver;

              @BeforeTest
              public void setUp() throws MalformedURLException 
              {
                   DesiredCapabilities capabilities = new DesiredCapabilities();
                   capabilities.setCapability("deviceName", "VPK");
                   capabilities.setCapability("browserName", "Android");
                   capabilities.setCapability("platformVersion", "5.2");
                   capabilities.setCapability("platformName", "Android");
                   capabilities.setCapability("appPackage", "com.twitter.android");
                   capabilities.setCapability("appActivity","com.twitter.android.LoginActivity");
                   driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
                   driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
              }

              @Test
              public void performOrientation() throws InterruptedException 
              {
     
                   System.out.println("Current screen orientation Is : " + driver.getOrientation());
                   driver.rotate(org.openqa.selenium.ScreenOrientation.LANDSCAPE);
                   System.out.println("Now screen orientation Is : "+ driver.getOrientation());
                   Thread.sleep(5000);
                   System.out.println("Changing screen Orientation to PORTRAIT.");
                   driver.rotate(org.openqa.selenium.ScreenOrientation.PORTRAIT);
                   System.out.println("Now screen orientation Is : "+ driver.getOrientation());
                   Thread.sleep(5000);
              }
 
              @AfterTest
              public void End() throws IOException 
              {
  
                   driver.quit();  
  
              }
        }

  Note(to find App Activity and package name install APK Info appDownload here

How to run:
 1) Right click on code area->Run As-> TestNG Test (Before run it start your appium server and connect your device to 
 computer   via usb(make sure device connected))
 You will get result.(To view HTML result , just right click on project folder->refresh and view test-output 
 folder->open index.html file in browser.


For Appium Setting:-Launch Appium server
  Condition 1(If already present into device):
  
  1)Click Android icon->make sure all fields are unchecked 
  2)Click on setting icon-> make sure server address: 127.0.0.1 and Port:4730

  Condition 2(If apk file present into computer):

  1)Click Android icon->Add Applicatipn Path then we will get package and Activity name automatically
  2)Click on setting icon-> make sure server address: 127.0.0.1 and Port:4730

  Click on Launch Button before executes your test script


For Inspect app  Elements use UI Automator
  Path:-C:\SDK\android-sdk-windows\tools open uiautomatorviewer.bat (make sure adb installed properly and devices 
  should be connected to computer)

For Share Mobile screen on Computer. Just Open JAR Download here

Mobile devices screen sizes

How to run apk

Appium Environment Setup

  1. Appium Basics
  2. Appium from begining
  3. Appium Reference url1
  4. Appium Reference url2
Appium Reference url3
Appium Envirnoment setup
Following things need to be installed:- 
1)Java
2)ant
3)maven
4)Node JS
5)GIT
6)cURL
7)UI Automator Viewer
8)Android Studio

Appium for Ubuntu

Testing MindMap and Timer

Appium Tutorial

APPIUM is a freely distributed open source mobile application UI testing 
framework.
Appium allows native, hybrid and web application testing and supports automation
test on physical devices as well as on emulator or simulator both.

It offers cross-platform application testing i.e. single API works for both A
ndroid and iOS platform test scripts.

It has NO dependency on Mobile device OS. Because, APPIUM has framework or 
wrapper that translate Selenium Webdriver commands into UIAutomation (iOS) 
or UIAutomator (Android) commands depending on the device type not any OS type.

Appium supports all languages that have Selenium client libraries like- Java, 
Objective-C, JavaScript with node.js, PHP, Ruby, Python, C# etc. 

Appium Official Page

Limitations using APPIUM

    Appium does not support testing of Android Version lower than 4.2
    Limited support for hybrid app testing. eg: not possible to test the switching 
    action of application from the web app to    native and vice-versa.
    No support to run Appium Inspector on Microsoft Windows.


Prerequisite to use APPIUM(Windows)

    ANDROID SDK Link
    JDK (Java Development Kit) Link
    TestNG Link
    Eclipse Link
    Selenium Server JAR Link
    Webdriver Language Binding Library Link
    APPIUM For Windows Link
    APK App Info On Google Play Link
    Node.js (Not Required - Whenever Appium server is installed, it by default 
    comes with "Node.exe" & NPM. It's included in Current version of Appium.)


Prerequisite to use APPIUM(MAC OS)

    
    JDK (Java Development Kit) Link
    Xcode 
    Command Line tools 
    APPIUM For MAC OS Link
    Node.js (Not Required - Whenever Appium server is installed, it by default 
            comes with "Node.exe" & NPM. It's included in Current version of Appium.)


APPIUM Inspector:-

Similar to Selenium IDE record and playback tool, Appium has an 'Inspector' to
record and Playback. It records and plays native application behavior by inspecting 
DOM and generates the test scripts in any desired language. However, currently there 
is no support for Appium Inspector for Microsoft Windows. In Windows, it launches the 
Appium Server but fails to inspect elements. However, UIAutomator viewer can be used 
as an option for Inspecting elements. 


UIAutomatorviewer to inspect android app elements



Download Android SDK->android-sdk_r24.4.1-windows.zip

Then Follow Path ex C:\android-sdk_r24.4.1-windows\android-sdk-windows\tools\uiautomatorviewr.bat  Run this bat file

While using uiautomatorviewer , always open app into mobile device and adb should be installed into computer system

Why APPIUM??

Why Automation Testing Require.
1)Automate your testing procedure when you have lot of regression work.
2)Automate your load testing work for creating virtual users to check load
 capacity of your application.
3)Automate your testing work when your GUI is almost frozen but you have lot 
  of frequently functional changes.
------------------------------------------------------------------------------
Appium is an open-source tool for automating native, mobile web, and hybrid
applications on iOS and Android platforms. Native apps are those written 
using the iOS or Android SDKs. Mobile web apps are web apps accessed using
a mobile browser (Appium supports Safari on iOS and Chrome or the built-in 
‘Browser’ app on Android). Hybrid apps have a wrapper around a “webview” – 
a native control that enables interaction with web content. Projects like
Phonegap, make it easy to build apps using web technologies that are then 
bundled into a native wrapper, creating a hybrid app.
Importantly, Appium is “cross-platform”: it allows you to write tests against
multiple platforms (iOS, Android), using the same API. This enables code reuse
between iOS and Android testsuites.
Appium is an open source, cross-platform test automation tool for native, 
hybrid and mobile web apps, tested on simulators (iOS, FirefoxOS), emulators 
(Android), and real devices (iOS, Android, FirefoxOS).
---------------------------------------------------------------------------------
Appium Philosophy
Appium was designed to meet mobile automation needs according to a philosophy 
outlined by the following four tenets:

    1)You shouldn’t have to recompile your app or modify it in any way in order
      to automate it.
    2)You shouldn’t be locked into a specific language or framework to write and 
      run your tests.
    3)A mobile automation framework shouldn’t reinvent the wheel when it comes to 
      automation APIs.
    4)A mobile automation framework should be open source, in spirit and practice 
      as well as in name!

--------------------------------------------------------------------------------
Appium Design
We don’t need to compile in any Appium-specific or third-party code or frameworks 
to your app. This means you’re testing the same app you’re shipping. The vendor-provided 
frameworks we use are:

    1)iOS: Apple’s UIAutomation
    2)Android 4.2+: Google’s UiAutomator
    3)Android 2.3+: Google’s Instrumentation. (Instrumentation support is provided by 
      bundling a separate project, Selendroid)

-----------------------------------------------------------------------------------
Reference Links for APPIUM :-
  1. software-testing-tutorials-automation
  2. software-testing-tutorials-automation
  3. 3pillarglobal
  4. guru99
  5. seleniumhq
  6. appium.io

APPIUM Advantages and Disadvantages


APPIUM Advantages:

    Open source (free)  
    Cross-platform  
    Supports automation of hybrids, native and webapps
    Supports any programming languages.
    Support for various frameworks.
    Doesn't require an APK for use,although automating certain apps do.
    Backend is Selenium so u will get all selenium functionality.Selenium webdriver compatible.
    Supports any programming languages.
    Commonly used programming API's can be integrated.
    Can run app through appium server without manipulating the app.
    CI compatible with jenkins, saucelabs(so far from my experience)
    Able to run on selenium grid.
    Doesn't require access to your source code or library. You are testing with which you will 
        actually ship.
    
APPIUM Disadvantage:

    Doesn't support image comparison.
    Limited support for Android < 4.1
    Under Developing stage can't use for big project initially
    Appium documentation is a little weak
    Less availability of tutorial

Why automation required?


Why Automation Testing Require.
1)Automate your testing procedure when you have lot of regression work.
2)Automate your load testing work for creating virtual users to check load capacity of your 
  application.
3)Automate your testing work when your GUI is almost frozen but you have lot of frequently 
  functional changes.

What are the Risks associated in Automation Testing?
1) Do you have skilled resources? 
2) Initial cost for Automation is very high:
3) Do not think to automate your UI if it is not fixed
4) Is your application is stable enough to automate further testing work?
5) Are you thinking of 100% automation?
6) Do not automate tests that run once
7) Will your automation suite be having long lifetime?

Automation provides three business benefits:
1)Increased testing efficiency,
2)Increased testing effectiveness,
3)Faster time to market.

Mobile App Automation tools comparism


Share Mobile screen on PC


  Reference video/a>
  
  https://github.com/Genymobile/scrcpy
  
  Install scrcpy throguh terminal on macbook
  then just hit following command and then u will get your screen on macbook
  
  scrcpy
  

  Note:- ADB should be installed into your macbook to get android device
  

Best Appium Tutorial

Mobile App Test Cases

Andorid 7.0 Nougat Features

1)Over 1500 emoji including 72 new ones
2)Multi Locale language setting
3)Now you can switch between apps with a double tap, and run two apps side by side. 
  So go ahead and watch a movie while texting, or read a recipe with your timer open.
  a)Multi-window view
  b)Quick switch between apps
4)Vulkan™ API is a game changer with high-performance 3D graphics. On supported devices,
  see apps leap to life with sharper graphics and eye-candy effects.
5)With Virtual Reality mode, Android Nougat is ready to transport you to new worlds. 
6)Doze now helps save battery power even when you're on the move. So your device will 
  still go into low power usage while you carry it in your pocket or purse.
7)Custom Quick Settings:-Rearrange your Quick Setting tiles so you can get to what you 
  want faster.
8)Notification Direct Reply:-Mini conversations within your notifications let you reply 
  on the fly – without opening any app.
9)Bundled Notifications:-See what's new at a glance with bundled notifications from apps. 
  Simply tap to expand and view more info without having to open the app.
10)Data Saver:-Limit how much data your device uses with Data Saver. When Data Saver is 
  turned on, apps in the background won't be able to access cell data.
11)Notification Controls:-When a notification pops up, just press and hold to toggle the 
  settings. For instance, you can silence future alerts from an app in the notification itself.
12)Display Size:-Not only can you change the size of the text on your device, but the size 
  of the icons and the experience itself.
13)Seamless Updates:-On select new devices, software updates download in the background, 
  so you won't have to wait while your device syncs with the latest security tools.
14)File-based Encryption:-By encrypting at the file level, Android can better isolate 
  and protect files for individual users on your device.
15)Direct Boot:-Starting your device is faster and apps run securely even before you enter 
  your password.

Mobile testing Negative

First Appium code and environment

Why APPIUM??

Why Automation Testing Require.
1)Automate your testing procedure when you have lot of regression work.
2)Automate your load testing work for creating virtual users to check load
 capacity of your application.
3)Automate your testing work when your GUI is almost frozen but you have lot 
  of frequently functional changes.
------------------------------------------------------------------------------
Appium is an open-source tool for automating native, mobile web, and hybrid
applications on iOS and Android platforms. Native apps are those written 
using the iOS or Android SDKs. Mobile web apps are web apps accessed using
a mobile browser (Appium supports Safari on iOS and Chrome or the built-in 
‘Browser’ app on Android). Hybrid apps have a wrapper around a “webview” – 
a native control that enables interaction with web content. Projects like
Phonegap, make it easy to build apps using web technologies that are then 
bundled into a native wrapper, creating a hybrid app.
Importantly, Appium is “cross-platform”: it allows you to write tests against
multiple platforms (iOS, Android), using the same API. This enables code reuse
between iOS and Android testsuites.
Appium is an open source, cross-platform test automation tool for native, 
hybrid and mobile web apps, tested on simulators (iOS, FirefoxOS), emulators 
(Android), and real devices (iOS, Android, FirefoxOS).
---------------------------------------------------------------------------------
Appium Philosophy
Appium was designed to meet mobile automation needs according to a philosophy 
outlined by the following four tenets:

    1)You shouldn’t have to recompile your app or modify it in any way in order
      to automate it.
    2)You shouldn’t be locked into a specific language or framework to write and 
      run your tests.
    3)A mobile automation framework shouldn’t reinvent the wheel when it comes to 
      automation APIs.
    4)A mobile automation framework should be open source, in spirit and practice 
      as well as in name!

--------------------------------------------------------------------------------
Appium Design
We don’t need to compile in any Appium-specific or third-party code or frameworks 
to your app. This means you’re testing the same app you’re shipping. The vendor-provided 
frameworks we use are:

    1)iOS: Apple’s UIAutomation
    2)Android 4.2+: Google’s UiAutomator
    3)Android 2.3+: Google’s Instrumentation. (Instrumentation support is provided by 
      bundling a separate project, Selendroid)

-----------------------------------------------------------------------------------
Reference Links for APPIUM :-
software-testing-tutorials-automation
software-testing-tutorials-automation
3pillarglobal
guru99
seleniumhq
appium.io
    



Appium Tutorial

APPIUM is a freely distributed open source mobile application UI testing 
framework.
Appium allows native, hybrid and web application testing and supports automation
test on physical devices as well as on emulator or simulator both.

It offers cross-platform application testing i.e. single API works for both A
ndroid and iOS platform test scripts.

It has NO dependency on Mobile device OS. Because, APPIUM has framework or 
wrapper that translate Selenium Webdriver commands into UIAutomation (iOS) 
or UIAutomator (Android) commands depending on the device type not any OS type.

Appium supports all languages that have Selenium client libraries like- Java, 
Objective-C, JavaScript with node.js, PHP, Ruby, Python, C# etc. 

Appium Official Page

Limitations using APPIUM

    Appium does not support testing of Android Version lower than 4.2
    Limited support for hybrid app testing. eg: not possible to test the switching 
    action of application from the web app to    native and vice-versa.
    No support to run Appium Inspector on Microsoft Windows.


Prerequisite to use APPIUM(Windows)

    ANDROID SDK Link
    JDK (Java Development Kit) Link
    TestNG Link
    Eclipse Link
    Selenium Server JAR Link
    Webdriver Language Binding Library Link
    APPIUM For Windows Link
    APK App Info On Google Play Link
    Node.js (Not Required - Whenever Appium server is installed, it by default 
    comes with "Node.exe" & NPM. It's included in Current version of Appium.)


Prerequisite to use APPIUM(MAC OS)

    
    JDK (Java Development Kit) Link
    Xcode 
    Command Line tools 
    APPIUM For MAC OS Link
    Node.js (Not Required - Whenever Appium server is installed, it by default 
            comes with "Node.exe" & NPM. It's included in Current version of Appium.)


How to provide path to APPIUM Java code

Option 1:-
capabilities.setCapability("app","Application absolute path");

Option 2:-
Add application into appium->setting->path

Option 3:-
File appDir=new File("Application Path");
File app = new File(appDir, "apk name");
cap.setCapability("app", "apk name");

Option 4:- Remove app from device( Use it before quit server)
driver.removeApp("application package name");
      

Responsive and compatibility checker

Responsive and compatibility checker
  1. Responsive and compatibility checker

Alignment Checker Tool for Google Chrome
  1. Grid Ruler Add Ons for Chrome Browser

Alignment Checker Tool

Alignment Checker Tool for Google Chrome
  1. Grid Ruler Add Ons for Chrome Browser

Advertisement Landing Pages Cases

Advertisement Landing Pages Cases
1)Does your landing page headline match the message on your ads?
2)Is your landing page messaging focused on a single purpose?
3Is your landing page messaging focused on a single purpose?
4)Do you have a simple secondary description to enhance the headline?
5)Do you have a simple secondary description to enhance the headline?
6)Are you using a relevant and original main image or video that shows 
it being used (context of use)? 7)Does your page message have the clarity of a 30-second elevator pitch?
(Read out your page copy to someone and see if they understand it.) 8)Have you removed extraneous links (like the global nav) – to remove page leaks? 9)Does your landing page explain how your product/service is unique (USP)? 10)Does the writing focus primarily on benefits rather than features? 11)Did you resist asking for any unnecessary information in a form
(be completely honest cos it’s bad)? (check the box if you aren’t using a form). 12)Do you explain the value or size of your lead gen giveaway (discount
amount, number of ebook pages, $ value)? 13)Do you provide examples of previous customers using or complimenting
your product/service? (Testimonials and other trust factors) 14)Do you offer multiple contact methods (phone, email, live chat) 15)Does your landing page appear to be professionally designed? 16)Does the design of your landing page match the visual style of your
ad creative? (Banners) 17)Does the design match the style of your main website or brand? 18)Do you use lightboxes to show extra information without leaving the page? 19)Do you provide a privacy and or terms & conditions statement/link? 20)Are you using your confirmation page to provide the new lead with
further instructions? 21)Do you end your video with a call to action? Landing Page Content Headline uses actionable, value-driven words. Headline matches source copy. Sub-header concisely describes the benefit of the offer. Body copy is scannable, scrollable, and compelling. Page title, URL, and meta description are all optimized for search. Images Image is indicative of what you'll get after filling out the landing page form Image has alt-text. Form Form is the proper length for landing page goal Submit button copy is customized.  Form enabled progressive profiling for return visitors. 

Website Launch Checklist

Pre-Launch

Content and Style
Typography and layout 1->Check for incorrect punctuation marks, particularly apostrophes,quotation marks and hyphens/dashes 2->Check headings for where you could potentially use ligatures 3->Check for widow/orphan terms in important paragraphs
Spelling and grammar
1->Consistency Capitalisation (especially of main headings) 2->Tense/style of writing 3->Recurring/common phrases (e.g. ‘More about X’ links) 4->Variations in words (e.g. Websites vs Web Sites, or UK vs US spelling) Treatment of bulleted lists (e.g. periods or commas at end of each item) 5->Check for hard-coded links to staging domain (i.e. ensure all links will Change to ‘live’ URL/domain when site is launched) Ensure no test content is on the live site 6->Check how important pages (e.g. content items) print For redesigns, ensure important old/existing URLs are redirected to relevant new URLs, if the URL scheme is changing 7->Check all ‘hidden’ copy (e.g. alt text, transcriptions, text in JavaScript functions)
Standards and Validation
Accessibility 1->HTML validation 2->JavaScript validation 3->CSS validation
Search Engine Visibility, SEO and Metrics
1->Page titles are important; ensure they make sense and have relevant keywords in them 2->Create metadata descriptions for important pages 3->Check for canonical domain issues (e.g. variations in links to http://site.com, http://www.site.com, http://www.site.com/index.html should be reduced to a single consistent style) 4->Ensure content is marked-up semantically/correctly , etc.) 5->Check for target keyword usage in general content 6->Check format of URLs for user and search engine friendliness 7->Set up Analytics, FeedBurner, and any other packages for measuring on-going success 8->Create an XML Sitemap 9->Configure Google Webmaster Console and Yahoo! Site Explorer
Functional Testing
Check all bespoke/complex functionality 1->Check search functionality (including relevance of results) 2->Check on common variations of browser (Internet Explorer, Firefox, Safari,Chrome etc.), version (6, 7, 2.2, 3.1 etc.) and platform (Windows, OSX, Linux) 3->Check on common variations of screen resolution 4->Test all forms (e.g. contact us, blog comments), including anti-spam features,response emails/text, etc. 5->Test without JavaScript, Flash, and other plug-ins 6->Check all external links are valid
Security/Risk
1->Configure backup schedule, and test recovery from backup 2->Protect any sensitive pages (e.g. administration area) 3->Use robots.txt where necessary 4->Security/penetration test 5->Turn off verbose error reporting
Check disk space/capacity
1->Set-up email/SMS monitoring/alerts (e.g. for errors, server warnings) 2->consider internal and external monitoring services
Performance
Load test 1->Check image optimisation 2->Check and implement caching where necessary 3->Check total page size/download time 4->Minify/compress static (JavaScript/HTML/CSS) files 5->Optimise your CSS; use short image paths, make full use of the ‘cascading’ nature of CSS, etc. 6->Check correct database indexing 7->Check configuration at every level (web server, database, any other software e.g.Content Management System) 8->Configure server-based logging/measurement tools (e.g. database/web server logging)
Finishing Touches
1->Create custom 404/error pages 2->Create a favicon
Post-Launch
Marketing 1->Social marketing: Twitter, LinkedIn, Digg, Facebook, Stumbleupon. 2->Submit to search engines on-going,Monitor and respond to feedback (direct feedback, on social media sites, check for chatter through Google, etc.) 3->Check analytics for problems, popular pages etc. and adjust as necessary Update 4->content

Basic Test Cases for Android and IOS Apps

1)Test Network alert functionality
2)Test GPS alert functionality
3)Test Google map functionality
4)Test video play functionality
5)Test app exit dialog box appearance
6)Test Facebook and Google+ and other social media login flow integration,And It should not redirect on login screen again
7)Test loader appearance, And they should be consistent working format
8)Test UI and UX ,Atleast 320,480,600,900,768,1024,640 etc.do testing all available Android and IPhone devices.UI designs 
  should be as per approved designs
9)Test google Analytics functionality
10)Test all filters functionality
11)Test internal search engine functionality
12)Test all calculations screens
13)Test Push Notification functionality
14)Test images are properly appears or not. They should not stretched.
15)Test hamburger menu appearance and other Animation effect on it
16)Test appearance of dialog boxes, alerts  and it should be consistent throughout app
17)Test Geolocation functionality.
18)Test all play store and app store guidelines should be followed while developing app.
19)Test app into portrait and landscape View
20)Test update app functionality. All changes should reflect into app
21)Test iOS build on latest iOS devices
22)Test performance, UX , flow of project and functionalities are very important for every projects