Je suis assez sûr que c'est un simple mais je ne trouve pas la réponse.Sélénium PageObjects gestion des variables
J'ai un script qui est écrit en utilisant PageObjects. Tout cela est contrôlé par une classe "Run Test" maître et s'exécute sur plusieurs classes d'objets Page. Maintenant, le problème que je rencontre est que je dois récupérer une variable générée par le système à l'étape 3 de mon script, puis l'utiliser à l'étape 5, mais cette variable n'est pas transmise à cette classe.
Qu'est-ce que je fais mal?
Principale
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
}
variable est fixé par
//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);
Avec en public void AddNewContract(string testName, string PlanID)
première ligne dans la classe StartCheck est un Console.Writeline
pour l'ID de plan, mais il retourne toujours rien
J'ai essayé cette solution mais je reçois cette erreur sur la ligne de retour « Depuis » NewContracts.AddNewContract (chaîne) 'return void, un mot-clé return ne doit pas être suivi d'une expression d'objet' – Smithy7876
@ Smithy7876 alors change 'void' en' string' – Guy
Ah je ne savais pas que je pouvais le faire comme ça. Ouvre un tout nouveau monde de possibilités! Merci! – Smithy7876