2017-06-13 61 views
0

我很確定這是一個簡單的問題,但我找不到答案。Selenium PageObjects變量處理

我有一個使用PageObjects編寫的腳本。這全部由主「運行測試」類控制,並運行到多個頁面對象類。

現在我所面臨的問題是我需要在腳本的第3步中選取系統生成的變量,然後在第5步中使用它,但是此變量未被傳遞給該類。

我在做什麼錯?

主類

class RunTest 
    { 

     static IWebDriver driver; 
     string PlanID; <- Tried setting here? 

     //Opens Chrome, Navigates to CTSuite, Logs in and Selects desired environment. 
     [TestFixtureSetUp] 
     public void Login() 
     { 
     ... Login Code 
     } 
     [Test] 
     public void Test5() 
     { 


      //Set back to home page 
      driver.FindElement(By.XPath("//*[@id='ajaxLoader']")).Click(); 

      var NetChange = new SwapNetwork(driver); 
      NetChange.ChangeTheNetwork("LEBC"); 

      var SearchForClient = new GoTo(driver); 
      SearchForClient.GoToClient("810797"); 

      var NewContract = new NewContracts(driver); 
      NewContract.AddNewContract("Test5", PlanID); //PlanID is set in this class 

      var NewFee = new NewFee(driver); 
      NewFee.AddNewFee("Test5"); 

      var StartChecks = new NewFee(driver); 
      StartChecks.ExpectationChecks("Test5", PlanID); //Then needs to be used here 
     } 

變量由

//Collect plan reference number 
      string PlanReference = driver.FindElement(By.XPath("//*[@id='ctl00_MainBody_Tabpanel1_lblRecord']")).Text; 
      Console.WriteLine("Plan Details: " + PlanReference); 
      var StringLength = PlanReference.Length; 
      PlanID = PlanReference.Substring(StringLength - 7, 7); 

設定在 public void AddNewContract(string testName, string PlanID)

在StartCheck類

第一行是計劃ID的Console.Writeline,但它始終沒有返回

回答

2

在做PlanID = PlanReference.Substring(StringLength - 7, 7);時,您設置了傳遞給此方法的局部變量的值。它對RunTest中的PlanID變量沒有影響。你孃家返回新值,併爲它分配

string planID = PlanReference.Substring(StringLength - 7, 7); 
return planID; 

// or if you don't need it in the method just 
return PlanReference.Substring(StringLength - 7, 7); 

而且在RunTest

​​
+0

我試過這個解決辦法,但我在「自」 NewContracts.AddNewContract回線(字符串得到這個錯誤)'返回void,返回關鍵字不能跟一個對象表達式' – Smithy7876

+0

@ Smithy7876所以更改'void'爲'string' – Guy

+0

啊,我不知道我可以這樣做。開啓一個全新的可能性世界!謝謝! – Smithy7876