刚刚开始学习Ant,Billy同学写的,下午仔细看了一下,并且将每个Target都独立运行了一下:
定义全局变量
<property name="selenium.dir" value="../MatrixAutomatedTesting-Trunk/" />
<property name="selenium.src.dir" value="${selenium.dir}" />
<property name="selenium.dist.dir" value="${selenium.dir}/dist" />
<property name="selenium.lib.dir" value="${selenium.dir}/lib" />
<property name="selenium.suite.dir" value="${selenium.dir}" />
<path id="selenium.classpath.main">
<pathelement location="." />
<pathelement location="${selenium.dist.dir}" />
<fileset dir="${selenium.lib.dir}/">
<include name="**/*.jar" />
</fileset>
</path>
启动Selenium Server
<target name="start_selenium_server">
<echo message="starting selenium server" />
<java jar="${selenium.lib.dir}/selenium-server.jar" fork="true" spawn="false" output="selenium.log">
<arg line="-port 4444" />
</java>
</target>
echo输出的信息可以当做是调试用的
停止Selenium Server
<target name="stop_selenium_server">
<echo message="going to stop the selenium server" />
<get taskname="selenium-shutdown" src="http://localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer" dest="stop.out" ignoreerrors="true" />
</target>
clean
<target name="selenium.clean">
<delete dir="${selenium.dir}/dist" failonerror="false"/>
<delete dir="${selenium.dir}/test-output" failonerror="false"/>
</target>
编译测试代码,并且Copy资源文件
<target name="selenium.compile">
<echo message="starting to compile the classess" />
<!--clean the old classes-->
<delete dir="${selenium.dist.dir}" failonerror="false" />
<!--create new dist dir-->
<mkdir dir="${selenium.dist.dir}/com/perficient/properties/" />
<!--compile-->
<javac classpathref="selenium.classpath.main" srcdir="${selenium.src.dir}" destdir="${selenium.dist.dir}" />
<copy todir="${selenium.dist.dir}/com/perficient/properties/">
<fileset dir="${selenium.src.dir}/src/com/perficient/properties/" />
</copy>
<copyfile dest="${selenium.dist.dir}/log4j.properties" src="${selenium.src.dir}/src/log4j.properties" />
</target>
用TestNG执行测试过程
<taskdef resource="testngtasks" classpath="${selenium.lib.dir}/testng-jdk15.jar" />
<target name="selenium.test">
<testng classpathref="selenium.classpath.main" failureproperty="test.failed">
<jvmarg value="-Dselenium.port=4444" />
<!--xml test suite file -->
<xmlfileset dir="${selenium.suite.dir}">
<include name="MatrixSuite.xml" />
</xmlfileset>
</testng>
<antcall target="stop_selenium_server" />
</target>
Default的Target,也是最关键的部分
<target name="start_server_and_run_tests" depends="selenium.clean, selenium.compile" description="start selenium server and run tests">
<parallel>
<antcall target="start_selenium_server" />
<sequential>
<echo taskname="waitfor" message="wait for selenium server launch" />
<waitfor maxwait="2" maxwaitunit="minute" checkevery="10">
<http url="http://localhost:4444/selenium-server/driver/?cmd=testComplete" />
</waitfor>
<antcall target="selenium.test">
</antcall>
</sequential>
</parallel>
</target>
最后,在项目的根节点加入Default target:
<project name="selenium automation" default="start_server_and_run_tests" basedir=".">
这样一个Build.xml完成了.
分享到:
相关推荐
总的来说,Java+Selenium自动化测试环境的部署涉及到Java和Selenium库的安装、浏览器驱动的选择与配置、测试框架的集成,以及编写和执行测试脚本。通过遵循上述步骤,你将能够建立一个功能完善的自动化测试环境,为...
通过学习和理解这个例子,你可以掌握自动化测试的基本流程,了解如何利用Ant管理构建过程,如何使用Selenium进行Web应用的自动化测试,以及如何利用TestNG进行更高效、更全面的测试。这将对你的软件测试工作带来显著...
Selenium 是一个开源的自动化测试工具,主要用于Web应用程序的测试。它支持多种浏览器,并且提供了一套丰富的API,使得编写测试脚本变得简单。M2Eclipse(Maven for Eclipse)是Eclipse的一个插件,它将Maven构建...
本项目是一个基于Java编写的Web用户界面(WebUI)自动化测试项目,它利用了Selenium这个强大的开源测试框架。Selenium支持多种编程语言,包括Java,Python,C#等,而本项目选择了Java作为主要的编程语言,以展示其在...
**Android自动化测试范例——基于Robotium** 在移动应用开发中,确保软件的质量和稳定性是至关重要的。为了达到这一目标,开发者通常会采用自动化测试工具,以提高测试效率和覆盖率。Robotium是一款专为Android应用...
【WebDriver学习文档】是面向初学者的教程,旨在帮助读者了解如何从零开始使用WebDriver进行自动化测试。WebDriver是一个开源的API,它允许程序员控制浏览器并模拟用户交互,常用于Web应用的自动化测试。 首先,要...
【HomeTaskSelenium】是一个基于Java的项目,它利用了Selenium这个强大的自动化测试工具来执行Web应用程序的自动化测试任务。Selenium是一个开源的框架,主要用于网页应用的自动化测试,支持多种浏览器和编程语言,...
在Java领域,有许多库和框架支持自动化,如JUnit用于单元测试,Selenium用于Web应用的自动化测试,以及Apache Maven或Gradle用于构建过程的自动化。 在压缩包"Samplecode-master"中,我们可以预期找到一个组织良好...
这个框架主要用于自动化测试,特别是针对Web应用程序的功能性测试,它可以帮助开发者和测试人员以人类可读的Gherkin语言编写测试场景,确保代码按照预期工作。 Cucumber是BDD(行为驱动开发)工具,它支持用自然...