2016-07-26 60 views
0

我正在嘗試使用Selenium和Java設置一個Web應用程序測試套件。我會在src創建3個包從另一個包中調用webdriver

  • 對象 - 用於我的頁面對象
  • 任務 - 用於測試的方法
  • 測試 - 用於測試

在我創建的任務一個名爲CommonTasks的類,用於存儲爲測試創建的方法。這裏有些例子。

protected void verifyNumberOfElements(By selector, int expectedsize){ 
     int size = driver.findElements(selector).size(); 
     log.info("INFO: Verifying the number of elements is "+expectedsize+""); 
     Assert.assertEquals(size, expectedsize); 
     log.info("PASS: The number of elements returned was "+expectedsize+" "); 
    } 

public static void verifyText(By selector, String expectedtext){ 
     //verify that the expected text is present 
     String actualtext = driver.findElement(selector).getText(); 
     Assert.assertEquals(actualtext, expectedtext); 
     log.info("PASS: "+expectedtext+" was present and verified"); 
    } 

protected void verifyElement(By selector){ 
     //Verify that a certain selector is present in the page 
     smartSleep(selector); 
     boolean isPresent = driver.findElements(selector).size() > 0; 
     Assert.assertEquals(isPresent, true); 
     log.info("PASS: Element was found"); 
     boolean notPresent = driver.findElements(selector).size() > 0; 
     Assert.assertEquals(notPresent, false); 
     log.info("FAIL: Element was NOT found"); 
    } 

在測試包下,我創建了一個名爲ABC的類來測試功能ABC。我有一些基本步驟如下

verifyText(PageObjects.ItemText, "Multiple Choice - Single Answer Radio - Vertical"); 
verifyText(PageObjects.Progress_PercentComplete, "0%"); 

我遇到的問題是我不知道在哪裏創建webdriver。我希望能夠創建許多測試類並調用任務包中創建的任何方法。我知道我需要從Tasks中導入類,但無法找出webdriver的創建部分。 Tasks和Test包都會引用驅動程序,那麼我該如何完成這項工作?是否需要在Tasks.CommonTasks或Tests.ABC中創建?

我還需要測試連接到SauceLabs而不是我的本地機器。

回答

0

從上面的代碼可以看出,Tasks包中的所有方法都是實用方法,並且對於測試套件來說很常見,因此只有在驅動程序已初始化的情況下,才能從Test方法調用這些方法,以便在測試類中創建您的webdriver並將其傳遞給任務包中的實用程序方法。

希望它有幫助