2016-10-13 3 views
0

Привет, я только что закончил трехнедельный круговый курс на Java, Selenium, Junit. Так что я все еще пытаюсь оборачивать вокруг себя все. Я создал тестовый класс для запуска через Junit нескольких простых тестов между двумя классами. Но я продолжаю получать ошибки от Junit и хочу обратиться за помощью к сообществу. Это мой класс с данными: `Junit Test продолжает сбой и импорт данных для другого класса.

package pages; 

import org.junit.Test; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.support.FindBy; 

public class bobprofile { 


WebDriver driver; 
    public bobprofile(WebDriver driver){ 
     this.driver=driver; 
    } 


    @FindBy(xpath="//*[@id='ja-container-fl']/div/div/div[1]/table[6]/tbody/tr[6]/td[4]") 
    public WebElement runs; 
    @FindBy(xpath="//*[@id='ja-container-fl']/div/div/div[1]/table[6]/tbody/tr[6]/td[5]") 
    public WebElement balls; 
    @FindBy(xpath="//*[@id='ja-container-fl']/div/div/div[1]/table[7]/tbody/tr[6]/td[8]") 
    public WebElement wickets; 
    @FindBy(xpath="//*[@id='ja-container-fl']/div/div/div[1]/table[7]/tbody/tr[6]/td[4]") 
    public WebElement overs; 


public void batting(){ 

    System.out.println("Did bob score more than 200 runs?"); 


    int myruns = Integer.parseInt(runs.getText()); 
    int myballs = Integer.parseInt(balls.getText()); 
    if(myruns<200){ 
     System.out.println("No he Didnt"); 


    } else { 
     System.out.println("Yes he did"); 
    } 
    System.out.println("He scored " +myruns+ " Runs of " + myballs +" Balls"); 

} 


public void bowling(){ 
System.out.println("Did bob take any wickets this year?"); 


int mywickets = Integer.parseInt(wickets.getText()); 
int myovers = Integer.parseInt(overs.getText().substring(0, 2)); 
if(mywickets<=0){ 
    System.out.println("No he Didnt"); 


} else { 
    System.out.println("Yes he did"); 
} 
System.out.println("He got " +mywickets+ " wickets of " + myovers +" Overs"); 

    } 
} 
` 

Это мой класс с помощью теста JUnit:

package pages; 

import org.junit.Test; 
import org.openqa.selenium.WebDriver; 

public class TestingLogic { 






    @Test 
    public static void bobShouldHaveAtLeast150Balls(){ 
     bobprofile myprofile = new bobprofile(); 
     int MyBallCount = Integer.parseInt(myprofile.balls.getText()); 
     assert(MyBallCount > 150); 
     /*if(MyBallCount>150){ 
      return "yes"; 
     } else return false; */ 
    } 

    @Test 
    public static void bobShouldHaveAtLeast4Overs(){ 
     int MyOverCount = Integer.parseInt(bobprofile.overs.getText()); 
     assert(MyOverCount > 4); 
    } 


} 

Ошибка:

java.lang.Exception: Method bobShouldHaveAtLeast150Balls() should not be static 
    at org.junit.runners.model.FrameworkMethod.validatePublicVoid(FrameworkMethod.java:93) 
    at org.junit.runners.model.FrameworkMethod.validatePublicVoidNoArg(FrameworkMethod.java:74) 
    at org.junit.runners.ParentRunner.validatePublicVoidNoArgMethods(ParentRunner.java:155) 
    at org.junit.runners.BlockJUnit4ClassRunner.validateTestMethods(BlockJUnit4ClassRunner.java:208) 
    at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:188) 
    at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128) 
    at org.junit.runners.ParentRunner.validate(ParentRunner.java:416) 
    at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84) 
    at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65) 
    at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10) 
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) 
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:84) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:70) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 

java.lang.Exception: Method bobShouldHaveAtLeast4Overs() should not be static 
    at org.junit.runners.model.FrameworkMethod.validatePublicVoid(FrameworkMethod.java:93) 
    at org.junit.runners.model.FrameworkMethod.validatePublicVoidNoArg(FrameworkMethod.java:74) 
    at org.junit.runners.ParentRunner.validatePublicVoidNoArgMethods(ParentRunner.java:155) 
    at org.junit.runners.BlockJUnit4ClassRunner.validateTestMethods(BlockJUnit4ClassRunner.java:208) 
    at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:188) 
    at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128) 
    at org.junit.runners.ParentRunner.validate(ParentRunner.java:416) 
    at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84) 
    at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65) 
    at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10) 
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) 
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:84) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:70) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 
+1

Вы продолжаете получать ошибки от JUnit. Если кто-то должен помочь, процитируйте сообщения об ошибках и трассировку стека точно в своем вопросе (вы можете отредактировать его для включения информации). –

+0

Опубликуйте URL-адрес, который вы тестируете, и ошибки, которые вы получаете. Кстати, откуда вы взяли этот урок? Некоторые уроки довольно ужасные, кстати. – testerjoe2

+0

URL-адрес: http://accleague.org/index.php?option=com_omrcricsys&view=stats&layout=player_detail&vd=1&ua=59&ld=2345&Itemid=94 – sricodingjay

ответ

0

Обратите внимание, что в JUnit 4 документации, в FAQ section, есть хороший базовый пример того, как должен выглядеть синтаксис теста JUnit.

И действительно, @ paul-hicks и @ rafał-laskowski верны с комментариями.