0

我的 web.app 基本上是一个日历界面,您可以在其中将锻炼添加到一天中。我有一个 Helpers(类?),我只将所有功能放在其中一次,这样我就可以在其他地方调用它们。对不起,我已经很久没有编程了,不知道所有正确的单词。我正在将用 javascript 编写的 selenium ide 测试翻译成 c#。

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

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

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

谢谢您的帮助!

4

1 回答 1

0

如果我正确理解你。您想创建一个 Int64 列表。

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

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

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

foreach(var something in Collection)
{
   workouts.Add(Common.Helpers.AddRunToday(something));
}
于 2013-03-28T17:22:07.720 回答