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

时间:2013-03-28 17:08:04

标签: c# selenium-ide

我的web.app基本上是一个日历界面,您可以在其中添加锻炼到一天。我有一个助手(上课?),我把所有的功能都放了一次,所以我可以在其他地方打电话给他们。对不起,自从我编程并且不知道所有正确的单词以来已经很长时间了。我正在将用javascript编写的selenium ide测试翻译成c#。

所以在下面的Helper中,我将一个运行添加到一天,并为其分配一个变量。

 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);

我在主要功能中放了什么,这样就可以了?比如,一个动态命名的变量或者什么,也许?或者怎么样?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果我理解你的话。您想要创建Int64列表。

然而,我不明白的是,产生多种锻炼的因素是什么。你有不同的司机吗?

你需要做一些迭代(Driver?)来每次都进行不同的训练。 完成后你想对锻炼做什么?

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

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