/** * PHR_AndroidNative * * Copyright (C) 1999-2014 Photon Infotech Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Author by {phresco} QA Automation Team */ package com.photon.phresco.nativeapp.performance.test.testcases; import java.util.ArrayList; import java.util.Iterator; import junit.framework.TestCase; import android.util.Log; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import com.photon.phresco.nativeapp.R; import com.jayway.android.robotium.solo.Solo; public class CategoryListValidationTest extends TestCase { public Solo soloBrowseValid; public String TAG = "****BrowseValidationTestCase******"; private String activityName; private ImageView addtocartButton, updatecartButton, viewmycartButton, checkoutButton, browseButton, reviewOrderButton, orderComments; private TextView customerInfo, deliveryInfo, billingInfo, paymentMethod; private EditText quantityValue; public CategoryListValidationTest(Solo soloBrowseValid) { this.soloBrowseValid = soloBrowseValid; } public void testBrowseValidation() throws TestException { try { // click on Browse button // soloBrowse.clickOnImageButton(1); Log.i(TAG, "------It is testBrowseValidation-----------"); activityName = soloBrowseValid.getCurrentActivity().getClass().getSimpleName(); if (activityName.equalsIgnoreCase("MainActivity")) { Log.i(TAG, "------It is MainActivity-----------" + activityName); soloBrowseValid.waitForActivity("HomeActivity", 2000); for (int i = 0; i < 40; i++) { activityName = soloBrowseValid.getCurrentActivity().getClass().getSimpleName(); Log.i(TAG, "The activity name------>" + activityName); if (activityName.equalsIgnoreCase("HomeActivity")) { Log.i(TAG, "------for()-- loop at-----> HomeActivity-----"); break; } soloBrowseValid.waitForActivity("HomeActivity", 2000); } } else { Log.i(TAG, "------ testBrowseValidation failed-----------"); throw new TestException("Current Activity Failed----" + soloBrowseValid.getCurrentActivity().getClass().getSimpleName() + "failed"); } if (activityName.equalsIgnoreCase("HomeActivity")) { Log.i(TAG, "------HomeActivity-----------"); System.out.println(" Activity name ---->" + soloBrowseValid.getCurrentActivity()); ArrayList<View> al = soloBrowseValid.getViews(); Iterator<View> it = al.iterator(); while (it.hasNext()) { String viewName = it.next().getClass().getSimpleName(); if (viewName.equalsIgnoreCase("ImageView")) { Log.i(TAG, "------ImageView found-----------"); break; } continue; } } else { Log.i(TAG, "------HomeActivity not found-----------"); throw new TestException(TAG + soloBrowseValid.getCurrentActivity().getClass().getSimpleName() + "failed"); } // soloBrowse.waitForActivity("HomeActivity", 60000); Log.i(TAG, "*** clicking on Browse button*****"); browseButton = (ImageView) soloBrowseValid.getView(R.id.home_browse_btn); soloBrowseValid.clickOnView(browseButton); for (int i = 0; i < 30; i++) { Log.i(TAG, "**** checking for Television item*****"); this.activityName = soloBrowseValid.getCurrentActivity().getClass().getSimpleName(); Log.i(TAG, "The activity name------------>" + this.activityName); if (soloBrowseValid.waitForText("Television")) { Log.i(TAG, "********Enter into if() condition and clicking on Television******"); // click on Television soloBrowseValid.clickInList(1); break; } Log.i(TAG, "*****waiting for Television item*****"); soloBrowseValid.waitForText("Television", 1, 2000); } for (int i = 0; i < 30; i++) { this.activityName = soloBrowseValid.getCurrentActivity().getClass().getSimpleName(); Log.i(TAG, "checking for ***LG Electronics*** in ------------>" + this.activityName); if (soloBrowseValid.waitForText("LG Electronics")) { Log.i(TAG, "****if() condition and clicking on ****LG Electronics*****Item*****"); soloBrowseValid.clickOnMenuItem("LG Electronics"); break; } else { Log.i(TAG, "waiting for *****LG Electronics**** item in ------------>" + this.activityName); soloBrowseValid.waitForText("LG Electronics", 1, 2000); } } ArrayList<ImageView> al = soloBrowseValid.getCurrentImageViews(); Iterator<ImageView> it = al.iterator(); while (it.hasNext()) { String imageView = it.next().getClass().getSimpleName(); Log.i(TAG, "*********ImageView---------->" + imageView); } for (int i = 0; i < 30; i++) { Log.i(TAG, "checking the ****ADD TO CART***button****"); // if (soloBrowse.waitForView(this.addtocartButton)) { if (soloBrowseValid.waitForText("LG Electronics", 1, 0, false, true)) { // if (soloBrowse.waitForText("LG Electronics")) { Log.i(TAG, "****if() condition and clicking on ****ADD TO CART**** button*******"); this.addtocartButton = (ImageView) soloBrowseValid.getView(R.id.add_to_cart); // soloBrowse.wait(20000); Log.i(TAG, "The ***ADD TO CART VIEW value---------->" + this.addtocartButton); soloBrowseValid.clickOnView(this.addtocartButton); break; } else { Log.i(TAG, "Waiting for ****ADD TO CART***button****"); soloBrowseValid.waitForText("LG Electronics", 1, 2000); } } for (int i = 0; i < 5; i++) { Log.i(TAG, "checking the ****PRODUCT QUANTITY FIELD*******"); if (soloBrowseValid.waitForActivity("MyCartActivity", 5000)) { quantityValue = (EditText) soloBrowseValid.getView(R.id.product_quantity); soloBrowseValid.clickOnView(quantityValue); soloBrowseValid.clearEditText(quantityValue); soloBrowseValid.enterText(quantityValue, "2"); soloBrowseValid.goBack(); break; } else { soloBrowseValid.waitForActivity("MyCartActivity", 5000); } } // Click on UPDATE CART button updatecartButton = (ImageView) soloBrowseValid .getView(R.id.update_cart_btn); soloBrowseValid.waitForActivity("MyCartActivity", 1000); soloBrowseValid.clickOnView(updatecartButton); // Click on VIEW MY CART button viewmycartButton = (ImageView) soloBrowseValid .getView(R.id.view_cart_button); soloBrowseValid.waitForActivity("MyCartActivity"); soloBrowseValid.clickOnView(viewmycartButton); soloBrowseValid.waitForActivity("ViewMyCartActivity"); soloBrowseValid.scrollDown(); // click on CHECKOUT button checkoutButton = (ImageView) soloBrowseValid.getView(R.id.checkout_btn); soloBrowseValid.clickOnView(checkoutButton); soloBrowseValid.waitForActivity("CheckOutActivity", 2000); customerInfo = (TextView) soloBrowseValid .getView(R.id.customer_info_title); soloBrowseValid.clickOnView(customerInfo); soloBrowseValid.waitForActivity("CheckOutActivity", 2000); deliveryInfo = (TextView) soloBrowseValid.getView(R.id.delivery_info_title); soloBrowseValid.clickOnView(deliveryInfo); soloBrowseValid.waitForActivity("CheckOutActivity", 2000); billingInfo = (TextView) soloBrowseValid.getView(R.id.billing_info_title); soloBrowseValid.clickOnView(billingInfo); soloBrowseValid.waitForActivity("CheckOutActivity", 2000); paymentMethod = (TextView) soloBrowseValid.getView(R.id.payment_method_title); soloBrowseValid.clickOnView(paymentMethod); soloBrowseValid.waitForActivity("CheckOutActivity", 2000); orderComments = (ImageView) soloBrowseValid.getView(R.id.order_comment_arrow_img); soloBrowseValid.clickOnView(orderComments); reviewOrderButton = (ImageView) soloBrowseValid.getView(R.id.review_order_btn); soloBrowseValid.clickOnView(reviewOrderButton); if (soloBrowseValid.searchText("Please fill required fields")) { soloBrowseValid.sleep(1000); } else { throw new TestException(soloBrowseValid.getCurrentActivity().getClass().getSimpleName() + TAG + "failed"); } } catch (TestException e) { e.printStackTrace(); } } }