office-gobmx/testautomation/dbaccess/required/includes/TableDesign.inc
2010-10-09 18:56:58 +02:00

509 lines
16 KiB
PHP

'encoding UTF-8 Do not remove or change this line!
'**************************************************************************
' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
'
' Copyright 2000, 2010 Oracle and/or its affiliates.
'
' OpenOffice.org - a multi-platform office productivity suite
'
' This file is part of OpenOffice.org.
'
' OpenOffice.org is free software: you can redistribute it and/or modify
' it under the terms of the GNU Lesser General Public License version 3
' only, as published by the Free Software Foundation.
'
' OpenOffice.org is distributed in the hope that it will be useful,
' but WITHOUT ANY WARRANTY; without even the implied warranty of
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
' GNU Lesser General Public License version 3 for more details
' (a copy is included in the LICENSE file that accompanied this code).
'
' You should have received a copy of the GNU Lesser General Public License
' version 3 along with OpenOffice.org. If not, see
' <http://www.openoffice.org/license.html>
' for a copy of the LGPLv3 License.
'
'/************************************************************************
'*
'* owner : marc.neumann@oracle.com
'*
'* short description : test the Main Table Design Application Window
'*
'************************************************************************
'*
' #1 tEdit
' #1 tSave
' #1 tSaveAs
' #1 tIndexDesign
' #1 tCut
' #1 tCopy
' #1 tPaste
' #1 tUndo
' #1 tRedo
'*
'\***********************************************************************************
sub TableDesign
printlog "------------------ TableDesign.inc ---------------------"
printlog "-------------------- main menu -------------------------"
call tMainMenuBar
printlog "--------------------- toolbar --------------------------"
call tSave
call tIndexDesign
call tCut
call tCopy
call tPaste
call tUndo
call tRedo
end sub
'-------------------------------------------------------------------------
testcase tSave
'/// open a new table design
printlog "open a new table design"
initTableDesign
sleep(1)
'/// insert a fieldname
printlog "insert a fieldname"
Kontext "TableDesignTable"
Fieldname.setText "hello"
sleep(1)
'/// click on the save button
printlog "click on the save button"
Kontext "Toolbar"
Save.Click
sleep(1)
'/// check if the save dialog appear
printlog "check if the save dialog appear"
Kontext "DatabaseTableSaveAs"
if ( not DatabaseTableSaveAs.exists(3) ) then
warnlog "the save dialog doesn't appear."
else
'/// cancel the save dialog
printlog "cancel the save dialog"
DatabaseTableSaveAs.Cancel
end if
'/// close tables design and the database
printlog "close tables design and the database"
call fCloseTableDesign
call fCloseDatabase
endcase
'-------------------------------------------------------------------------
testcase tIndexDesign
'/// open a new table design
printlog "open a new table design"
initTableDesign
sleep(1)
'/// insert a fieldname
printlog "insert a fieldname"
Kontext "TableDesignTable"
Fieldname.setText "hello"
sleep(1)
'/// click on the save button
printlog "click on the save button"
Kontext "Toolbar"
Save.Click
sleep(1)
Kontext "DatabaseTableSaveAs"
if ( not DatabaseTableSaveAs.exists(3) ) then
warnlog "the save dialog doesn't appear."
goto endsub
else
'/// save with the default name
printlog "save with the default name"
Kontext "DatabaseTableSaveAs"
TableName.setText("testtable1")
DatabaseTableSaveAs.OK
end if
'/// click on the index design icon
printlog "click on the index design icon"
Kontext "Toolbar"
DBIndexDesign.Click
sleep(1)
'/// close the index design
printlog "close the index design"
Kontext "DatabaseIndexes"
DatabaseIndexesClose.click
'/// close the table design
printlog "close the table design"
call fCloseTableDesign
'/// delete the created table
printlog "delete the created table"
call fDeleteTable("testtable1")
'/// close the database
printlog "close the database"
call fCloseDatabase
endcase
'-------------------------------------------------------------------------
testcase tCut
'/// open a new tabledesign
printlog "open a new tabledesign"
initTableDesign
sleep(1)
'/// insert a field name
printlog "insert a field name"
Kontext "TableDesignTable"
TableDesignTable.TypeKeys "hello" , true
sleep(1)
'/// select the field name with SHIFT HOME
printlog "select the field name with SHIFT HOME"
TableDesignTable.TypeKeys "<SHIFT HOME>" , true
sleep(1)
'/// click on the cut button
printlog "click on the cut button"
Kontext "Toolbar"
Cut.Click
sleep(1)
'/// check if the text is in the clipboard
printlog "check if the text is in the clipboard"
if getClipboard <> "hello" then
warnlog "The Cut button doesn't work"
end if
'/// check if the fieldname is cutted
printlog "check if the fieldname is cutted"
Kontext "TableDesignTable"
if ( Fieldname.getText <> "" ) then
warnlog "the text was not cutted"
end if
'/// close the table design and the database
printlog "close the table design and the database"
call fCloseTableDesign
call fCloseDatabase
endcase
'-------------------------------------------------------------------------
testcase tCopy
'/// open a new tabledesign
printlog "open a new tabledesign"
initTableDesign
'/// insert a field name
printlog "insert a field name"
Kontext "TableDesignTable"
TableDesignTable.TypeKeys "hello" , true
sleep(1)
'/// select the field name with SHIFT HOME
printlog "select the field name with SHIFT HOME"
TableDesignTable.TypeKeys "<SHIFT HOME>" , true
sleep(1)
'/// click on the copy icon
printlog "click on the copy icon"
Kontext "Toolbar"
Copy.Click
sleep(1)
'/// check if the text is in the clipboard
printlog "check if the text is in the clipboard"
if getClipboard <> "hello" then
warnlog "The Cut button doesn't work"
end if
'/// close the table design and the database
printlog "close the table design and the database"
call fCloseTableDesign
call fCloseDatabase
endcase
'-------------------------------------------------------------------------
testcase tPaste
'/// opene new table design
printlog "opene new table design"
initTableDesign
'/// set a string to the clipboard
printlog "set a string to the clipboard"
setClipboard "word"
'/// press the cursor left key
printlog "press the cursor left key"
Kontext "TableDesignTable"
TableDesignTable.TypeKeys "<LEFT>" , true
'/// paste the text from the clipbaord
printlog "paste the text from the clipbaord"
Kontext "Toolbar"
Paste.Click
sleep(1)
'/// check if the text is pasted to the fieldname
printlog "check if the text is pasted to the fieldname"
Kontext "TableDesignTable"
if Fieldname.getText <> "word" then
warnlog "the paste button doesn't work"
end if
'/// close the table design and the database
printlog "close the table design and the database"
call fCloseTableDesign
call fCloseDatabase
endcase
'-------------------------------------------------------------------------
testcase tUndo
'/// opene new table design
printlog "opene new table design"
initTableDesign
'/// set a string to the clipboard
printlog "set a string to the clipboard"
setClipboard "word"
Kontext "TableDesignTable"
TableDesignTable.TypeKeys "" , true
'/// paste the text from the clipbaord
printlog "paste the text from the clipbaord"
Kontext "Toolbar"
Paste.Click
sleep(1)
'/// check if the text is pasted to the fieldname
printlog "check if the text is pasted to the fieldname"
Kontext "TableDesignTable"
if Fieldname.getText <> "word" then
warnlog "the paste button doesn't work"
end if
'/// click the undo icon
printlog "click the undo icon"
Kontext "Toolbar"
Undo.Click
sleep(1)
'/// check if the fieldname is empty again(undo work)
printlog "check if the fieldname is empty again(undo work)"
Kontext "TableDesignTable"
TableDesignTable.TypeKeys "<LEFT>" , true
if Fieldname.getText <> "" then
warnlog "the undo button doesn't work"
end if
'/// close the table design and the database
printlog "close the table design and the database"
call fCloseTableDesign
call fCloseDatabase
endcase
'-------------------------------------------------------------------------
testcase tRedo
'/// opene new table design
printlog "opene new table design"
initTableDesign
'/// set a string to the clipboard
printlog "set a string to the clipboard"
setClipboard "word"
'/// press the cursor left key
printlog "press the cursor left key"
Kontext "TableDesignTable"
TableDesignTable.TypeKeys "<LEFT>" , true
'/// paste the text from the clipbaord
printlog "paste the text from the clipbaord"
Kontext "Toolbar"
Paste.Click
sleep(1)
'/// check if the text is pasted to the fieldname
printlog "check if the text is pasted to the fieldname"
Kontext "TableDesignTable"
if Fieldname.getText <> "word" then
warnlog "the paste button doesn't work"
end if
'/// click the undo icon
printlog "click the undo icon"
Kontext "Toolbar"
Undo.Click
sleep(1)
'/// press the cursor left key
printlog "press the cursor left key"
Kontext "TableDesignTable"
TableDesignTable.TypeKeys "<LEFT>" , true
if Fieldname.getText <> "" then
warnlog "the undo button doesn't work"
end if
'/// click the redo icon
printlog "click the redo icon"
Kontext "Toolbar"
Redo.Click
sleep(1)
'/// press the cursor left key
printlog "press the cursor left key"
Kontext "TableDesignTable"
TableDesignTable.TypeKeys "<LEFT>" , true
if Fieldname.getText <> "word" then
warnlog "the redo button doesn't work"
end if
'/// close the tabledesign and the database
printlog "close the tabledesign and the database"
call fCloseTableDesign
call fCloseDatabase
endcase
'-------------------------------------------------------------------------
'-------------------------------------------------------------------------
testcase tMainMenuBar
dim iCount as integer ' the numbers of the items in the menu.
call initTableDesign
Kontext "TableDesignTable"
TableDesignTable.UseMenu
'/// check if there are between 8 and 12 items in the file menu.
printlog "check if there are between 8 and 12 items in the file menu."
'/// + there different count related to the file pick list.
printlog "+ there different count related to the file pick list."
hMenuSelectNr(1) ' the file menu
iCount = getMenuItemCount()
if ( lcase( gPlatform ) = "osx" ) then
if ( iCount <> 7 ) then
warnlog( "File menu: 7 items expected, found " & iCount )
endif
else
if (iCount <> 8 ) then
warnlog "There should between 8 and 12 items in the file menu but there are " + iCount + " items."
end if
endif
'/// check if there are 12 items in the FILE/NEW menu.
printlog "check if there are 12 items in the FILE/NEW menu."
printlog "check the FILE/NEW"
hMenuSelectNr(1) ' FILE/NEW menu
iCount = hMenuItemGetCount()
if (iCount <> 12) then
warnlog "There should 12 items in the FILE/NEW menu but there are " + iCount + " items."
end if
call hMenuClose() ' close the FILE menu
'/// check the FILE/AUTOPILOTS
printlog "check the FILE/AUTOPILOTS"
TableDesignTable.UseMenu
hMenuSelectNr(1) ' the file menu
hMenuSelectNr(3) ' the autopilots menu
iCount = hMenuItemGetCount()
if (iCount <> 8) then
warnlog "There should 8 items in the FILE/AUTOPILOTS menu but there are " + iCount + " items."
endif
call hMenuClose()
'/// check if there are 5 items in the edit menu.
printlog "check if there are 5 items in the edit menu."
TableDesignTable.UseMenu
hMenuSelectNr(2)
iCount = hMenuItemGetCount()
if (iCount <> 5) then
warnlog "There should 5 items in the edit menu but there are " + iCount + " items."
end if
call hMenuClose()
'/// check if there are 2 items in the view menu.
printlog "check if there are 2 items in the view menu."
TableDesignTable.UseMenu
hMenuSelectNr(3)
iCount = hMenuItemGetCount()
if (iCount <> 2) then
warnlog "There should 2 items in the edit menu but there are " + iCount + " items."
end if
call hMenuClose()
'/// check if there are 5 items in the tools menu.
printlog "check if there are 5 items in the tools menu."
TableDesignTable.UseMenu
hMenuSelectNr(4)
iCount = hMenuItemGetCount()
if ( lcase( gPlatform ) = "osx" ) then
if ( iCount <> 4 ) then
warnlog( "Tools menu: 4 items expected, found " & iCount )
endif
else
if (iCount <> 5) then
warnlog "There should 5 items in the tools menu but there are " + iCount + " items."
end if
endif
call hMenuClose()
'/// check if there are 4 items in the TOOLS/MACRO menu.
printlog "check if there are 4 items in the TOOLS/MACRO menu."
TableDesignTable.UseMenu
hMenuSelectNr(4)
hMenuSelectNr(2)
iCount = hMenuItemGetCount()
if (iCount <> 4) then
warnlog "There should 4 items in the TOOLS/MACRO menu but there are " + iCount + " items."
end if
call hMenuClose()
call fCloseTableDesign
call fCloseDatabase
endcase
'-------------------------------------------------------------------------
'-------------------------------------------------------------------------
'-------------------------------------------------------------------------
function getMenuItemCount as Integer
'use this function becasue this doesn't count the pick list
Dim i as Integer
Dim j as Integer
Dim Ende as Integer
Dim nID as Integer
Sleep 2
j=0
for i=1 to MenuGetItemCount
if NOT MenuIsSeperator ( i ) then
dim s as String
s = Mid(MenuGetItemText( MenuGetItemID(i)),3,1)
'printlog "s = " + s
'printlog "MenuGetItemText( MenuGetItemID(i)) = " + MenuGetItemText( MenuGetItemID(i))
if s <> ":" then
j=j+1
endif
endif
next i
getMenuItemCount = j
end function
'-------------------------------------------------------------------------
sub initTableDesign
hFileOpen( gOfficePath & "user/database/biblio.odb" )
Kontext "DATABASE"
Database.MouseDown(50,50)
Database.MouseUp(50,50)
sleep(1)
ViewTables
sleep(1)
NewTableDesign
sleep(2)
end sub