cuming.runtime.CucumberException:无法实例化类

塔雷克·拉德万(Tarek Radwan)

在我的项目中,我尝试使用(Cucumber + TestNG + Maven构建框架一切工作都很好,直到我尝试使用testng.xml文件在不同的浏览器上并行运行测试。当我尝试运行testng.xml时,出现以下错误:

“ cucumber.runtime.CucumberException:cucumber.runtime.CucumberException:无法实例化类testSteps.TestLoginFun”

我认为这在我的逻辑或类之间的连接上是错误的,但是我找不到它。

这是我的testng.xml的内容

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<!--  <suite name="Suite" parallel="false"> -->
<suite name="SuiteTestNG" parallel="tests">



<test name="Test on Firefox">
   <parameter name="browser" value="Firefox" />
   <classes>
          <class name="runner.LoginTestRunner" />
    </classes>
</test>

<test name="Test on Chrome">
   <parameter name="browser" value="Chrome" />
   <classes>
        <class name="runner.LoginTestRunner" />
   </classes>
</test>
</suite>

这是我的MavenCucumberProject.pom

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>MavenCucumberProject</groupId>
  <artifactId>MavenCucumberProject</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <!-- <packaging>jar</packaging> -->

 <!-- Change from here -->

<dependencies>

    <dependency>
        <groupId>org.testng</groupId>           
        <artifactId>testng</artifactId>
        <version>6.8</version>
        <scope>test</scope>
    </dependency>

      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.0.0-beta3</version>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
    </dependency>

    <dependency>
       <groupId>info.cukes</groupId>
       <artifactId>cucumber-testng</artifactId>
       <version>1.2.2</version>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>1.2.2</version>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>1.2.2</version>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>1.2.2</version>
    </dependency>

    <dependency>
         <groupId>com.github.mkolisnyk</groupId>
         <artifactId>cucumber-reports</artifactId>
         <version>1.0.6</version>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>gherkin</artifactId>
        <version>2.12.2</version>
    </dependency>

    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>1.9.5</version>
    </dependency>

    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi</artifactId>
      <version>3.10.1</version>
    </dependency>

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>2.53.1</version>
    </dependency>

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>2.53.1</version>
    </dependency>

    <dependency>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
          <version>18.0</version>
     </dependency>

      <dependency>
          <groupId>org.hamcrest</groupId>
          <artifactId>hamcrest-all</artifactId>
          <version>1.3</version>
      </dependency>


      <dependency>
        <groupId>org.apache.maven.surefire</groupId>
        <artifactId>surefire-testng</artifactId>
        <version>2.18.1</version>
      </dependency>
</dependencies>

<build>
 <pluginManagement>
        <plugins>

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <compilerVersion>1.8</compilerVersion>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>


            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                <configuration>
                  <suiteXmlFiles>
                    <suiteXmlFile>testng.xml</suiteXmlFile>
                  </suiteXmlFiles>
                </configuration>
              </plugin> 

            <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>



        </plugins>

    </pluginManagement>

</build>

  <repositories>
    <repository>
      <id>forplay-legacy</id>
      <url>http://forplay.googlecode.com/svn/mavenrepo</url>
    </repository>
  </repositories>

    <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>


</project>

这是我的LoginTestRunner.java

@RunWith(ExtendedCucumber.class)

@ExtendedCucumberOptions(jsonReport =“ target / cucumber.json”,

overviewReport = true,
outputFolder = "target")
@CucumberOptions(
        features="Features",
        tags = "@login", 
        glue="testSteps",
        plugin={"html:target/cucumber-html-report",
        "json:target/cucumber.json", "pretty:target/cucumber-pretty.txt",
        "usage:target/cucumber-usage.json", "junit:target/cucumber-results.xml"})

public class LoginTestRunner extends AbstractTestNGCucumberTests{

    public WebDriver driver;



    @Parameters({"browser"})
    @BeforeTest
    public void chooseBrowser(String browser){
        try {
            if (browser.equalsIgnoreCase("Firefox")) {
               driver = new FirefoxDriver();
               System.out.println("Running Firefox");
            } else if (browser.equalsIgnoreCase("Chrome")) {
               System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");
               driver = new ChromeDriver();
               System.out.println("Running Chrome");
            } 
        }
            catch (WebDriverException e) {
                System.out.println(e.getMessage());
            }
    }

    public WebDriver getDriver(){

        driver.navigate().to("https://www.google.com");
        driver.manage().window().maximize();
        return driver;
    }


    public void closeDriver() {

        driver.quit();   

}

}

And my **TestLoginFun.java**:

    public class TestLoginFun extends LoginTestRunner{

        WebDriver driver;
        CucumberResultsOverview results = new CucumberResultsOverview();
        CucumberUsageReporting report = new CucumberUsageReporting();

        @BeforeSuite
        public void reports() throws Exception{

            results.setOutputDirectory("target");
            results.setOutputName("cucumber-results");
            results.setSourceFile("./src/test/resources/cucumber.json");
            report.setOutputDirectory("target");
            report.setJsonUsageFile("target/cucumber.json");
            report.executeReport();
        }


         public TestLoginFun(){

             this.driver= getDriver();
         }



        @Given("^A user accessed the url https://www.google.com$")
        public void a_user_accessed_the_url_https_www_google_com() throws Throwable {

            driver.get("https://www.google.com");

        }

最后,我的Feature / Login.feature

@login
Feature: Test Login

  Scenario: Verify that all login fileds and objects are available
    Given A user accessed the url https://www.google.com
塔雷克·拉德万(Tarek Radwan)

因此,最近,我根据此处的出色文章重组了我的代码:https : //rationaleemotions.wordpress.com/2013/07/31/parallel-webdriver-executions-using-testng/

该链接指导您使用TestNG构建并行WebDriver执行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取cucumber.runtime.CucumberException:无法加载插件类:使用Testng运行cucmber脚本时很漂亮

来自分类Dev

RunTime.Exception无法实例化活动ComponentInfo

来自分类常见问题

Android Studio无法初始化类org.codehaus.groovy.runtime.InvokerHelper

来自分类Dev

com.google.appengine.tools.development.agent.runtime.Runtime类无法访问该类的成员

来自分类Dev

com.google.appengine.tools.development.agent.runtime.Runtime类无法访问该类的成员

来自分类Dev

Babel和Webpack抛出“无法解析'regenerator-runtime / runtime'”

来自分类Dev

无法在Android App中实例化类

来自分类Dev

无法实例化bean类:BeanInstantiationException

来自分类Dev

模拟-无法实例化属性的代理类?

来自分类Dev

无法使用Hibernate createQuery实例化类

来自分类Dev

NiftyGUI的Nifty类无法实例化?

来自分类Dev

渲染问题:无法实例化以下类

来自分类Dev

Kotlin脚本无法实例化类

来自分类Dev

无法实例化类的新对象

来自分类Dev

“无法实例化抽象类”错误

来自分类Dev

无法实例化bean类:BeanInstantiationException

来自分类Dev

PHP-无法动态实例化类

来自分类Dev

无法实例化main()中的嵌套类

来自分类Dev

无法实例化抽象类

来自分类Dev

无法从MSHTML库实例化HTMLXMLHttpRequest类

来自分类Dev

C ++无法实例化抽象类

来自分类Dev

渲染问题:无法实例化以下类

来自分类Dev

无法启动Activity Java RunTime异常

来自分类Dev

无法找到Java Runtime Android Studio Robolectric

来自分类Dev

无法加载runtime-gdb.py

来自分类Dev

Amazon.Runtime.AmazonServiceException:无法找到凭证

来自分类Dev

无法找到Java Uno RunTime(伪装)源

来自分类Dev

无法找到Java Runtime Android Studio Robolectric

来自分类Dev

java Runtime exec进程无法正常运行

Related 相关文章

  1. 1

    获取cucumber.runtime.CucumberException:无法加载插件类:使用Testng运行cucmber脚本时很漂亮

  2. 2

    RunTime.Exception无法实例化活动ComponentInfo

  3. 3

    Android Studio无法初始化类org.codehaus.groovy.runtime.InvokerHelper

  4. 4

    com.google.appengine.tools.development.agent.runtime.Runtime类无法访问该类的成员

  5. 5

    com.google.appengine.tools.development.agent.runtime.Runtime类无法访问该类的成员

  6. 6

    Babel和Webpack抛出“无法解析'regenerator-runtime / runtime'”

  7. 7

    无法在Android App中实例化类

  8. 8

    无法实例化bean类:BeanInstantiationException

  9. 9

    模拟-无法实例化属性的代理类?

  10. 10

    无法使用Hibernate createQuery实例化类

  11. 11

    NiftyGUI的Nifty类无法实例化?

  12. 12

    渲染问题:无法实例化以下类

  13. 13

    Kotlin脚本无法实例化类

  14. 14

    无法实例化类的新对象

  15. 15

    “无法实例化抽象类”错误

  16. 16

    无法实例化bean类:BeanInstantiationException

  17. 17

    PHP-无法动态实例化类

  18. 18

    无法实例化main()中的嵌套类

  19. 19

    无法实例化抽象类

  20. 20

    无法从MSHTML库实例化HTMLXMLHttpRequest类

  21. 21

    C ++无法实例化抽象类

  22. 22

    渲染问题:无法实例化以下类

  23. 23

    无法启动Activity Java RunTime异常

  24. 24

    无法找到Java Runtime Android Studio Robolectric

  25. 25

    无法加载runtime-gdb.py

  26. 26

    Amazon.Runtime.AmazonServiceException:无法找到凭证

  27. 27

    无法找到Java Uno RunTime(伪装)源

  28. 28

    无法找到Java Runtime Android Studio Robolectric

  29. 29

    java Runtime exec进程无法正常运行

热门标签

归档