如何使我的方法循环枚举?

时间:2014-07-15 13:05:49

标签: java enums

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

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

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

1 个答案:

答案 0 :(得分:0)

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

如果你真的想要重复你的枚举,你可以尝试mabye:

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

            ...
        }

希望有所帮助