--- old/src/org/netbeans/jemmy/operators/JInternalFrameOperator.java 2018-08-03 20:58:08.756388378 -0700 +++ new/src/org/netbeans/jemmy/operators/JInternalFrameOperator.java 2018-08-03 20:58:08.688387470 -0700 @@ -57,6 +57,7 @@ import org.netbeans.jemmy.drivers.InternalFrameDriver; import org.netbeans.jemmy.drivers.WindowDriver; import org.netbeans.jemmy.util.EmptyVisualizer; +import org.netbeans.jemmy.util.Platform; /** * Class provides necessary functionality to operate with @@ -682,7 +683,11 @@ * @return an icon operator. */ public JDesktopIconOperator getIconOperator() { - initOperators(); + if(Platform.isOSX()) { + initIconOperator(); + } else { + initOperators(); + } return iconOperator; } @@ -1371,20 +1376,32 @@ } /** - * Initiaites suboperators. + * Initialize icon operator */ - protected void initOperators() { + protected void initIconOperator() { iconOperator = new JDesktopIconOperator(((JInternalFrame) getSource()).getDesktopIcon()); iconOperator.copyEnvironment(this); - Container titlePane = findTitlePane(); - if (!isIcon() && titlePane != null) { - if (titleOperator == null) { - titleOperator = new ContainerOperator<>(titlePane); - if (getContainer(new ComponentChooser() { - @Override - public boolean checkComponent(Component comp) { - return comp instanceof JDesktopPane; - } + } + + /** + * Initiaites suboperators. + */ + protected void initOperators() { + initIconOperator(); + if(Platform.isOSX()) { + throw new UnsupportedOperationException( + "Jemmy doesn't support getting or intializing title" + + " related operators on Mac OSx"); + } else { + Container titlePane = findTitlePane(); + if (!isIcon() && titlePane != null) { + if (titleOperator == null) { + titleOperator = new ContainerOperator<>(titlePane); + if (getContainer(new ComponentChooser() { + @Override + public boolean checkComponent(Component comp) { + return comp instanceof JDesktopPane; + } @Override public String getDescription() { @@ -1420,6 +1437,7 @@ minOper = null; maxOper = null; closeOper = null; + } } }