Client端主要是經過一個ant build文件來啓動JUnit的TestCase的,進而啓動TestCase中的test方法,鏈接並激活server端進行自動化測試。Client端核心測試單元的代碼以下:java
package com.tail.p2test;面試
import junit.framework.Test;chrome
import junit.framework.TestCase;windows
import junit.framework.TestSuite;測試
import junit.textui.TestRunner;ui
import com.thoughtworks.selenium.DefaultSelenium;url
import com.thoughtworks.selenium.Selenium;spa
public class DemoTest extends TestCase {debug
private Selenium selenium;orm
public void setUp() throws Exception {
String url = "http://localhost:8080/";
selenium = new DefaultSelenium("localhost", 4444, "*chrome", url);
selenium.start();
}
protected void tearDown() throws Exception {
selenium.stop();
}
public void testNew() throws Exception {
selenium.setTimeout("100000");
selenium.open("/login.action");
selenium.type("username", "admin");
selenium.type("password", "123");
selenium.click("//input[@value='Log In']");
selenium.waitForPageToLoad("100000");
Thread.sleep(10000);
for (int second = 0;; second++) {
if (second >= 60) fail("timeout");
try { if (selenium.isElementPresent("signLabel")) break; } catch (Exception e) {}
Thread.sleep(1000);
}
// omit lines
...
selenium.open("/main.action");
}
}
固然,應用能夠直接在Eclipse中運行,可是爲了能更加靈活,咱們考慮用ant腳原本控制client的運行,這裏使用ant腳本的一個好處就是能夠很方便快捷的輸出測試報告,在本例中輸出報告的目的就是那個report目錄咯。
若是對軟件測試、接口測試、自動化測試、面試經驗交流。感興趣能夠加軟件測試交流:1085991341,還會有同行一塊兒技術交流。
ant的Build.xml的腳本詳細以下:
<?xml version="1.0"?>
<project name="portal" default="junit" basedir=".">
<property name="source.dir" value="src" />
<property name="build.dir" value="build" />
<property name="lib.dir" value="lib" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="report.dir" value="report" />
<!-- ================================================================== -->
<!-- C L E A N -->
<!-- ================================================================== -->
<target name="clean">
<delete dir="${classes.dir}" />
<mkdir dir="${classes.dir}" />
<delete dir="${report.dir}" />
<mkdir dir="${report.dir}" />
</target>
<!-- ================================================================== -->
<!-- C O M P I L E -->
<!-- ================================================================== -->
<target name="compile" depends="clean">
<!-- local project jars -->
<patternset id="lib.includes.compile">
<include name="*.jar" />
</patternset>
<fileset dir="${lib.dir}" id="lib.compile">
<patternset refid="lib.includes.compile" />
</fileset>
<pathconvert targetos="windows" property="libs.compile" refid="lib.compile" />
<!-- compile -->
<javac srcdir="${source.dir}" destdir="${classes.dir}" classpath="${libs.compile}" includes="**/*.java" debug="true">
</javac>
</target>
<!-- ================================================================== -->
<!-- J U N I T -->
<!-- ================================================================== -->
<target name="junit" depends="compile">
<junit printsummary="on" fork="true" haltonfailure="false" failureproperty="tests.failed" showoutput="true">
<classpath>
<pathelement path="${classes.dir}" />
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</classpath>
<formatter type="xml" />
<batchtest todir="${report.dir}">
<fileset dir="${classes.dir}">
<include name="**/*Test.*" />
</fileset>
</batchtest>
</junit>
<junitreport todir="${report.dir}">
<fileset dir="${report.dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${report.dir}" />
</junitreport>
<fail if="tests.failed">
</fail>
</target>
</project>
之後,你只須要在work目錄下執行一個簡單的 ant 命令就能輕鬆運行整個測試了。
以上內容但願對你有幫助,有被幫助到的朋友歡迎點贊,評論。