Pages

Wednesday, 27 June 2012

Object Identification


Object Identification

->How Quick Test Professional learns objects in application stores pbject as Test Object,Determining the class it fits


Types of Object Identification
a)Normal Identification
              1.mandatory Proporties
             2.assistive properties
b)Smart Identification
             1)Base Filter Properties
            2)Optional Filter Properties
c)Ordinal Identifier
             1)Location
            2)Index
            3)Creation Time(Only for Browser)
Qtp learns from the following in case of normal identification:
First of all the qtp learns all the mandatory properties at a time and thinks
these properties are sufficient to identify the object uniquely.If it feels sufficient
then it stops learning,otherwise,
It learns first assistive property and once again stops and thinks,like this qtp
learns one by one.At the end of assistive properties list also,if it feels not satisfied
and it finally ges to ordinal identifier

Qtp learns from the following in case of Smart identification:
Smart Identification is an optional feature,if we feel normal identification is not sufficient
for any object,and then we configure smart identification for that object,in order to avoid 
ordinal identifier.

After normal identification if qtp feels not satisfied then it goes to smart identification,in
smart identification two types of properties available,first qtp learns all base filter properties 
at a time and thinks whether these properties are sufficient for identifying the object 
uniquely.If it feels sufficient,then it stops learning otherwise it goes to optional filter 
properties and learns one by one.Still it feels not satisfied finally it goes ordinal identifier.


Ordinal Identifiers
We have There types of ordinal identifiers
     1)location:This is based on location of the object in AUT,which(location) start from zero
     2)index:Based on sequence of programs,this start from zero
     3)Creation Time:Based on loading time of the web objects.qtp generatesnumber like 0,1,2

Tool Settings


Qtp is a I-tier application,setting tools globally is not posible
To make globally,qtp is providing a feature called "Generate Script"

Steps
1)Settings available in 3 areas
               1)file->settings
               2)Tools->Options
               3)Tools->Object Identification
2)Perform settings and generat script
3)Sharing script with the team and asking them to execute

Object Identification Dialog Box


Navigation->Tools->Object Identification
Types of Objects
There are two types of Object
1.Test Object
->Objects in OR are test Objects
->Test object Helps QTP to identify and check the object during the run session
2.Run ime Objects
->Objects which are in script are run time objects
->it is the actual object in your website or application on which methods are performed during run session

Tuesday, 26 June 2012

JOB DESIGNATION/ROLE/POSITION: Test Engineer

Dear Candidate, 

We are considering you for the role of Test Engineer for our company AxSys HealthTech Pvt Ltd. 

JOB DESIGNATION/ROLE/POSITION: 
Test Engineer 

JOB LOCATION: 
Hyderabad 

JOB DESCRIPTION/ CANDIDATE REQUIREMENTS/QUALIFICATIONS/EXPERIENCE/SKILLS: 

Eligibility Criteria :Graduate 

• Must have understanding of Software Development, and Testing Methodologies(Agile Testing) . 
• Must have the ability to develop Test Cases from functional requirements, and/or Use Cases 
• Good analytical skills, attention to detail and consistent follow-through to assure problems are resolved. 
• Good written and verbal communication skills. Must be able to communicate multiple levels of people (i.e. Developers, Project Managers, and Business Analysts.) 
• Effective interpersonal skills and the ability to work independently or as part of a team 
• Good listening skills; problem solving and the ability to multi-task between projects 
• Development and execution of Software Application Scenarios, regression test process, Development and execution of functional & system tests; Development and execution of acceptance tests 
• Support for customer interface, test-tool introduction, test planning, staff supervision (internal), and cost and progress status reporting. 
Verifying the requirement definition, test design, test-script and test-data development, test automation, test-environment configuration; test-script configuration management, and test execution. 
Ability to demonstrate initiative for identifying problems. 

If you find the job profile as per your needs then apply to:swapnarao@axsys-healthtech.com 

