持續(xù)集成測(cè)試的框架暫時(shí)是使用BAT批處理腳本建立每日測(cè)試的計(jì)劃,然后調(diào)用ANT執(zhí)行SELENIUM的JUNIT類型的自動(dòng)化腳本進(jìn)行測(cè)試。效果可以達(dá)到每日定時(shí)從CVSCHECK OUT出SELENIUM的腳本代碼,然后清理本地執(zhí)行環(huán)境->編譯->執(zhí)行自動(dòng)化功能測(cè)試->保存日志->生成測(cè)試報(bào)告。
SELENIUM是開(kāi)源的自動(dòng)化功能測(cè)試工具,使用RC模式可以建立JUNIT腳本,例:
import ...
public class MISTest extends TestCase
{
private Selenium selenium;
public void setUp() throws Exception {
String url = "http服務(wù)器地址";
selenium = new DefaultSelenium("localhost", 4444, "*iexplore", http服務(wù)器地址);
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的自動(dòng)集成:
定義屬性 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
執(zhí)行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
執(zhí)行CVS命令
target name="command" depends="initpass" cvs cvsroot="${cvsroot}" command="checkout" cvsrsh="ssh" package="QC-Group" dest="D:PROJECTSeleniumTestSeleniumTest" passfile="${cvs.passfile}" target
執(zhí)行批處理腳本
exec dir="${basedir}" executable="D:PROJECTSeleniumTestselenium.bat" arg value="" exec
以上都是一些非;镜拿。用FIRFOX瀏覽器可能有點(diǎn)問(wèn)題,呵呵