运行gradle构建时出错

时间:2016-04-25 16:49:30

标签: java eclipse gradle junit webdriver

当我运行gradle build时,它会因以下错误而失败:

ola@ola-VirtualBox:~$ cd workspace/sample/
ola@ola-VirtualBox:~/workspace/sample$ gradle build
:compileJava
:processResources
:classes
:jar
:startScripts
:distTar
:distZip
:assemble
:compileTestJava
:processTestResources
:testClasses
:test

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

org.gradle.AllMethodsTest > initializationError FAILED
    java.lang.Exception

39 tests completed, 39 failed
:test FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test'.
> There were failing tests. See the report at: file:///home/ola/workspace/sample/build/reports/tests/index.html

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 11.356 secs
  

下面是我的gradle.build文件的图片:

build file

项目结构如下: project structure

  

当我运行gradle build或gradle clean build时,我不断收到错误。非常感谢任何帮助...我真的需要让index.html文件正常工作才能将我的项目演示给团队。

     

index.html文件堆栈跟踪:所有的错误相同   index.html

     

请求更新的代码......

package main.java.Functional;

import static org.junit.Assert.assertTrue;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import main.java.Functional.AllMethodsTestcases.performAction;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;


/**
 * This class is used for testing all the indo functionalities.
 * 
 * @author Ola
 */
public class AllMethodsTest {

    /**
     * Variables to set up driver and browser.
     */
    public static AllMethods callMethod;
    public static WebDriver driver;
    public static String ID;
    public static String filePath = "C:\\Users\\Ola\\workspace\\Config.properties";

    /**
     * Setup method to run chrome browser
     * @param args
     * @throws Exception
     */
    @Before
    public static void setup(String[] args) throws Exception {
        callMethod = new AllMethods();
        callMethod.setup();
        callMethod.driver.get("http://independent.ie");
        // Maximize browser window
        callMethod.driver.manage().window().maximize();
        // store current url in a string
        String site = callMethod.driver.getCurrentUrl();
        // print out the URL in the console
        System.out.println("The current Url IS: " + site);
        // Get the OS on which the driver is running.......
        String detectOS = log.DetectOS();
        log.log(detectOS);
        Thread.sleep(7000);
    }

    /**
     * Main Method to start the browser and run all necessary testcases.     * 
     * @param args
     * @throws Exception
     */
    @Before
    public static void main(String[] args) throws Exception {

        // specify the Test to Run.........
        performAction tc = performAction.acct_Profile;
        try {
            setup(args);

        } catch (Exception e) {
            log.log("Error while setting up the driver.");
        }

        try {

            switch (tc) {
            case testMouseOverJobs:
                testVerifyJobsLink();
                break;
            case testMouseOverCars:
                testVerifyCarsLink();
                break;
            case testMouseOverDating:
                testVerifyDatingLink();
                break;
            case testMouseOverDeath:
                testVerifyDeathNoticesLink();
                break;
            case testMouseOverFitMag:
                testVerifyFitMagLink();
                break;
            case testMouseOverHotels:
                testVerifyHotelsLink();
                break;
            case click_subscribe:
                testVerifySubscribeLink();
                break;
            case click_SignInNative:
                testVerifySignIn_Native();
                break;
            case click_SignUpNative:
                testVerifySignUp_Native();
                break;
            case searchUser:
                testVerifySearchUser();
                break;
            case deleteUser:
                testVerifyDeleteUser();
                break;
            case click_SignInFB:
                testVerifySignInFB();
                break;
            case click_SignInFB_EditInfo:
                testVerifySignInFB_EditInfo();
                break;
            case click_SignInGoogle:
                testVerifySignInGoogle();
                break;
            case click_MyAcct_SS:
                testVerifyClick_MyAcctPage_forS_S_user();
                break;
            case click_MyAcct:
                testVerifyClick_MyAcct();
                break;
            case acct_Profile:
                testVerifyAcct_ProfileUpdated();
                break;
            case acct_Password:
                testVerifyAcct_PasswordChange();
                break;
            case acct_SocialAccts_FB:
                testVerifyAcct_SocialLink_FB();
                break;
            case acct_SocialAccts_Google:
                testVerifyAcct_SocialLink_Google();
                break;
                }
        } catch (Exception e) {
            log.log("There was an Exception while running the test: "
                    + e.getMessage());
        }
        tearDown();
    }



    /**
     * "C:\\Users\\Ola\\workspace\\Config.properties"
     * @throws Exception
     */
    @Test
    private static void testVerifyFileExist() throws Exception {
        boolean verify =callMethod.FileExist();
        if(verify)
        {
            log.log("File does exist");
        }else
        {
            log.log("File does not exist, .....");
        }
        tearDown();
    }

    @Test
    private static void testVerifyloadConfig_File() throws Exception {
        log.divider("Load Config file path specified");
        String response =callMethod.parseConf_File("NATIVE_PASSWORD");
        log.log(response);
        tearDown();
    }

    /**
     * Verifies JOB link on home page
     * @throws Exception
     * @author Ola
     */
    @Test
    public static void testVerifyJobsLink() throws Exception {
        log.header("....... Verify JOBS Link.........");
        callMethod.hoverAndClickOnce(By.cssSelector(AllMethodsCONSTANTElements.JOBS),
                By.cssSelector(AllMethodsCONSTANTElements.IRISHJOBS), "JOBS", "JOBS");
        tearDown();
    }
    /**
     * Verifies CARS link on home page
     * @throws Exception
     * @author Ola
     */
    @Test
    public static void testVerifyCarsLink() throws Exception {
        log.header("....... Verify CARS Link.........");
        String[] elementNames = new String[] { AllMethodsCONSTANTElements.CARSIRELAND,
                AllMethodsCONSTANTElements.USED_CARS_SEARCH, AllMethodsCONSTANTElements.CAR_DEALERS };
        for (String elementName : elementNames) {
            log.divider("1st Element ......'CarsIreland.ie'.....");
            if (callMethod.elementPresent(By.cssSelector(elementName),
                    "CARS_IRELAND")) {
                callMethod.hoverAndClickMultiple(
                        By.cssSelector(AllMethodsCONSTANTElements.CARS),
                        By.cssSelector(AllMethodsCONSTANTElements.CARSIRELAND), "CARS",
                        "CarsIreland.ie");
                Thread.sleep(3000);
                log.header2("");
            }
            log.divider("2nd Element .......'Used Car Search.....'");
            log.step("");
            if (callMethod.elementPresent(By.cssSelector(elementName),
                    "USED CAR SEARCH")) {
                log.log("Open Used Car Search link.....");
                callMethod.hoverAndClickMultiple(
                        By.cssSelector(AllMethodsCONSTANTElements.CARS),
                        By.cssSelector(AllMethodsCONSTANTElements.USED_CARS_SEARCH),
                        "CARS", "USED CAR SEARCH");
                Thread.sleep(3000);
                log.header2("");
            }
            log.divider("3rd Element .......'Car Dealers'..........");
            log.step("");
            if (callMethod.elementPresent(By.cssSelector(elementName),
                    "CAR DEALERS")) {
                log.log("Open Cars Dealers Link........");
                callMethod.hoverAndClickMultiple(
                        By.cssSelector(AllMethodsCONSTANTElements.CARS),
                        By.cssSelector(AllMethodsCONSTANTElements.CAR_DEALERS), "CARS",
                        "CAR DEALERS");
                break;
            }
        }
        tearDown();
    }
    /**
     *  Verifies my profile updated NATIVELY
     * @throws Exception
     * @author Ola
     */
    @Test
    public static void testVerifyAcct_ProfileUpdated() throws Exception {
        log.header("........ Verify MY ACCOUNT PROFILE section ........");
        String finalResponse = callMethod.profileSection(
                callMethod.parseConf_File("EMAIL_ADDRESS"),
                callMethod.parseConf_File("NATIVE_PASSWORD"), 
                callMethod.parseConf_File("DISPLAY_NAME"),
                callMethod.parseConf_File("FIRST_NAME"),
                callMethod.parseConf_File("LAST_NAME"),
                callMethod.parseConf_File("ADDRESS_1"),
                callMethod.parseConf_File("ADDRESS_2"),
                callMethod.parseConf_File("CITY"),
                callMethod.parseConf_File("COUNTRY"),
                callMethod.parseConf_File("COUNTRY_2"),
                callMethod.parseConf_File("COUNTY"),
                callMethod.parseConf_File("COUNTY_2"),
                callMethod.parseConf_File("POSTCODE"),
                callMethod.parseConf_File("TELEPHONE"));

        if (finalResponse.contains("DOES NOT Exist")) {
            log.log("User DOES NOT Exist in Database.... You will have to Sign Up.");

        } else if (finalResponse.contains("FACEBOOK")) {
            log.log("User Exist in Database with FACEBOOK Social Account and "
                    + "Cannot Sign Up Natively......Open My Acct process terminated!........");
        } else if (finalResponse.contains("GOOGLE")) {
            log.log("User Exist in Database with GOOGLE Social Account and "
                    + "Cannot Sign Up Natively......Open My Acct process terminated!........");
        }else if (finalResponse.contains("STILL DOES NOT EXIS")){
            log.log("CANNOT continue process as COUNTRY or COUNTY specified STILL DO NOT exist on list, ..pls contact Customer support");
        }else if (finalResponse.contains("Disabled state")) {
            log.log("Button is in Disabled state.....Profile was "
                    + "NOT updated as NO Update was made.....");
        } else if (finalResponse.contains("Successfully")) {
            log.log("Profile was Successfully updated");
        } else if (finalResponse.contains("NOT updated")) {
            log.log("Profile was NOT updated.... pls contact Gigya customer service......");
        } else if (finalResponse.contains("MY ACCOUNT page")) {
            log.log("MY ACCOUNT page Successfully Opened and updated as expected.......");
        }
        tearDown();
    }