Thanks and Regards, 

G.Swapna 
HR Executive 
Axsys Healthtech Ltd 
040-66105000 

Position: Consultant - Manual Testing,Database Testing


Greetings from Alliance Global Services!!! We are leading global IT Services Company, specialized in Outsourced Product Development, Independent Product Testing, Application Development, Application Testing and Application Maintenance Outsourcing delivered through high quality and cost-effective hybrid global delivery model. 

WRT your profile in Job Boards, we have openings for Manual/Database testers. A detailed Job Description of the position is as below.

Job Description:

Position: Consultant - Manual Testing,Database Testing
Education: BE / BTech / MCA / MSc / Any Computer Graduation
Experience: 3.0 to 5.5 Years
Job Location: Hyderabad
Skill Set: Manual Testing,Database Testing

If you are really interested for the below position, please forward your updated CV along with the following details to process further!

Total Exp (Yrs) :
Relevant Exp in Database Testing(Yrs):
Current CTC:
Expected CTC:
Time required to join:
Can you join in 30 days[Yes/No]:

Roles and Responsibilities:

* Understand business and test data requirements
* Setup test data
* Execute stores procedures/queries/views to validate data
* Should have experience on Oracle/SQLServer,
* Designs test cases to test specific features/functionality
* Execute functional and integration tests
* Documents test failures and successes compared with pre-determined criteria
* Testing of fixed defects
* Reports test results and quality of the software product
* Setup of QA environment and performs test readiness tests for system configurations
* Perform defect triage and root cause analysis
* Ensure complete customer focus in deliveries including managing requirements, reviews, obtaining acceptance plans and feedbacks
* Develop test strategy and Test plan

Skills Required:
* Experience in Oracle/SQL Server backend/database testing required
* (Executing stores procs/queries/views, analyzing query performance, analyzing indexes/triggers, setting up test data)
* Understand the Requirements
* Sound database concepts
* Manual Test Design & Execution Life Cycle
* Windows & Non-Windows OS Skills (Preferable Linux, Solaris, etc)
* Defect Life Cycle
* Web Testing (knowledge of cookies, session, broken links)
* Defect triage and root cause analysis
* Web Services Testing

About Alliance:

Alliance Global Services (AGS) is a leading global IT Services Company, specialized in Outsourced Product Development, Independent Product Testing, Application Development, Application Testing and Application Maintenance Outsourcing delivered through high quality and cost-effective hybrid global delivery model. At AGS, we understand that designing, developing, and implementing technology for Commercial Software and Technology Products is a much different endeavor than building internal information systems or implementing off-the-shelf packages and we go beyond technical expertise with focus on quality, security, expert project management, communication and global delivery capabilities.

Having delivered 500+ product services, applications and solutions worth more than $1 Billion since inception in 1994, AGS prides on being the firm of choice for Fortune 1000 companies seeking to gain a competitive edge through technology-enabled improvements and efficiencies, and who are looking for a partner that exemplifies nimbleness, responsiveness, flexibility and unparalleled subject matter expertise. We are a global team of over 500 Technologists with a sole focus on Designing, Developing, and Maintaining Commercial Software Products and Custom Business Applications. Our teams "bolt-on" directly to our clients, integrating our global best practices seamlessly into our client environments.

We use a proven global delivery model that has been in place and refined over the last 8 years with focus on delivery excellence, whilst emphasizing the importance of risk management and risk assessment.

Accreditations:

ISO9001-2008
CMM Level 5
SAS 70 Type II

Our delivery model combines the best of rigorous CMM5 processes with the speed and agility of Agile based development. Together with our clients we help accelerate time-to-market, control costs, and delight end users with high quality.

Please log on to www.AllianceGlobalServices.com to know more about us.


Best Regards,
TA Team

Topics/Concepts of QTP We will be Learning on Our Class


For Developing Automation Scripts & Framework we need to know the below Concepts
1.Test Automation Fundamentals
2.Automation testing tools
3.Recording Modes
4.OOP
5.Run Modes
6.Synchronization
7.Parameterization
8.Actions
9.VB Scripts
10.Functions
11.Implementation of Qtp
12.Descriptive Programming
13.Output Values
14.Recovery Scenarios
15.File System Object
16.Automation Framework
17.Quick Test Script Editor
18.Check Points
19.Regular Expression
20.Step Generator(F7)
21.Virtual Objects
22.Excel Scripts
23.Data Base Scripts  24.Quality Center

OOP And UNDERSTANDING QTP SCRIPT


OBJECT ORIENTED PROGRAMMING
CLASS
A Class is a blueprint or prototype from which objects are created
it is an abstract idea of something
Class contains data members and member functions
OBJECT
Object is an instance of a class
Example
Here person is a class which contains various attributes like name,age,gender,height etc.,
Each object contains their own values for above attributes
Objects are a representation of every item found in an application
Object(eg., Buttons,TextBox) are elements with in an application
Each object has the following elements Proporties,Methods and Events
Objects are referred in code using dot notation
objectName.method
Properties
These are characteristics of the object eg., the text on a button , QTP uses this to recognize the object
Methods
These are built in functionality of the object
The VBScript code that we write(or record) actually
makes calls to the method of an object
Ex.Reporter.ReportEvent()
Here Report Event is the method of the Reporter Object
Events
These are what can do with the object. This is used by Programmers to determine what an object does in response to an action you perform. It is however unused in QTP






 UNDERSTANDING QTP SCRIPT
Windows Environment Classes and objects

1
Main Window
Window(“Window_name”)
2
Sub Window
Dialog(“Dialog_name”)
3
Edit Box
WinEdit(“EditBox Name”)
4
Combo Box
WinComboBox(“ComboBox_Name”)
5
Menu
WinMenu(“Menu”)
6
Radio Button
WinRadioButton(“Radio Button Name”)
7
Check Box
WinCheckBox(“Check Box Name”)
8
Button
WinButton(“Button Name”)


Sno
Web/Object
Class/Script
1
Browser
Browser(“Browser Name”)
2
Page
Page(“Page_Name”)
3
Frame
Frame(“Frame Name”)
4
Link
Link(“Link Name”)
5
Edit Box
WebEdit(“EditBox Name”)
6
List Box
WebList(“List Box Name”)
7
Menu
WebMenu(“Menu”)
8
Radio Button
WebRadioBUtton(“RadioButtonname”)
9
Check Box
WebCheckBox(“CheckBox Name”)
10
Button
WebBUtton(“Button Name”)


Sno
Operations
Script
1
Active Window
.Activate
2
Enter Text in Edit Box
.Set “Text”
3
Select item From List Box
.Select “Item Name”
4
Select item form the Menu
.Select “Menu_Name;Item_Name”
5
Check on/off the Radio Button
.Set “on/off”
6
Check on/off the check box
.set “on/off”
7
Press or Push Button
.click
8
Enter password in edit box
.Setsecure “Encrypted_text”
9
Close Desktop Application
.close
10
Close web Application
.closealltabs


1.Window Based
                In which window.on what object.what operation is done
Syntax
window(“Window_Name”).object(“Object_Name”).Operation/Method
2.Web Based
                In which browser.in which page.on what object.what operation is done.
Or
                in which browser.in which page.in which frame.on what object.what operation is done.
Syntax
Browser(“Browser_Name”).Page(“Page_Name”).Object(“Object_Name”).operation/Method


Sample Scripts for Windows Application
Test Scenario1
Active Window
Enter Agent Name as “admin1”
Enter Password as “mercury”
click on [ok]
Script
dialog(“Login”).Activate
Dialog(“Login”).WinEdit(“AgentName:”).set “admin1”
Dialog(“Login”).WinEdit(“Password”).set “mercury”
Dialog(“Login”).WinButton(“ok”).click


