如何从命令行使用maven运行selenium测试?

adb*_*ads 8 java eclipse selenium maven

我目前使用Eclipse作为我的Java IDE,我使用Maven.我单击运行按钮,它可以运行我写的Selenium Java测试.

然后我继续在我的本地机器上安装Maven.

转到我的pom.xml文件所在的目录后.我运行命令:mvn test

我收到以下结果:

[INFO] Scanning for projects...
[INFO]
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBu
ilder with a thread count of 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building SeleniumWebDriver 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ SeleniumWebDriver ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platfo
rm dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ SeleniumWebDriver ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ SeleniumWebDriver ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platfo
rm dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ SeleniumWebDriver ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ SeleniumWebDriver ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.139 s
[INFO] Finished at: 2014-03-17T14:12:27-05:00
[INFO] Final Memory: 12M/99M
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我不明白为什么Firefox webbrowser无法启动,并且运行了测试.在Eclipse IDE中运行相同的测试时,Firefox webBrowser会启动.

它看起来编译得很好,但是由于某种原因,在编译后它有.class文件时,它不会测试或启动浏览器.

这是我的pom.xml文件的副本:

<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>SeleniumWebDriver</groupId>
  <artifactId>SeleniumWebDriver</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.40.0</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>2.40.0</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>2.40.0</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
    </dependency>
  </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

小智 9

这是一个较旧的主题,但仍然希望为那些坚持这一点的人提供输入.您必须确保您创建的类文件名以"Test"字符串结尾.例如AppTest,TempTest都是有效的类文件名,但AppCheck,TempTest1是无效的名称; maven不会检测这些文件以供执行.


dda*_*son 2

这很可能是由于您的目录结构造成的。Maven 使用任意目录结构

  • src/main/java是你的主要java代码
  • src/test/java是你的测试。mvn testMaven默认执行时会读取这个目录。

您有两个选择:

  1. 将您的 pom 更新为:

    <build> <sourceDirectory>src/java</sourceDirectory> <testSourceDirectory>src/test</testSourceDirectory> ... </build>

  2. 遵守 Maven 约定并将您的测试源放在src/test/java