C#-使用自定义变量运行多个方法

时间:2018-09-22 00:46:10

标签: c#

IG.NORE PLS,我对此进行了修改,但无法删除

我知道我的头衔很混乱 这是我打算做的-

我使用案例来运行不同的循环-(不同的类)Commands.games =“ Titanfall”

如果有问题,我从运行它的方法重新启动循环- GoogleSearch(“如何月球漫步”)

我使用多个命令/方法有多个循环/方法,所以我不能只做[GoogleSearch(“ How to moonwalk”)]

我遇到的问题是我不知道如何调用特定的循环,因为我不知道将[FantasticFive]分配为什么。

1 个答案:

答案 0 :(得分:1)

您是否正在寻找像这样简单的东西?

在我的解决方案中,我将测试代码分为一个单独的方法,并将模块作为参数传递,而不是设置全局变量。通常,这是一种更好的做法,并且有一天可能会让您一次运行多个模块。

RunTest()方法使用while(true)建立无限循环。如果测试成功,则return语句将中断循环并退出该方法。

ChromeDriverusing子句中实例化,因为它是Disposable。您应该这样做。

Quit()调用发生在finally块中,因此即使您退出循环,也将在每次迭代中调用它。

与您的示例一样,catch块只是吞没了异常。但是,这不是推荐的做法。如果可能,您应该尝试捕获更具体的异常,并且可能应该维护一个重试计数器,以便在连接永不起作用的情况下程序不会永远运行。

private static void RunTest(string module)
{
    while (true)
    {
        using ( var driver = new ChromeDriver(chromeLocation) )
        {
            try
            {
                driver.Url = url;
                bool check = WaitForElement(By.Id("textbox id"), 7);
                if (check) return;
            }   
            catch (Exception exception)
            { 
            }    
            finally
            {
                driver.Quit();
            }     
        }
    }
}

public static void Main() 
{
    RunTest("main");
    Console.WriteLine("main");
    Console.ReadLine();
}