Test Scenario2
Activate Window
Enter Employee Name as “Testtest”
Select Employee No as E001
Enter Employee Salary as 10000
Click on Submit

Script
Dialog(“Employee Details”).Activate
Dialog(“Employee Details”).WinEdit(“Employee Name’).Set “Testtest”
Dialog(“Employee Details”).WinComboBox(“Employee No”).Select “E001”
Dialog(“Employee Details”).WinEdit(“Employee Salary”).set “10000”
Dialog(Employee Details”).WinButton(“Submit”).click


Test Scenario3
Activate Window
Enter Patient Name as “ABC”
Select ward No as “11”
Select Referred Doctor as “Dr.Doctor”
Select Cough RadioButton on
Bill Check Box ON
Click on OK
Enter X-Ray cost as “200”
Enter blood Test as “300”
Enter Bed Bill as “500”
Click on “OK”
























Monday, 25 June 2012

QTP User Interface & Recording Modes

  Quick Test Main Window
This is divided into 8 parts
1.Menu Bar
2.Tool Bar
3.Test Flow Pane
4.Test Pane
  4.1Expert View
  4.2Keyword View
5.Data Table
6.Active Screen
7.Debug Viewer
8.Missing Resources pane
1.
Menu Bar
Displays menus of Quick Test cmds File,Edit,View,Insert,Automation etc.,
2.
Tool bar
Displays icons/images for all QT cmds or sub menus
3.
Test Flow Pane
Displays the hierarchy of actions and action calls in the current test and shows the order in which they are run

4.Test Pane
4.1Expert View
In the expert view ,QT displays each step as a Vbscript line or stmt
Web Application
1.1.Object description displays a parenthesis
Browser(“Testing School”);
Browser(“Lantic”);
1.2 Object Hierarchy Separated by Dot
Browser(“Lantic”).Page(“School”)
Browser(“Lantic”).page(“lantic”).frame(“customer”)
1.3 operation or method
Always displays at the end of the sheet, Followed by any values associated with the operation
Browser(“Lantic”).page(“Lantic”).webedit(“Username”).set “admin”
Browser(“Lantic”).page(“Lantic”).webedit(“Password”).set “Lantic”
4.1.2 Desktop/Window Application
Dialog(“Login”).Winedit(“Agent Name”).set “admin”
Window(“Flight Reservation”).WinButton(“Flight”).click
4.2.Keyword View
  In the keyword view,QT displays information about each step and shows the object hierarchy in an icon based table
The Columns in the keyword view show different information for each step as follows
1.Item
Test Object function call in a hierarchy icon based tree
2.Opeartion
Operation to be performed on the items
ex: click/select/set
3.Values
Test data or input data
4.Documentation
Description of the steps/Auto documentation as what the steps does
ex: Enter “test” in the username edit box
5.Datatable
It is used to store data and parameterize that data to the test script
there are two sheets by default. they are
1.Global 2. Action1
In data table we can have 256 sheets. out of 256 sheets ,one sheet is Global and 255 sheets Action sheets
Global sheet related to all the tables
Action sheet related to corresponding action only

6.Active screen
Provides a snapshot of your application as it appeared when you performed a certain step during the recording session
Advantages
Easy to insert check points/out put values
Easy t add objects to object Repository
Easy to insert steps
Easy to understand script by observing images in the active screen area
7.Debug Viewer
It  is used for viewing, modifying or setting the current values of variables or objects during test execution break with the help of three tabs,watch,command,variable
8.Missing Resources Pane
Whenever we run a test, the files which are associated with the test are missed/moved , the missing resource pane will be opened automatically and displays the information about that missed file

The missing resource pane may list any of the following types of missing resources
Missing Action name
Missing Object repository
Repository Parameters
Missing Environment Variables
Missing library

 
Recording Modes
Three types of recording modes
1.Standard Recording(Default)
2.Analog recording
3.Low level recording
Standard recording
Records the test in terms of GUI objects
Records the objects in your application and the operation performed on them
This mode is the default and taken full advantage of qt test object model

