在我的TestNG的框架,我想執行@AfterTest
方法,通過從客戶的Util類調用方法退出瀏覽器會話。我得到一個錯誤,因爲「參數」Webdriver驅動程序「是@Configuration在方法TearDown上所需要的,但尚未標記@可選或已定義」 讀取該錯誤後,我向AfterTest方法聲明瞭一個參數,如下所示。無法測試後的方法來執行-TestNG
@AfterTest
public void TearDown(WebDriver driver){
Util.tearDown(driver);
}
這裏是util包一個拆卸方法
public static void tearDown(WebDriver driver) {
driver.quit();
if (driver.toString().equals(null)) {
logger.info(driver.toString() + " is closed ");
}
}
我這麼想嗎?你能否建議如何解決這個問題?謝謝:)
添加類文件在這裏
@Listeners({com.customerItestListener.CustomItestListener.class})
public class TC_CreateOnloadProposal {
WebDriver driver;
@Test
@Parameters({ "Url", "BemsID", "TransferType", "WrkTrnsfrTtle", "purpse" })
public void run(String Url, String BemsID, String TransferType, String WrkTrnsfrTtle, String purpse) {
driver = BrowserFactory.getInstance("firefox", Url).getDriver();
PageObjCreateExpressProposal pg_loc = PageFactory.initElements(driver, PageObjCreateExpressProposal.class);
pg_loc.checkForElement(driver, pg_loc.Txt_Login, "set", BemsID);
pg_loc.checkForElement(driver, pg_loc.Img_Logon, "click");
pg_loc.checkForElement(driver, pg_loc.Lnk_onload, "click");
pg_loc.checkForElement(driver, pg_loc.Img_CrtOrSelctPrpsl, "click");
}
@AfterTest
public void TearDown(){
driver.quit();
}
`
到AfterTest方法 - 沒有運氣 '@AfterTest @參數({ 「webdriver的驅動程序」}) 公共無效TearDown中(webdriver的驅動程序){ Util.tearDown(司機)我做了以下的變化; }' –
你在哪裏初始化驅動程序對象?它在Util類中嗎?如果是這樣,請將驅動程序傳遞給該方法。如果驅動程序正在初始化Test類,則將其作爲實例變量並傳遞給Util。 – Grasshopper
'@AfterTest public void TearDown(){ Util.tearDown(driver); }'如果你在 – kotoj