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)
第一行是計劃ID的Console.Writeline
,但它始終沒有返回
我試過這個解決辦法,但我在「自」 NewContracts.AddNewContract回線(字符串得到這個錯誤)'返回void,返回關鍵字不能跟一個對象表達式' – Smithy7876
@ Smithy7876所以更改'void'爲'string' – Guy
啊,我不知道我可以這樣做。開啓一個全新的可能性世界!謝謝! – Smithy7876