Navigation:Automation->Record
or
Select Record option on automation tool bar
or
Short cut key F3

Analog Recording

Enables you to record the exact mouse and keyboard operation you perform in relation to either the screen or the application window
 Navigation:Keep Tool under Recording mode

Automation->Analog Record
or
Short cut key SHIFT+ALT+F3
VBSCRIPT stmt
window(“Microsoft Internet”).RunAnalog “Track1”
The  track file called by the run analog method contains all your analog data and is stored with the action

Low Level Recording
This mode record at the object level and records all runtime objects as window(Generally Multimedia Purpose)
 Navigation:Keep Tool under Recording mode

Automation->Low Level Recording
or
Short cut key CTRL+SHIFT+F3
 
Disadvantages of recording
1.It occupies a lot of memory space(due to duplicate objects),so QTP performance will be reduced
2.No Centralized Maintenance mechanism, So Modifications are very difficult
3.User may not have command on the Recorded Script, So locating errors is difficult
4.Recorded scripts are QTP internal files, they may corrupt

Saturday, 23 June 2012

QTP Functions


QTP Functions
SUBROUTINES   
1) Subroutine to clear the browser cookies and temp files 
Sub ClearCookies 
OpenBrowser "iexplore.exe", "http://qap.www.realtor.com/"
wait (3) 
Browser("Real Estate Listings,").WinToolbar("ToolbarWindow32").Press "&Tools"
Browser("Real Estate Listings,").WinMenu("ContextMenu").Select "Internet Options"
Browser("Real Estate Listings,").Dialog("Internet Options").WinButton("Delete").Click
Browser("Real Estate Listings,").Dialog("Internet Options").Dialog("Delete Browsing History").WinButton("Delete all").Click
Browser("Real Estate Listings,").Dialog("Internet Options").Dialog("Delete Browsing History").Dialog("Delete Browsing History").WinButton("Yes").Click
Browser("Real Estate Listings,").Dialog("Internet Options").WinButton("OK").Click 
Browser("Real Estate Listings,").Page("Real Estate Listings,").Sync
Browser("Real Estate Listings,").Close 
End Sub                         
Subroutine to create a file to store results of this test 
Sub CreateFiles 
      Set fso = CreateObject("Scripting.FileSystemObject")
      Set filetxt = fso.CreateTextFile(mypath, true)
            filetxt.WriteLine("<html><font face=Arial color=blue><h3><b>2Step_1orMoreAcres_Attribute_145_100orMoreAcres&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" ) & Date&"<br>"
            filetxt.WriteLine("</b></font></h3><br>")  
             filetxt.WriteLine("<br><font face=Arial></html>")     
             filetxt.Close
          
End Sub
'____________________________________________________________________________________________________________________________________
'Report the results of  the test 
Sub ReportPass 
      Const ForReading = 1, ForWriting = 2, ForAppending = 8
      Set fso = CreateObject("Scripting.FileSystemObject")
      Set filetxt = fso.OpenTextFile(mypath, ForAppending, True) 
    filetxt.WriteLine(val &"<br>")
      filetxt.WriteLine("<br>") 
End Sub  
'____________________________________________________________________________________________________________________________________
'Report the results of  the test 
Sub ReportFail 
      Const ForReading = 1, ForWriting = 2, ForAppending = 8
      Set fso = CreateObject("Scripting.FileSystemObject")
      Set filetxt = fso.OpenTextFile(mypath, ForAppending, True)       
      filetxt.WriteLine("<font color=red>"&val&"<br>")
      filetxt.WriteLine("URL = " & strTargetURL &"</font><br>")
      filetxt.WriteLine("<br>") 
