Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tests for myucdavis have been implemented using Selenium web driver.  The format and structure of the web driver approach is:Selenium testing suite uses a main driver script called Test1CH.java.  This script then calls each of the structure and tile scripts...

Location, Format & Structure

The myucdavis Selenium tests are checked into the repository in BitBucket.

All files for the Selenium tests reside in the MyUCDavis folder in the repository.  Test1Ch.java is the main file which calls all other files(Tile based) in the project.  When adding or removing individual tests it will be necessary to modify the Test1Ch.java driver file to ensure they are properly called.

Description

The Selenium testing suite uses a main driver script called Test1CH.java.  This

This script then calls each of the structure and tile scripts. Each of the other scripts represents a particular tile.

The idea was that 2 or more people can work on different tiles at the same time. Here is the hierarchy of scripts

Structure Details

  1. Test1CH.java  = Has driver initialization logic as well as loads the initial home page. Then it calls each of the undermentioned scripts(Represents Tiles)
  2. LoginCh.java = This has Login as well as Logout Method.
  3. WelcomeUserNameCh.java = Has testing functionality for testing the Welcome UserName tile
  4. TheUpdaterCh.java = Has testing functionality for The Updater tile.
  5. IntroCh.java = Has testing functionality for Intro to myucdavis tile.
  6. MyScheduleCh  = Has testing functionality for mySchedule tile.
  7. SmartPollCh = Has testing functionality for Smart Poll tile.
  8. CampusCalendarCh = Has testing functionality for Campus Calendar tile.
  9. ThermalFeedbackCh = Has testing functionality for Thermal Feedback tile.
  10. StudentAdvisingCh = Has testing functionality for Student Advising tile.
  11. StudentEmployeesCh = Has testing functionality for Student Employees tile.
  12. MyHousingCh = Has testing functionality for myHousing tile.
  13. Weather = Has testing functionality for Weather tile.
  14. UCDWellness = Has testing functionality for UC Davis Wellness tile.
  15. MyAccounting = Has testing functionality for myAccounting tile.

Execution

To start the automation:

  1. Export the files/Folder(MyUCDavis) from Bitbucket into a folder(Project)
  2. Open the project in Eclipse
  3. Right click on Test1Ch.java and run as Java Application
  4. It will run and print results on the Console.

 

...

UC Davis Mobile

Tests for UC Davis Mobile have been implemented using Appium.  The approach is:

Tool

...

Appium was decided chosen to be the tool to automate IOS Builds since it an open  open source tool and Java and other programming languages can be used to automate IOS as well as Android apps using Appium.

Due to time Constraint Appium logic has been implemented as all(tabs) in one file.

 

Location, Format & Structure

...

-To have one main to connect to appium server and open the app on device or simulator.

...

The UC Davis Mobile Appium tests are checked into the repository in BitBucket.

The test scripts are set up to run either on the appium simulator on on the device.

We have different methods in the class(AppiumIOSTest) depending upon functionality.

 

Code Block
Class = AppiumIOSTest

...


                Method = setUp() = To initialize connection and start app on device(is commented out) or simulator.

...


                Method = teardown() = to quit the driver.

...


                Method = test1FeedScripts() = To test feed tab on Mobile App.

...


                Method = test2CourseScripts() = To test Course tab on Mobile App.

...


                Method = test3MapScripts() = To test Maps tab on Mobile App.

...


                Method = test4BusScripts()= To test Bus tab on Mobile App.

...


				Method = test5MoreScripts()= To test More tab on Mobile App.

 

...

Execution

Download and install the Appium Server.1)     

  1. Install Xcode(preferably from appstore)

...

  1. Install Homebrew
  2. Open cmd prompt & issue this command
    1. ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

...

  1. Install Node.js
    1. Open a cmd prompt on your mac & give following command
    2. Brew install node

...

  1. Install appium
    1. npm install  -g grunt cli
    2. npm install –g appium
    3. npm install wd
    4. appium &(this will start appium server)

...

  1. Download the project files/Folder from Bitbucket.

...

  1. Open this file (AppiumIOSTest.java) in Eclipse(or whatever IDE tool you are using).

...

  1. Open the project in Xcode and run it on simulator

...

  1. Open another cmd prompt and cd to the folder where you have saved the AppiumIOSTest.java file

      ...

        1. mvn -Dtest=test.java.com.saucelabs.appium.AppiumIOSTest test

      ...

      1. Results will be printed on console

       

      ...

      AggieFeed

      Description

      Testing for AggieFeed has been implemented using Protractor. 

      Goal was to automate AggieFeed Admin/Management pages using Protractor.  The design and plan for protractor tests is:

      Plan was to design scripts in a way that we have a testscript for each functionality

      1. Main File TestScript calls
      2. Login File TestScript(Done)
      3. CreateNotification TestScript(Done-Most Positive & Negative Scenarios)
      4. CreateActivity TestScript

      Execution

      Here are the step by step instrcutions:
      To Run The Automation Scripts

      1. Download the folder AggieFeed from Bitbucket and install(or place or save) it in your local drive
      2. Open a command prompt and type webdriver-manager start to start the webdriver
      3. Open 2nd command prompt and CD to the local folder where you saved the AggieFeed folder.
      4. type protractor conf.js to start the automation testing(or scripts)

      Note: Since there was an AgieeFeed-Redesign inbetween automation so automation was stopped. These are not complete scripts.