macOS-specific |
---|
The macOS Convenience API is only available forthe Squish for macOS editions. |
Terminology |
---|
The Squish documentation uses the term widgetwhen referring to GUI objects. macOS developers may be morefamiliar with the term view for this concept. |
- Squish Coco can target applications running on Linux, Windows, Mac OS X and other platforms. Squish Coco is available for the following programming languages: C; C; C#; Tcl; Squish Coco can be used at every stage of testing and with every testing method (unit tests, automated tests, manual tests, etc.).
- Joined May 19, 2009 Messages 8,428 Reaction score 295 Points 83 Location Waiting for a mate. Your Mac's Specs 21' iMac 2.9Ghz 16GB RAM - 10.11.3, iPhone6s & iPad Air 2 - iOS 9.2.1, ATV 4Th Gen tvOS, ATV3.
Mac Convenience Function Parameters |
---|
Some of the macOS convenience functions can take a The The |
Squish enables testing of native Carbon and Cocoa GUI applications on Apple OS X systems. Squish is the only GUI testing tool for OS X applications that offers a tight - still non-intrusive - integration into the Carbon and Cocoa system toolkits. Tests can be recorded or written manually in JavaScript, Python, Perl, or Tcl. Squash (was Squish) is a super-simple app for compressing your images for lower filesize! Don't lose quality, or end up with grainy or horrible images. Squish maintains their existing resolution and quality, and just reduces the filesize! Whatever your reason, Squish is great for optimizing images for.
Here are some quick links to the macOS Convenience API's functions:
activateItem(
objectOrName)
;
This function activates the objectOrName
menuitem. This menu item must be a reference to (or a name that identifies)an NSMenuItem
or a Carbon menu item. The menu itemcan be part of the application menu or a menu item inside anNSPopUpButton
.
macOS Universal Access |
---|
In order to replay menu activations on macOS as well as use the The dialog can also be opened manually:Open the System Preferences and choose Security& Privacy. Then choose the Privacy tab andselect Accessibility on the left side. In order to make changes, click the symbol in thelower left and enter the credentials of an administrative user. Thencheck the Squishide orTerminal app which needs permissions, from the list. Note that at any given time there will be only one Squish IDE instance that hasaccess to the accessibility API and hence can run scripts that automate menus,use the Finally it may sometimes happen that macOS always asks for enabling theaccessibility support during the startup of the Squish IDE. In such cases ithelps to completely reset the database for Accessibility-enablement and clearout the whole list. Rust away mac os. This can be done using thetccutil from macOS: After executing the command restart the Squish IDE to trigger theAccessibility-enablement popup again. |
clearWebObjectCache(
)
;
This function clears the cache for hierarchical names for objects in a WebView.This can be useful in cases where a web application removes some elements ofa web page after interacting with it and then the same hierarchical name usedbefore should find a different object. Without clearing the cache in this situationthe old object will be retrieved from the cache when searching for the hierarchicalname after the website has changed its content. The cache however is necessary to keeplookup for hierarchical performant and scalable for deeper hierarchies.
This function is identical to mouseClick
.It is included only for compatibility with old scripts. It should not beused in new scripts since it may eventually be removed from Squish.
—deprecated— clickTab(
objectOrName)
;
This function is identical to mouseClick
.It is included only for compatibility with old scripts. It should not beused in new scripts since it may eventually be removed from Squish.
doubleClick(
objectOrName, x, y)
;
doubleClick(
objectOrName, x, y, modifierState, button)
;
This function double-clicks the mouse on the specifiedobjectOrName
widget.
By default the object is clicked in the middle, but this can be changedby passing object-relative coordinates, x
andy
. By default button 0 (the primary button)is used, but this can be changed by specifying the optionalbutton
argument. Similarly a defaultmodifier state of 0 (no modifiers) is used, but this can bechanged by specifying the modifierState
argument.Note that to specify the modifier, the button must also be specified,and to specify the modifier, the position must be specified.See Mac Convenience Function Parameters for whichvalues are valid for the modifierState
and forthe button
arguments.
This function takes a screenshot of the object
window (or widget) and returns it as an QImage
Object (Section 6.3.13).
The Newer Way to Grab a Widget |
---|
Instead of using |
See the waitForObject
and findObject
functions for how to get an objectreference to a window or widget.
installEventHandler(
eventName, handlerFunctionName)
;
This function installs a global event handler. The script functionnamed in handlerFunctionName
(which must be passedas a string, not as a function reference, except for Python, whichsupports passing a function reference, too), will be called when an eventof the eventName
type occurs.
Squish Mac Os Catalina
The eventName
can be the name of any of thefollowing event types:
'SheetOpened' – occurs when amacOS sheet is shown (note that this only applies to Cocoaapplications)
'WindowOpened' – occurs when amacOS toplevel window is shown (note that this only applies to Cocoaapplications)
'Timeout' –occurs when the Squish response timeout is reached
When the SheetOpened
event occurs, the functionnamed in handlerFunctionName
is called. Thefunction is passed one argument—the window object that opened thesheet. If you want to access the sheet itself, call theattachedSheet
function on theNSWindow object.
When the WindowOpened
event occurs, the functionnamed in handlerFunctionName
is called. Thefunction is passed one argument—the window object that was opened.The event occurs only for toplevel windows (NSWindow andNSPanel objects), but it does not occur for windows thatare shown as sheets. Use the SheetOpened
event ifyou are interested in sheets.
Python-specific |
---|
In Python scripts, you can specify the callback function to invoke bypassing an actual function or a lambda function. |
For examples see How to Use Event Handlers (Section 5.10).
The AUT Must be Running |
---|
The |
mouseClick(
objectOrName, x, y)
;
mouseClick(
objectOrName, x, y, modifierState, button)
;
This function clicks the mouse on the specifiedobjectOrName
widget.
By default the object is clicked in the middle, but this can be changedby passing object-relative coordinates, x
andy
. By default button 0 (the primary button)is used, but this can be changed by specifying the optionalbutton
argument. Similarly a defaultmodifier state of 0 (no modifiers) is used, but this can bechanged by specifying the modifierState
argument.Note that to specify the modifier, the button must also be specified,and to specify the modifier, the position must be specified.See Mac Convenience Function Parameters for whichvalues are valid for the modifierState
and forthe button
arguments.
mouseDrag(
objectOrName, x, y, dx, dy, modifierState, button)
;
This function performs a mouse drag from theobjectOrName
widget to a position that ishorizontally offset by dx
pixels and verticallyoffset by dy
pixels from positionx
, y
in theobjectOrName
widget's coordinates.
By default button 0 (the primary button) is used, but this can be changedby specifying the optional button
argument.Similarly a default modifier state of 0 (no modifiers) is used, but thiscan be changed by specifying the modifierState
argument. Note that to specify the modifier, the button must also bespecified, and to specify the modifier, the position must be specified. SeeMac Convenience Function Parameters for which values arevalid for the modifierState
and for thebutton
arguments.
mouseMove(
objectOrName, x, y)
;
This function moves the mouse to the center of theobjectOrName
widget, or if coordinates arespecified, to position x
andy
relative to theobjectOrName
widget.
This function is useful if you want to trigger events that need themouse to be at a particular position. For example, tooltips normallyonly appear when the mouse is over a certain area.
This function ensures that the objectOrName
widget is visible in the scroll widget that contains it, by scrolling ifnecessary.
If there are nested scroll widgets, the innermost one that contains theobjectOrName
widget is the one that will bescrolled.
Currently this function only works for NSView
subclasses and for items in a NSTableView
andNSOutlineView
. If you need support for otherclasses, contact froglogic support.
type(
objectOrName, text)
;
Squish Mac Os Download
This function types the specified text
(as if theuser had used the keyboard) into the objectOrName
editable widget. If the text is surrounded by angle brackets (<>),it is interpreted as a key combination, e.g''
. The input is case-sensitive, sotype(object, 'R')
is different fromtype(object, 'r')
.
The following non-printable keys are supported in key combinations:,
,
,
,
,
,
,
,
,
,
,
,
,and
.
uninstallEventHandler(
eventName, handlerFunctionName)
;
This function uninstalls an event handler that has been previouslyinstalled using installEventHandler
.
Details Group Tabs
DetailsSquish is the leading functional, cross-platform GUI and regression testing tool that can test applications based on a variety of GUI technologies, including Java SWT/Eclipse RCP, Java AWT/Swing, JavaFX, the Qt, QML and QtQuick GUI toolkits, Windows MFC, .NET WindowsForms and WPF, Mac OS X Carbon/Cocoa, iOS Cocoa Touch, Android and Web/HTML5/AJAX/Flex.
Squish stands out from other GUI testing tools by giving test engineers the freedom to record and write tests using familiar scripting languages such as JavaScript, Perl, Python, Tcl, and Ruby.
This function activates the objectOrName
menuitem. This menu item must be a reference to (or a name that identifies)an NSMenuItem
or a Carbon menu item. The menu itemcan be part of the application menu or a menu item inside anNSPopUpButton
.
macOS Universal Access |
---|
In order to replay menu activations on macOS as well as use the The dialog can also be opened manually:Open the System Preferences and choose Security& Privacy. Then choose the Privacy tab andselect Accessibility on the left side. In order to make changes, click the symbol in thelower left and enter the credentials of an administrative user. Thencheck the Squishide orTerminal app which needs permissions, from the list. Note that at any given time there will be only one Squish IDE instance that hasaccess to the accessibility API and hence can run scripts that automate menus,use the Finally it may sometimes happen that macOS always asks for enabling theaccessibility support during the startup of the Squish IDE. In such cases ithelps to completely reset the database for Accessibility-enablement and clearout the whole list. Rust away mac os. This can be done using thetccutil from macOS: After executing the command restart the Squish IDE to trigger theAccessibility-enablement popup again. |
clearWebObjectCache(
)
;
This function clears the cache for hierarchical names for objects in a WebView.This can be useful in cases where a web application removes some elements ofa web page after interacting with it and then the same hierarchical name usedbefore should find a different object. Without clearing the cache in this situationthe old object will be retrieved from the cache when searching for the hierarchicalname after the website has changed its content. The cache however is necessary to keeplookup for hierarchical performant and scalable for deeper hierarchies.
This function is identical to mouseClick
.It is included only for compatibility with old scripts. It should not beused in new scripts since it may eventually be removed from Squish.
—deprecated— clickTab(
objectOrName)
;
This function is identical to mouseClick
.It is included only for compatibility with old scripts. It should not beused in new scripts since it may eventually be removed from Squish.
doubleClick(
objectOrName, x, y)
;
doubleClick(
objectOrName, x, y, modifierState, button)
;
This function double-clicks the mouse on the specifiedobjectOrName
widget.
By default the object is clicked in the middle, but this can be changedby passing object-relative coordinates, x
andy
. By default button 0 (the primary button)is used, but this can be changed by specifying the optionalbutton
argument. Similarly a defaultmodifier state of 0 (no modifiers) is used, but this can bechanged by specifying the modifierState
argument.Note that to specify the modifier, the button must also be specified,and to specify the modifier, the position must be specified.See Mac Convenience Function Parameters for whichvalues are valid for the modifierState
and forthe button
arguments.
This function takes a screenshot of the object
window (or widget) and returns it as an QImage
Object (Section 6.3.13).
The Newer Way to Grab a Widget |
---|
Instead of using |
See the waitForObject
and findObject
functions for how to get an objectreference to a window or widget.
installEventHandler(
eventName, handlerFunctionName)
;
This function installs a global event handler. The script functionnamed in handlerFunctionName
(which must be passedas a string, not as a function reference, except for Python, whichsupports passing a function reference, too), will be called when an eventof the eventName
type occurs.
Squish Mac Os Catalina
The eventName
can be the name of any of thefollowing event types:
'SheetOpened' – occurs when amacOS sheet is shown (note that this only applies to Cocoaapplications)
'WindowOpened' – occurs when amacOS toplevel window is shown (note that this only applies to Cocoaapplications)
'Timeout' –occurs when the Squish response timeout is reached
When the SheetOpened
event occurs, the functionnamed in handlerFunctionName
is called. Thefunction is passed one argument—the window object that opened thesheet. If you want to access the sheet itself, call theattachedSheet
function on theNSWindow object.
When the WindowOpened
event occurs, the functionnamed in handlerFunctionName
is called. Thefunction is passed one argument—the window object that was opened.The event occurs only for toplevel windows (NSWindow andNSPanel objects), but it does not occur for windows thatare shown as sheets. Use the SheetOpened
event ifyou are interested in sheets.
Python-specific |
---|
In Python scripts, you can specify the callback function to invoke bypassing an actual function or a lambda function. |
For examples see How to Use Event Handlers (Section 5.10).
The AUT Must be Running |
---|
The |
mouseClick(
objectOrName, x, y)
;
mouseClick(
objectOrName, x, y, modifierState, button)
;
This function clicks the mouse on the specifiedobjectOrName
widget.
By default the object is clicked in the middle, but this can be changedby passing object-relative coordinates, x
andy
. By default button 0 (the primary button)is used, but this can be changed by specifying the optionalbutton
argument. Similarly a defaultmodifier state of 0 (no modifiers) is used, but this can bechanged by specifying the modifierState
argument.Note that to specify the modifier, the button must also be specified,and to specify the modifier, the position must be specified.See Mac Convenience Function Parameters for whichvalues are valid for the modifierState
and forthe button
arguments.
mouseDrag(
objectOrName, x, y, dx, dy, modifierState, button)
;
This function performs a mouse drag from theobjectOrName
widget to a position that ishorizontally offset by dx
pixels and verticallyoffset by dy
pixels from positionx
, y
in theobjectOrName
widget's coordinates.
By default button 0 (the primary button) is used, but this can be changedby specifying the optional button
argument.Similarly a default modifier state of 0 (no modifiers) is used, but thiscan be changed by specifying the modifierState
argument. Note that to specify the modifier, the button must also bespecified, and to specify the modifier, the position must be specified. SeeMac Convenience Function Parameters for which values arevalid for the modifierState
and for thebutton
arguments.
mouseMove(
objectOrName, x, y)
;
This function moves the mouse to the center of theobjectOrName
widget, or if coordinates arespecified, to position x
andy
relative to theobjectOrName
widget.
This function is useful if you want to trigger events that need themouse to be at a particular position. For example, tooltips normallyonly appear when the mouse is over a certain area.
This function ensures that the objectOrName
widget is visible in the scroll widget that contains it, by scrolling ifnecessary.
If there are nested scroll widgets, the innermost one that contains theobjectOrName
widget is the one that will bescrolled.
Currently this function only works for NSView
subclasses and for items in a NSTableView
andNSOutlineView
. If you need support for otherclasses, contact froglogic support.
type(
objectOrName, text)
;
Squish Mac Os Download
This function types the specified text
(as if theuser had used the keyboard) into the objectOrName
editable widget. If the text is surrounded by angle brackets (<>),it is interpreted as a key combination, e.g''
. The input is case-sensitive, sotype(object, 'R')
is different fromtype(object, 'r')
.
The following non-printable keys are supported in key combinations:,
,
,
,
,
,
,
,
,
,
,
,
,and
.
uninstallEventHandler(
eventName, handlerFunctionName)
;
This function uninstalls an event handler that has been previouslyinstalled using installEventHandler
.
Details Group Tabs
DetailsSquish is the leading functional, cross-platform GUI and regression testing tool that can test applications based on a variety of GUI technologies, including Java SWT/Eclipse RCP, Java AWT/Swing, JavaFX, the Qt, QML and QtQuick GUI toolkits, Windows MFC, .NET WindowsForms and WPF, Mac OS X Carbon/Cocoa, iOS Cocoa Touch, Android and Web/HTML5/AJAX/Flex.
Squish stands out from other GUI testing tools by giving test engineers the freedom to record and write tests using familiar scripting languages such as JavaScript, Perl, Python, Tcl, and Ruby.
Furthermore, Squish provides extremely tight integration with the specific GUI technologies it supports. This gives testers unprecedented access to the internals of the applications they are testing (to data items, controls, widgets, etc.), and also leads to the production of very robust and stable GUI tests.
Squish and all the tests created with it, are completely cross-platform, and work on Windows, Linux/Unix, Mac OS X, embedded Linux, iOS, Android and several RTOSes.
Squish is being successfully used in more than 3000 QA departments across the world in thousands of companies both large and small, including, for example, Airbus, ARM, American Power Conversion, Boeing, Daimler, Electronic Arts, EADS, Ericsson, France Telecom Group, General Electric, Intel, SAP, Siemens, Synopsys, Xilinx and several government organizations.
You can get a free and supported trial at http://www.froglogic.com/evaluate
- IDE,
- Linux Tools,
- Mobile and Device Development,
- Testing,
- GUI Testing,
- test automation,
- Eclipse testing,
- RCP testing,
- mobile testing,
- testing,
- JavaFx testing,
Date | Ranking | Installs | Clickthroughs |
---|---|---|---|
April 2021 | NA | 0 (0%) | 15 |
March 2021 | NA | 0 (0%) | 6 |
February 2021 | NA | 0 (0%) | 13 |
January 2021 | NA | 0 (0%) | 14 |
December 2020 | NA | 0 (0%) | 5 |
November 2020 | NA | 0 (0%) | 15 |
October 2020 | NA | 0 (0%) | 8 |
September 2020 | NA | 0 (0%) | 10 |
August 2020 | NA | 0 (0%) | 13 |
July 2020 | NA | 0 (0%) | 10 |
June 2020 | NA | 0 (0%) | 9 |
May 2020 | NA | 0 (0%) | 15 |
Unsuccessful Installs in the last 7 Days: 0
Download last 500 errors (CSV)