繁体   English   中英

我将如何使我的方法遍历枚举?

[英]How would I make my methods loop through an enum?

我有一个环境枚举和一个应用程序枚举。 每个应用程序也都有自己的类,该类对该应用程序进行测试。 我要在所有环境中运行每个测试,然后再进行下一个测试。 这是我主要方法中的一部分

           for(Environment env :Environment.values())
            {
                new AccountInventory(env);
                AccountInventory.accountInventoryTests(null, env);

                new AuditActionItems( env);
                AuditActionItems.auditActionItemTests(null, env);

                new SalesPipeline(env);
                SalesPipeline.salesPipelineTests(null, env);

这是我课堂上的一个例子

public static boolean accountInventoryTests(Application app, Environment env)
{
WebDriver driver = new InternetExplorerDriver();


try{
driver.get(env.getDomain() + Application.ACCOUNTINVENTORY.getContextRoot());
driver.findElement(By.name("j_username")).sendKeys(USER);
driver.findElement(By.name("j_password")).sendKeys(PASSWORD);
driver.findElement(By.cssSelector("input[type='submit']")).click();

现在,它在一个环境中运行所有测试,然后在下一环境中运行所有测试。 提前致谢。

您的代码看起来不需要迭代测试的应用程序枚举,因为您可以在测试方法中访问它们(请参阅Application.ACCOUNTINVENTORY.getContextRoot() )。

如果您确实想迭代枚举,可以尝试以下方法:

for(Environment env :Environment.values())
        {
            new AccountInventory(env);
            for(Application app: Application.values())
            {
              AccountInventory.accountInventoryTests(app, env);
            }

            new AuditActionItems( env);
            for(Application app: Application.values())
            {
              AuditActionItems.auditActionItemTests(app, env);
            }

            ...
        }

希望能帮助到你

暂无
暂无

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

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