[原創]Testng + Webdriver 入門篇


斷斷續續摸索了幾個星期終於將這個入門篇成文了。從Testng 官網http://testng.org/ 都能找到這些資料。

  1. 首先安裝Eclipse 的Testng 插件:這里 http://testng.org/doc/download.html 已經很詳細了。記得重啟eclipse。
  2. 建工程 (mvn 的安裝見 http://maven.apache.org/download.html)
  3.      a). 用mvn 先建立工程
    1. mvn archetype:generate -DgroupId=com.testchina -DartifactId=my_testng_test -DinteractiveMode=false

      b). eclipse 導入現有的以上生產的 mvn工程 

      c). 修改pom.xml 添加以下selenium 和 testng 依賴

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>2.25.0</version>
</dependency>
<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.7</version>
    <scope>test</scope>
</dependency>   

      3. 添加類HomePage, 與 前一篇的HomePage 一樣
   右擊HomePage, 新建 TestNG 類 ,記得在xml suit file 中輸入testng.xml . 至此文件結構為:   

src/main/java
-------HomePage.java
src/test/java
-------HomePageTest.java
-------testng.xml 
pom.xml

     4. 修改 HomePageTest 測試類

public class HomePageTest {
protected static WebDriver driver;
@BeforeClass(groups = { "ff", "ie" })
public void beforeClass() {
    driver.get("http://www.baidu.com");
}

@AfterClass
public void afterClass() {

}

@BeforeSuite(groups = { "ie" })
public void beforeSuite_runOnIE() {
    driver = new InternetExplorerDriver();
}

@BeforeSuite(groups = { "ff" })
public void beforeSuite_runOnFF() {
    File pathToFirefoxBinary = new File(
            "C:\\Program Files (x86)\\FF10\\firefox.exe");
    FirefoxBinary firefoxbin = new FirefoxBinary(pathToFirefoxBinary);
    driver = new FirefoxDriver(firefoxbin, null);
}

@AfterSuite(groups = { "ff", "ie" })
public void afterSuite() {
    driver.quit();
}

@Parameters({ "searchTXT" })
@Test(groups = { "ie" })
public void HomePage(String searchTxt) {
    HomePage homepage = new HomePage(driver);
    homepage.enterSerchTxt(searchTxt);
    homepage.clickSerchButton();
    // maybe the net will delay, so wait for while
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    homepage.checkResult();
}

@Parameters({ "searchTXT2" })
@Test(groups = { "ff" })
public void HomePage2(String searchTxt) {
    HomePage homepage = new HomePage(driver);
    homepage.enterSerchTxt(searchTxt);
    homepage.clickSerchButton();
    // maybe the net will delay, so wait for while
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    homepage.checkResult();
}
}

以上用到了Group 和 Parameters。 參數在xml中進行定義, testng.xml如下:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite" parallel="false">
    <test name="Test">
        <parameter name="searchTXT" value="ie" />
        <parameter name="searchTXT2" value="ff" />
        <groups>
            <run>
                <include name="ff" />
            </run>
        </groups>
        <classes>
            <class name="com.testchina.HomePageTest" />
        </classes>
    </test> <!-- Test -->
</suite> <!-- Suite -->

最后eclipse里配置運行 選擇Suite,運行該xml 即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM