2017-07-26 218 views
0

我正在使用下面的代碼。優先級1的測試已成功執行,但優先級爲2的@test下的代碼未執行。Webdriver不是從一種方法傳遞到另一種方法

基本上,webdriver傳遞到另一個測試。如果我在第一次測試下編寫所有代碼,它將成功執行。

import javax.swing.plaf.basic.BasicTabbedPaneUI.TabSelectionHandler; 

import org.junit.Assert; 
import org.junit.BeforeClass; 
import org.openqa.selenium.By; 
import org.openqa.selenium.Keys; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.interactions.Actions; 
import org.openqa.selenium.support.ui.ExpectedCondition; 
import org.openqa.selenium.support.ui.ExpectedConditions; 
import org.openqa.selenium.support.ui.WebDriverWait; 
import org.testng.annotations.Test; 
import org.testng.asserts.*; 



public class NonVodafone_TestNG 
{ 
    public static WebDriver driver; 
    public static WebDriverWait wait; 

    @Test(priority=1) 
    public void AuthorizeURL() throws InterruptedException 
    { 
     System.setProperty("webdriver.chrome.driver", "C:\\Users\\SinghA28\\Documents\\Abhimanyu_Office_Backup\\Softwares\\chromedriver_win32\\chromedriver.exe"); 
     ChromeDriver driver = new ChromeDriver(); 
     driver.manage().window().maximize();   
     driver.get("https://dev.id.vodafone.com/mockup/"); 

     //Generating Authorize URL 
     driver.findElement(By.id("env_idp")).sendKeys("PreProd"); 
     driver.findElement(By.id("opco")).sendKeys("NV"); 
     driver.findElement(By.id("btn_debug_url")).click(); 
     driver.get(driver.findElement(By.id("txt_url")).getAttribute("value")); 
     Thread.sleep(5000); 
     driver.findElement(By.id("button")).click(); 
    } 

    @Test(priority=2) 
    public void LandingPage() 
    { 
     //Assert.assertEquals(true, driver.findElement(By.xpath("//*[@id='form']/div[1]/div[1]/label")).isDisplayed()); 
     System.out.println(driver.getCurrentUrl()); 
    } 

} 
+0

待辦事項你會得到一個異常? – Guy

+1

您已經定義了一個靜態類變量webdriver,但是隨後在您正在使用的第一個測試中定義了另一個。靜態變量未定義,您正嘗試在第二個測試中使用該變量。 – Grasshopper

+0

我得到一個空指針例外:( –

回答

0

AuthorizeURL(),你在方法的範圍內聲明一個新變量ChromeDriver driver。您必須將其分配給類屬性WebDriver driver

@Test(priority=1) 
    public void AuthorizeURL() throws InterruptedException 
    { 
     System.setProperty("webdriver.chrome.driver", "C:\\Users\\SinghA28\\Documents\\Abhimanyu_Office_Backup\\Softwares\\chromedriver_win32\\chromedriver.exe"); 
     NonVodafone_TestNG.driver = new ChromeDriver(); // <-- HERE 
0

由於驅動器參考變量已經宣佈你只需要調用it.Change代碼

ChromeDriver driver = new ChromeDriver(); 

driver = new ChromeDriver(); 

希望它會幫助你:)

相關問題