从命令行运行main方法时无法访问静态方法

时间:2011-10-04 15:06:02

标签: java static junit

我有一个从Main调用的方法,但是当调用静态方法时,它将不会继续并且测试停止。

我已插入日志注释以告知问题所在并且没有捕获异常,因此到目前为止还没有编译或运行时错误。

未调用的静态方法是 GC2CommonMethods.loadApplication(); 。 奇怪的是,当从Eclipse IDE运行Main时, 运行得很好,但是当通过相同的Main方法从jar文件执行时它不会运行。

请参阅下面正在执行的方法中的代码和静态类中静态方法的详细信息。

感谢您对此的帮助。感谢。

//This method is intented to be called from Main method 

package com.mycompany.test.loginRoleEntitlements; 
public void verifyLoginPageElements() {
   logger.info("\t1.0/1.0.2 - Verif**strong text**ying Login page elements...");
     try {
         logger.info("entering Try");

         GC2CommonMethods.loadApplication(sl);    //Static method from Static class. 
         assertTrue("Region identifier is not present.", sl.isElementPresent(PageAttributes.LoginPage.DB_LABEL));
         assertTrue("Forgot Password link is not present", sl.isElementPresent(PageAttributes.LoginPage.FORGOT_PASSWORD));

     } catch (SeleniumException se) {
           logger.info("caught SeleniumException");
           logger.error(se.getMessage());
       throw se;
     } catch (AssertionFailedError ae) {
       logger.info("caught AssertionException");
       logger.error(ae.getMessage());
       throw ae;
     } catch (Exception e) {
       logger.info("caught Exception");
       logger.info("Encountered exception");
        e.printStackTrace();
    }

  //This is the static method that is within GC2CommonMethods static class
  package com.mycompay.common;

  public static void loadApplication(SeleniumHandle sl) {   

    sl.open(props.getProperty("APPLICATION_URL"));
    sl.waitForPageToLoad("30000");
    assertEquals("The page is not the correct one.
   |Expected: "+PageAttributes.LoginPage.LOGINPAGE_TITLE + ".
   Found:"+sl.getTitle(),PageAttributes.LoginPage.LOGINPAGE_TITLE,sl.getTitle());
  }

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。尝试读取属性文件时,问题出在主方法上。有一个未被捕获的异常没有被记录,所以我无法分辨出问题所在。谢谢你的回复。