首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium PageObjects变量处理

Selenium PageObjects变量处理
EN

Stack Overflow用户
提问于 2017-06-13 18:50:44
回答 0查看 114关注 0票数 0

我很确定这是一个简单的问题,但我找不到答案。

我有一个脚本,这是使用PageObjects编写的。这一切都由一个主"Run Test“类控制,并运行到几个Page对象类。

现在,我遇到的问题是,我需要在脚本的步骤3中选择一个系统生成的变量,然后在步骤5中使用它,但是这个变量没有被传递给那个类。

我做错了什么?

主类

代码语言:javascript
复制
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
        }

变量通过以下方式设置

代码语言:javascript
复制
//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,但它始终不返回任何内容

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44519414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档