如何使用 xml 在 Eclipse Run test 中配置 TestNG
如何在 eclipse 中安裝 TestNG
-
開啟日食
-
單擊幫助>安裝新軟體
-
單擊新增
-
提供名稱和 URL - ![StackOverflow 文件](http://beust.com/eclipse> <https://i.stack.imgur.com/6hni5.png)
-
選擇 TestNG
-
點選下一步
- 單擊完成
- 安裝 TestNG 需要一些時間
安裝完畢後再重啟 eclipse。
讓我們建立一個 TestNG 專案
-
檔案>新建> Java 專案>提供一些名稱,然後單擊完成
-
建立一個類作為 TestNGClass
-
建立以下類
1.LoginPage.class
2.HomePage.class
3.FBLoginTest.class
這裡是程式碼:
LoginPage 類
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
public class LoginPage {
@FindBy(id = "email")
private WebElement username;
@FindBy(id = "pass")
private WebElement password;
@FindBy(xpath = ".//input[@data-testid='royal_login_button']")
private WebElement login;
WebDriver driver;
public LoginPage(WebDriver driver){
this.driver = driver;
PageFactory.initElements(driver, this);
}
public void enterUserName(String name){
username.clear();
username.sendKeys(name);
}
public void enterPassword(String passwrd){
password.clear();
password.sendKeys(passwrd);
}
public HomePage clickLoginButton(){
login.click();
return new HomePage(driver);
}
}
主頁課。
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
public class HomePage {
@FindBy(id = "userNavigationLabel")
private WebElement userDropdown;
WebDriver driver;
public HomePage(WebDriver driver){
this.driver = driver;
PageFactory.initElements(driver, this);
}
public boolean isUserLoggedIn(){
return userDropdown.isDisplayed();
}
}
FBLoginTest 類
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
import com.testng.pages.HomePage;
import com.testng.pages.LoginPage;
public class FBLoginTest {
WebDriver driver;
LoginPage loginPage;
HomePage homePage;
@BeforeClass
public void openFBPage(){
driver = new FirefoxDriver();
driver.get("https://www.facebook.com/");
loginPage = new LoginPage(driver);
}
@Test
public void loginToFB(){
loginPage.enterUserName("");
loginPage.enterPassword("");
homePage = loginPage.clickLoginButton();
Assert.assertTrue(homePage.isUserLoggedIn());
}
@AfterClass
public void closeBrowser(){
driver.quit();
}
}
這裡是 testng xml:右鍵單擊 Project 建立一個 xml 檔案並複製貼上這個內容。
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite">
<test name="Test">
<classes>
<class name="com.testng.FBLoginTest"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
如何新增 selenium 獨立 jar:
下載最新的 selenium 獨立 jar 並在 Project 的 Build 路徑中新增它。
- 右鍵單擊 Project> Build path> Configure Build path> Select Libraries> Add external Jars
**如何執行 TestNG xml?**右鍵單擊 xml> Run as> TestNGSuite
快樂編碼:)