2016-11-09 90 views
0

我正在使用硒自動測試一個網站的項目。這是我要運行我的主類:在另一個類中調用類

package Login; 

import static org.junit.Assert.assertTrue; 

import java.util.concurrent.TimeUnit; 

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.ie.InternetExplorerDriver; 
import org.openqa.selenium.support.ui.ExpectedConditions; 
import org.openqa.selenium.support.ui.WebDriverWait; 
import org.testng.annotations.Parameters; 
import org.testng.annotations.Test; 

public class Test{ 

WebDriver driver; 
String baseUrl; 

private StringBuffer verificationErrors = new StringBuffer(); 

@Test 
@Parameters("browser") 
public void LoginDebiteurVerkeerdPage(String browserName) { 

    if(browserName.equalsIgnoreCase("firefox")) 
    { 
     System.setProperty("webdriver.gecko.driver","C:\\Users\\cursus\\Downloads\\geckodriver.exe"); 
     driver=new FirefoxDriver(); 
    } 
    else if(browserName.equalsIgnoreCase("chrome")) 
    { 
     System.setProperty("webdriver.chrome.driver", "C:\\Users\\cursus\\Downloads\\chromedriver.exe"); 
     driver=new ChromeDriver(); 
    } 
    else if(browserName.equalsIgnoreCase("IE")) 
    { 
     System.setProperty("webdriver.ie.driver", "C:\\Users\\cursus\\Downloads\\IEDriverServer_x64_2.53.1\\IEDriverServer.exe"); 
     driver=new InternetExplorerDriver(); 
    } 

    driver.manage().window().maximize(); 
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
    baseUrl = "https://www.l.nl/"; 
    driver.get(baseUrl + "/"); 

    // Testscases 
    Here i wanna invoke a few testcases that are in other classes. 

    // For example: LoginLogout (class LoginLogout) 
    // For example: LoginWrongusername (class LoginWrongusername) 
    // For example: LoginWrongpassword (class Loginwrongpassword) 

    driver.close(); 
} 

} 

我想有測試用例在其他類,所以它的結構將和可維護性。

如何在我的「測試」類中調用這些類(這是我的測試用例)?

感謝, 皮特

回答

0

您可以定義內的任何要在測試執行,並添加上的所有場景這些類的一些靜態方法。例如。

public class LoginLogout(){ 

    public static executeScenarios(Driver driver){ 
     //your code here 
    } 
} 

在您的測試類:

LoginLogout.executeScenarios(driver); 
LoginWrongusername.executeScenarios(driver); 
... 

即使你可以把所有你的類與場景從那裏驅動程序初始化一個共同的類擴展,而你只需要通過瀏覽器該方法。

希望它能幫到你