持续集成测试的框架暂时是使用BAT批处理脚本建立每日测试的计划,然后调用ANT执行SELENIUM的JUNIT类型的自动化脚本进行测试。效果可以达到每日定时从CVSCHECK OUT出SELENIUM的脚本代码,然后清理本地执行环境->编译->执行自动化功能测试->保存日志->生成测试报告。
SELENIUM是开源的自动化功能测试工具,使用RC模式可以建立JUNIT脚本,例:
import ...
public class MISTest extends TestCase
{
private Selenium selenium;
public void setUp() throws Exception {
String url = "http服务器地址";
selenium = new DefaultSelenium("localhost", 4444, "*iexplore", http服务器地址);
selenium.start();
}
protected void tearDown() throws Exception {
selenium.stop();
}
public void testResLogin() throws Throwable {
selenium.open("地址");
selenium.type("tbAccount", "admin");
selenium.type("tbPassword", "123456");
selenium.click("btnSubmit");
selenium.waitForPageToLoad("30000");
selenium.selectFrame("relative=top");
selenium.selectFrame("TopFrame");
}
}
ANT的自动集成:
定义属性 property name="src.code" value="SeleniumTest"
删除文件 delete dir="${SeleniumTest.classes}"
建立文件 mkdir dir="${report.test}"
显示信息 echo message="${TSTAMP}"
编译JAVA文件 javac destdir="${SeleniumTest.classes}" deprecation="on"
src path="${src.code}"
classpath refid="classpath"
javac
打包JAR jar
jarfile="${SeleniumTest.classes}/SeleniumTest.jar" basedir="${SeleniumTest.classes}" include name="**/*.class" jar
执行JUNIT
junit printsummary="yes" haltonfailure="yes" classpath path refid="classpath" pathelement location="${SeleniumTest.classes}" classpath formatter type="plain" usefile="true" formatter type="xml" usefile="true" batchtest todir="${log.test}" fileset dir="${SeleniumTest.classes}" includes="**/**.class" batchtest junit
执行CVS命令
target name="command" depends="initpass" cvs cvsroot="${cvsroot}" command="checkout" cvsrsh="ssh" package="QC-Group" dest="D:PROJECTSeleniumTestSeleniumTest" passfile="${cvs.passfile}" target
执行批处理脚本
exec dir="${basedir}" executable="D:PROJECTSeleniumTestselenium.bat" arg value="" exec
以上都是一些非常基本的命令。用FIRFOX浏览器可能有点问题,呵呵