我目前使用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] ------------------------------------------------------------------------
我不明白为什么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>
答案 0 :(得分:9)
这是一个较旧的主题,但仍然希望为那些坚持这一点的人提供输入。您必须确保您创建的类文件名以&#34; Test&#34;结尾。串。 例如AppTest,TempTest都是有效的类文件名,但AppCheck,TempTest1是无效的名称; maven不会检测这些文件以供执行。
答案 1 :(得分:3)
我建议使用Maven Failsafe(用于集成测试)或Surefire(用于单元测试)。
select i.location, i.date, i.amt_recd as amt_recd, e.amt_spent as amt_spent
from income i
full outer join expense e
on i.location = e.location
and i.date = e.date
答案 2 :(得分:2)
直到我发布my own question之后我才看到这个...然后找到答案!我在下面提到了我的答案:
Maven可以使用exec-maven-plugin运行它编译的代码并将以下内容添加到pom.xml中:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>Selenium2Example</mainClass>
<arguments>
<argument>arg0</argument>
<argument>arg1</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
正如您可以从代码段中收集的那样,可以通过在pom.xml中列出参数来传递参数。另外,请务必在mainClass
元素中使用正确的包名称。
然后,您可以运行mvn compile
,然后运行mvn test
来编译并运行您的代码。
信用证必须转到http://www.vineetmanohar.com/2009/11/3-ways-to-run-java-main-from-maven/列出几种方法来执行此操作。
答案 3 :(得分:1)
这很可能是由于您的目录结构。 Maven使用arbitrary directory structure。
src/main/java
是您的主要java代码src/test/java
是您的测试。默认情况下,Maven将在执行mvn test
时读取此目录。您有两种选择:
将您的pom更新为:
<build>
<sourceDirectory>src/java</sourceDirectory>
<testSourceDirectory>src/test</testSourceDirectory>
...
</build>
遵守Maven惯例并将测试来源置于src/test/java