End Sub
'____________________________________________________________________________________________________________________________________
'Update execution result in dbo.Automation_Run table 
Sub UpdateRun 
      Set dbConnection = CreateObject("ADODB.Connection")
      dbConnection.Open("Driver={SQL Server};Server=TAZ02MON901;Database=Automation")
      sqlUpdateRun = "EXEC dbo.sp_AUTOMATION_RUNS_MOD @SCRIPTID = '186', @RUNSTATUSID = " & intRunStatusID
       
      dbConnection.Execute(sqlUpdateRun)
      dbConnection.Close
      Set dbConnection = Nothing
         
End Sub                        
'____________________________________________________________________________________________________________________________________
'Subroutine to send an email notification of test results 
Sub SendMail  
                        If msgnum = 0 Then
                              msgstr = "2Step_1orMoreAcres_Attribute_145_100orMoreAcres Test Results:" &vbcrLf &"All Test Cases Passed "
                                    Else
                                          msgstr = "2Step_1orMoreAcres_Attribute_145_100orMoreAcres Test Results:" &vbcrLf &"One or more of the Test Cases Failed." &vbcrLf &"See attachment for details."
                        End If 
            Set objMessage = CreateObject("CDO.Message")
            objMessage.Subject = "~2Step_1orMoreAcres_Attribute_145_100orMoreAcres"
            objMessage.From = "sam.harris@move.com"  
            objMessage.To = "sam.harris@move.com"
            'objMessage.To = "sam.harris@move.com; erica.kubitsky@move.com; seema.alexander@move.com" 
            'objMessage.To = "QA-Realtor@move.com" 
            objMessage.TextBody = msgstr  
            doc = mypath   'Local
            objMessage.AddAttachment (doc) 
            '________________________________________________________________________________________________________________________________
            'This section provides the configuration information for the remote SMTP server. 
            objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2  
            'Name or IP of Remote SMTP Server
           'smtpServer = "apmx01.homestore.com"
             smtpServer = "smtp.phx.move.com"
            objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = (smtpServer)
                
            'Type of authentication, NONE, Basic (Base64 encoded), NTLM
            objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoNONE 
            'Your UserID on the SMTP server
            'objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "youruserid" 
            'Your password on the SMTP server
            'objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "yourpassword" 
            'Server port (typically 25)
            objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25  
            'Use SSL for the connection (False or True)
            objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False 
            'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server)
            objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 
            objMessage.Configuration.Fields.Update 
            '________________________________________________________________________________________________________________________________   
            'Send the notification    
            objMessage.Send  
End Sub
'____________________________________________________________________________________________________________________________________
'Subroutine to send an email notification of test results to the Realtor group 
Sub SendMail2  
                        If msgnum = 0 Then
                              msgstr = "2Step_1orMoreAcres_Attribute_145_100orMoreAcres Test Results:" &vbcrLf &"All Test Cases Passed "
                                    Else
                                          msgstr = "2Step_1orMoreAcres_Attribute_145_100orMoreAcres Test Results:" &vbcrLf &"One or more of the Test Cases Failed." &vbcrLf &"See attachment for details."
                        End If 
            Set objMessage = CreateObject("CDO.Message")
            objMessage.Subject = "~2Step_1orMoreAcres_Attribute_145_100orMoreAcres"
            objMessage.From = "sam.harris@move.com"  
            'objMessage.To = "sam.harris@move.com"
            objMessage.To = "QA-Realtor@move.com" 
            objMessage.TextBody = msgstr  
            doc = mypath   'Local
            objMessage.AddAttachment (doc) 
            '________________________________________________________________________________________________________________________________
            'This section provides the configuration information for the remote SMTP server. 
            objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2  
            'Name or IP of Remote SMTP Server
           'smtpServer = "apmx01.homestore.com"
             smtpServer = "smtp.phx.move.com"
            objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = (smtpServer)
                
            'Type of authentication, NONE, Basic (Base64 encoded), NTLM
            objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoNONE 
            'Your UserID on the SMTP server
            'objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "youruserid" 
            'Your password on the SMTP server
            'objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "yourpassword" 
            'Server port (typically 25)
            objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25  
            'Use SSL for the connection (False or True)
            objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False 
            'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server)
            objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 
            objMessage.Configuration.Fields.Update 
            '________________________________________________________________________________________________________________________________   
            'Send the notification    
            objMessage.Send  