    @After
    public static void tearDown(){
        callMethod.close();
    }
  

构建命令的结果

ola@ola-VirtualBox:~/workspace/sample$ gradle clean build -x test
:clean
:compileJava
:processResources
:classes
:jar
:startScripts
:distTar
:distZip
:assemble
:check
:build

BUILD SUCCESSFUL

Total time: 8.445 secs
  

下面的新输出   output explained   output screenshot

1 个答案:

答案 0 :(得分:2)

错误实际上已经在您的堆栈跟踪中:

  

方法testVerifyPrivacyStatement()不应该是静态的

那是你的测试方法应该有以下签名:

@Test
public void testWhatEverYouThingNeedsToBeTested() throws Exception {
    // Put you test code here
}

此外,@Before@After方法也不能是静态的,您也不需要手动调用@After方法。这些方法在每个测试方法之前和之后由JUnit调用。您应该认真阅读一些JUnit教程和不同注释的Javadoc !!!

@Before
public void setup() throws Exception {
    // This method will be called by JUnit _before_ execution of each test
    // Do whatever is needed to initialize the runtime environment for your tests
}

@After
public void tearDown() throws Exception {
    // This method will be called by JUnit _after_ execution of each test
    // Free resources allocated during the initialization or the tests themselves
}

最后但最终并非最不重要。对于JUnit测试,main方法绝对没有意义。如果你想以独立的方式执行你的测试,你可以保留它,但我宁愿删除它。如果要保留它,则需要从方法中删除@Before注释,并且需要以编程方式通过JUnit执行测试,以使注释正常工作。

TLDNR:

  • 删除测试类中的所有静态修饰符
  • 从测试类中删除main方法。如果测试执行需要一些初始化,请将其放在setup()方法中。但从我所看到的情况来看,实际上并没有什么需要......
  • 删除对tearDown()
  • 的手动调用
  • 阅读一些关于Java代码结构(Oracle Lesson on Packages)和JUnit(JUnit Basic Usage
  • 的基础教程