简体   繁体   English

运行gradle构建时出错

[英]Error running gradle build

When i run gradle build, it fails with the error below: 当我运行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

below is the image of my gradle.build file: 下面是我的gradle.build文件的图像:

构建文件

project structure below: 项目结构如下: 项目结构

I keep getting errors when i run gradle build or gradle clean build. 当我运行gradle build或gradle clean build时,我不断收到错误。 Please any help will be much appreciated... I really need to get the index.html file working before i can demo my project to the team. 请将任何帮助...我真的需要让index.html文件工作,然后才能将我的项目演示给团队。

index.html file stacktrace:its same error for all index.html文件堆栈跟踪:所有的错误相同 的index.html

UPDATED CODE REQUESTED...... 要求更新的代码......

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

result of build command 构建命令的结果

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

New output below 下面的新输出 输出解释 输出截图

The error is actually in your stack trace already: 错误实际上已经在您的堆栈跟踪中:

Method testVerifyPrivacyStatement() should not be static 方法testVerifyPrivacyStatement()不应该是静态的

That is your test methods should have the following signature: 那是你的测试方法应该有以下签名:

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

Furthermore the @Before and @After methods must not be static as well and you don't need to call the @After methods manually. 此外, @Before@After方法也不能是静态的,您不需要手动调用@After方法。 These methods are invoked by JUnit before and after each test method. 这些方法在每个测试方法之前和之后由JUnit调用。 You should seriously read some JUnit tutorials and the Javadoc of the different annotations!!! 你应该认真阅读一些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
}

And last but definitively not least. 最后但绝对不是最不重要的。 The main-method is of absolutely no meaning for a JUnit test. 对于JUnit测试,main方法绝对没有意义。 You can keep it, if you want to execute your tests in a standalone way, but I'd rather remove it. 如果你想以独立的方式执行你的测试,你可以保留它,但我宁愿删除它。 If you want to keep it, you need to remove the @Before annotation from the method and you need to execute the tests through JUnit programatically in order for the annotations to work properly. 如果要保留它,则需要从方法中删除@Before注释,并且需要以编程方式通过JUnit执行测试,以使注释正常工作。


TLDNR: TLDNR:

  • Remove all the static modifiers in your test class 删除测试类中的所有静态修饰符
  • Remove the main method from your test class. 从测试类中删除main方法。 If there is some initialization that is needed for the test execution, put it in the setup() method. 如果测试执行需要一些初始化,请将其放在setup()方法中。 But from what I can see, there is nothing in there that is actually needed... 但从我所看到的,那里实际上没有什么需要......
  • Remove the manual calls to tearDown() 删除对tearDown()的手动调用
  • Read some basic tutorials on Java code structure ( Oracle Lesson on Packages ) and JUnit ( JUnit Basic Usage ) 阅读一些关于Java代码结构( 包课上的Oracle课程 )和JUnit( JUnit基本用法 )的基础教程

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

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