繁体   English   中英

如何在C#中的函数中创建动态(?)变量?

[英]How do I create a dynamic (?) variable in a function in C#?

我的web.app基本上是一个日历界面,您可以在其中添加一天的锻炼。 我有一个Helpers(类?),在这里我只将所有功能放一次,以便可以在其他地方调用它们。 抱歉,我已经编程很长时间了,不知道所有正确的单词。 我正在将用JavaScript编写的硒测试转换为C#。

因此,在下面的此帮助器中,我将运行添加到一天中,并为其分配了一个变量。

 public static Int64 AddRunToday(IWebDriver driver)
    {
        //hovers over today so day context menu appears, click Add
        Common.Helpers.WaitForElement(By.CssSelector(".day.today.ui-droppable"), driver);
        Common.Helpers.MouseHover(By.CssSelector(".day.today.ui-droppable"), driver);
        driver.FindElement(By.CssSelector(".day.today .daySettings")).Click();
        Common.Helpers.WaitForElement(By.Id("calendarDaySettingsAddLabel"), driver);
        driver.FindElement(By.Id("calendarDaySettingsAddLabel")).Click();

        // selects a Run
        Common.Helpers.WaitForElement(By.CssSelector("button[data-workoutid=\"3\"]"), driver);
        driver.FindElement(By.CssSelector("button[data-workoutid=\"3\"]")).Click();
        Common.Helpers.WaitForElement(By.Id("workoutTitleField"), driver);
        driver.FindElement(By.Id("workoutTitleField")).Click();
        driver.FindElement(By.Id("workoutTitleField")).Clear();
        driver.FindElement(By.Id("workoutTitleField")).SendKeys("Today's Run");
        Common.Helpers.WaitForElement(By.Id("saveClose"), driver);
        driver.FindElement(By.Id("saveClose")).Click();
        Common.Helpers.WaitForElement(By.CssSelector(".day.today .workout.Run[data-workoutid]"), driver);
        Int64 runTodayId = (Int64)Common.Helpers.EvalScript("window.$('.day.today .workout.Run').data('workoutid')", driver);

        return runTodayId;
    }

然后在我的测试中,我写

//adds workout
        Int64 runTodayId  = Common.Helpers.AddRunToday(driver);

如何在一天中添加无限量的锻炼? 所以,本质上我想写类似

//adds workout
        Int64 runTodayId1 = Common.Helpers.AddRunToday(driver);
        Int64 runTodayId2 = Common.Helpers.AddRunToday(driver);
        Int64 runTodayId3 = Common.Helpers.AddRunToday(driver);

我要在main函数中放什么,这样就可以了吗? 例如,动态命名的变量之类的? 或如何?

谢谢您的帮助!

如果我能正确理解你的话。 您要创建一个Int64列表。

但是我不明白的是,产生不止一种锻炼的因素是什么。 您有单独的驱动程序吗?

您每次都需要进行某种迭代(驱动程序?)以进行不同的锻炼。 完成后,您想对锻炼做什么?

List<Int64> workouts = new List<Int64>();

foreach(var something in Collection)
{
   workouts.Add(Common.Helpers.AddRunToday(something));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM