转载:http://www.cnblogs.com/aikachin/p/7765846.html

参考:

http://blog.csdn.net/langsand/article/details/53764805

http://blog.csdn.net/langsand/article/details/53764805

1.maven 的pom.xml配置:

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <dependencies> <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.0</version>
<scope>compile</scope>
</dependency>
    <dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
<scope>test</scope>
</dependency> <!-- https://mvnrepository.com/artifact/com.google.inject/guice -->
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>4.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/velocity/velocity-dep -->
<dependency>
<groupId>velocity</groupId>
<artifactId>velocity-dep</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.uncommons</groupId>
<artifactId>reportng</artifactId>
<version>1.1.4</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<compilerArgs>
<arg>-Xlint:unchecked</arg>
<arg>-Xlint:deprecation </arg>
<!--<arg>endorseddirs=${endorsed.dir}</arg>-->
</compilerArgs>
</configuration>
</plugin>
<!--添加插件 关联testNg.xml-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
<!--这里设置关联的testNG.xml路径,项目根目录下的res文件夹里面-->
<suiteXmlFiles>
<file>res/testNG.xml</file>
</suiteXmlFiles> <properties> <!--刚开始这里没有设置默认监听false,所以没有启用reportNG功能。-->
                    <property>
<name>usedefaultlisteners</name>
<value>false</value>
</property> <!--Setting ReportNG listener-->
<property>
<name>listener</name>
<value>org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter</value>
</property> </properties>
<workingDirectory>target/</workingDirectory>
<forkMode>always</forkMode>
</configuration>
</plugin>
</plugins>
</build>
2.testNG.xml配置listener
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="testproj" parallel="false">
<test name="testDemo1">
<packages>
<package name="com.aika.testng"/>
</packages>
<!--<classes>-->
<!--<class name="com.aika.testng.*"></class>-->
<!--</classes>-->
</test> <!--<listeners>-->
<!--<listener class-name="org.uncommons.reportng.HTMLReporter" />-->
<!--<listener class-name="org.uncommons.reportng.JUnitXMLReporter" />-->
<!--</listeners>--> </suite>
上面testNG.xml不设置的话,可以这样设置




3.配置好了,写一个简单的测试用例,此处不多做说明了。
IDEA的终端Terminal窗口,输入:mvn -f pom.xml clean test -DxmlFileName=testNG.xml
testNG.xml对应配置文件名称 生成成功,红框路径打开index.html

aaarticlea/png;base64,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" alt="" />

最新文章

  1. 【java并发编程实战】-----线程基本概念
  2. Proxy模式:管理第三方API
  3. Eclipse设置:背景与字体大小和xml文件中字体大小调整
  4. C++ DLL中导出函数的声明的方法
  5. 说明一下JNI 与AIDL
  6. iOS开发--iOS及Mac开源项目和学习资料
  7. 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
  8. Java [Leetcode 235]Lowest Common Ancestor of a Binary Search Tree
  9. copy(source,destination)拷贝文件
  10. Phone List(字典树)
  11. JS中的函数传参
  12. JAVAscript学习笔记 js事件 第一节 (原创) 参考js使用表
  13. JavaScript 数组基础知识
  14. clisp, scheme 和 clojure 初学习
  15. [Android framework学习] ViewGroup的addView函数分析
  16. a = a + 1, a++, ++a ,a+=1区别在哪
  17. ASP.NET 教程汇总
  18. Oracle date 详解
  19. 冲刺博客NO.10
  20. AtomicReference实现单例模式

热门文章

  1. echarts 图表建立步骤
  2. 消除Git diff中^M的差异
  3. python中的迭代器详解
  4. LAMP安装细则
  5. [BZOJ4556][Tjoi2016&amp;Heoi2016]字符串 主席树+二分+倍增+后缀自动机
  6. (八)MySQL索引操作
  7. Codeforces Round #406 (Div. 2) D. Legacy (线段树建图dij)
  8. SPOJ BGSHOOT - Shoot and kill (线段树 区间修改 区间查询)
  9. Xamarin XAML语言教程控件模板的模板绑定
  10. 【博弈论】bzoj2463 [中山市选2009]谁能赢呢?