Hi,

thanks for the reply and your time. Looks like I have to add a "expectDialog" 
element before clickButton !?;  but still the ant build succeeds - I think it 
should fail.

Here's an updated version of my test. The two files are a complete test, so if 
you have time, you can try them out.

build file localTest.xml:

<project name="InstallationCheck" basedir="." default="all">

    <property name="webtest.home" value="/temp/webtest"/>
    <import file="${webtest.home}/lib/taskdef.xml"/>

    <target name="all" depends="mayPrintANTError, checkWebTest"/>

    <target name="checkWebTest">
        <echo message="webtest.home is ${webtest.home}"/>
        <webtest name="Test">
            <config
                host=""
                port="0"
                basepath=""
                summary="false"
                saveresponse="false"
                haltonfailure="true"
                protocol="file"/>
            <steps>
                <enableJavaScript enable="true"/>

                <invoke url="${basedir}/localTest.html"/>
                <verifyText text="Test"/>

                <selectForm name="TestForm"/>

                <expectDialog dialogType="alert" saveProperty="simpleDialog" />
                
                <clickButton name="TestButton"/>

                <verifyNoDialogs description="Check alert dialog was used" />
            </steps>
        </webtest>
    </target>

    <target name="checkANT">
        <available classname="org.apache.tools.ant.ProjectComponent"
            property="ant.version.ok"/>
    </target>

    <target name="mayPrintANTError" unless="ant.version.ok" depends="checkANT">
        <echo message="You have a non-compliant version of ANT"/>
        <echo message="Consider moving WEBTESTHOME/lib/ant.jar"/>
        <echo message="to ANT_HOME/lib."/>
    </target>

</project>


HTML localTest.html:

<html>
  <head>
    <script LANGUAGE="JAVASCRIPT">
            function buttonClick() {
                alert ("buttonClick called");
                return false;
        }
    </script>
  </head>

  <body>
    <form name="TestForm" action="TestResult.html" method="post">
      <input name="TestButton" type="submit" value="TestButton" onClick="return 
buttonClick();">
    </form>
  </body>
</html>


Paul King wrote:

>
> verifyNoDialogs should be used in conjunction with expectDialog or 
> expectDialogs.
> I couldn't see one in your test after a quick scan. Because the test is 
> automated,
> you provide ahead of time an expected user response so that for complicated 
> dialogs
> you can test out various behaviours, e.g. hitting the OK vs the Cancel button.
> For your simple dialog, there isn't a wide range of behaviours available but
> you still need to provide the expectation. For more details, check out:
>
> http://webtest.canoo.com/webtest/manual/expectDialog.html
>
> The expectation is simply placed before the action which will fire off
> the JavaScript that triggers the dialog. (If you are into Agile development
> this technique is very similar to a concept called mocking).
>
> Cheers, Paul.
>
> [EMAIL PROTECTED] wrote:
>
>> Hi,
>>
>> it's actually a prettry simple test, but I cannot make it work. I've tried 
>> both canoo 2.1 and the latest snapshot.
>>
>> The below given test should fail in my opinion, but it does not. The HTML 
>> page simply has a button which will call a function onClick(). This function 
>> always opens an alert dialog. Thus, verifyNoDialogs should fail, but it 
>> doesn't.
>>
>> Any help is greatly appreciated.
>>
>> <html>
>>   <head>
>>     <script LANGUAGE="JAVASCRIPT">
>>         function buttonClick() {
>>             alert ("buttonClick called");
>>             return false;
>>         }
>>     </script>
>>   </head>
>>
>>   <body>
>>     <form name="TestForm" action="TestResult.html" method="post">
>>       <input name="TestButton" type="submit" value="TestButton" 
>> onClick="return buttonClick();">
>>     </form>
>>   </body>
>> </html>
>>
>> ----
>>
>> <project name="InstallationCheck" basedir="." default="all">
>>
>>     <property name="webtest.home" value="/temp/canoo-2.1"/>
>>     <import file="${webtest.home}/lib/taskdef.xml"/>
>>
>>     <target name="all" depends="mayPrintANTError, checkWebTest"/>
>>
>>     <target name="checkWebTest">
>>         <echo message="webtest.home is ${webtest.home}"/>
>>         <webtest name="Test">
>>             <config
>>                 host=""
>>                 port="0"
>>                 basepath=""
>>                 summary="false"
>>                 saveresponse="false"
>>                 haltonfailure="true"
>>                 protocol="file"/>
>>             <steps>
>>                 <enableJavaScript enable="true"/>
>>
>>                 <invoke url="${basedir}/localTest.html"/>
>>                 <verifyText text="Test"/>
>>
>>                 <selectForm name="TestForm"/>
>>
>>         <verifyNoDialogs description="Check alert dialog was used" />
>>                 <clickButton name="TestButton"/>
>>                 <verifyNoDialogs description="Check alert dialog was used" />
>>             </steps>
>>         </webtest>
>>     </target>
>>
>>     <target name="checkANT">
>>         <available classname="org.apache.tools.ant.ProjectComponent"
>>             property="ant.version.ok"/>
>>     </target>
>>
>>     <target name="mayPrintANTError" unless="ant.version.ok" 
>> depends="checkANT">
>>         <echo message="You have a non-compliant version of ANT"/>
>>         <echo message="Consider moving WEBTESTHOME/lib/ant.jar"/>
>>         <echo message="to ANT_HOME/lib."/>
>>     </target>
>>
>> </project>
>>
>
> _______________________________________________
> WebTest mailing list
> [email protected]
> http://lists.canoo.com/mailman/listinfo/webtest
>
>

-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest

Reply via email to