End Sub
'____________________________________________________________________________________________________________________________________
'Subroutine to append an Excel file 
Sub AppendXL 
Set ExcelObj = CreateObject("Excel.Application")
ExcelObj.Visible = True
Set wb = ExcelObj.Workbooks.Open (strDataSheet) 
r = 1
Do Until Len(ExcelObj.Cells(r, 1).Value) = 0
  r = r + 1
Loop 
ExcelObj.Cells(r, 1).Value = strTestName
ExcelObj.Cells(r, 2).Value = strView
ExcelObj.Cells(r, 3).Value = listingid
ExcelObj.Cells(r, 4).Value = postalcode
ExcelObj.Cells(r, 5).Value = marketingtypeid
ExcelObj.Cells(r, 6).Value = listingtypeid
ExcelObj.Cells(r, 7).Value = bedrooms
ExcelObj.Cells(r, 8).Value = bathrooms
ExcelObj.Cells(r, 9).Value = price
ExcelObj.Cells(r, 10).Value = address
ExcelObj.Cells(r, 11).Value = city
ExcelObj.Cells(r, 12).Value = state
ExcelObj.Cells(r, 13).Value = strDate
ExcelObj.Cells(r, 14).Value = strStartTime
ExcelObj.Cells(r, 15).Value = strEndTime 
ExcelObj.DisplayAlerts = False
ExcelObj.Save
ExcelObj.Quit
Set ExcelObj = Nothing 
End Sub
'____________________________________________________________________________________________________________________________________
'Subroutine to check the list view
Sub ListCheck 
For Counter=0 to strResults-1
      strTextDesc=childObjs(Counter).GetROProperty("outerhtml")
      'msgbox strTextDesc 
      ListingCheck = InStr (strTextDesc,listingid)
      'msgbox ListingCheck 
      If  ListingCheck <> 0 Then
            'msgbox "Pass"
                  strFail= 0
                        Exit For
             Else
      'msgbox "Fail"
                  strFail = 1
      End If 
Next 
End Sub
'____________________________________________________________________________________________________________________________________
'Subroutine to check the galery view
Sub GalleryCheck 
For Counter=0 to strResults-1
      strTextDesc=childObjs(Counter).GetROProperty("outerhtml")
      'msgbox strTextDesc 
      ListingCheck = InStr (strTextDesc,listingid)
      'msgbox ListingCheck 
      If  ListingCheck <> 0 Then
            'msgbox "Pass"
                  strFail= 0
                        Exit For
             Else
      'msgbox "Fail"
                  strFail = 1
      End If 
Next 
End Sub
'____________________________________________________________________________________________________________________________________
' Subroutine to check the map view 
Sub Mapcheck 
strPnum = 0 
For Counter=0 to strResults-1 
      strPropertyDesc = childObjs(strPnum).GetROProperty("outerhtml")
      'strPropertyDesc=Browser("Real Estate Listings,_5").Page("55116 real estate & 55116").Image("Community Photo").GetROProperty("outerhtml")
      'msgbox strPropertyDesc 
      ListingCheck = InStr (strPropertyDesc,listingid)
      'msgbox ListingCheck 
      If  ListingCheck <> 0 Then
            'msgbox "Pass"
                  strFail= 0
                        Exit For
             Else
      'msgbox "Fail"
                  strFail = 1
      End If
'
strPnum =strPnum+1 
Next 
End Sub
'____________________________________________________________________________________________________________________________________