接口测试(java+testng+ant+jenkins)第二篇testng
1、testng是什么?
是一种测试框架,可以更方便的执行测试用例。
2、如何安装?
Eclipse——Help——Install New Software
work with输入:http://beust.com/eclipse
等待几秒钟,,选中Testng,一路next
window——preferences 能看到testng,就是安装成功了。
3、项目右键——Build Path ——Add libraries——TestNG——finish
4、在包com.lx上,右键——new——other——TestNG class 一路next,默认创建NewTest
5、在f方法中,增加内容,运行(右键——Run As——TestNG test )
package com.lx; import org.testng.annotations.Test; public class NewTest { @Test public void f() { System.out.println("test1"); } }
一条名为f的用例测试通过
6、增加测试用例、断言(判断用例是否通过)
package com.lx; import static org.testng.Assert.assertTrue; import org.testng.annotations.Test; public class NewTest { @Test public void f() { System.out.println("test1"); assertTrue(true); } @Test public void g() { System.out.println("test2"); assertTrue(false); } @Test public void h() { System.out.println("test3"); assertTrue(true); } @Test public void j() { System.out.println("test4"); assertTrue(false); } }
运行结果:Tests run: 4, Failures: 2, Skips: 0
运行4个测试用例,2个失败
assertTrue()用来断言当前测试用例是否通过
7、以Demo1为例
如果接口正常,那么接口返回数据中,含有文字“and”;
s.indexOf("and") 表示在返回数据中寻找和字所在的位置
如果找的到 s.indexOf("and")!=-1 就是true(测试通过)
如果找不到 就是false(测试不通过)
@Test public void f() { System.out.println("test1"); String s = HttpRequest.sendGet("https://translate.google.cn/translate_a/single", "client=t&sl=en&tl=zh-CN&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&otf=1&ssel=0&tsel=0&kc=1&tk=640089.1025185&q=and"); System.out.println(s); assertTrue(s.indexOf("and")!=-1); }
将此代码替换NewTest的f方法,将其他方法删除,运行
如果中文出现乱码,需设置编码格式后重试。window——preferences——General——workspace——other:UTF8
8、使用testng.xml运行用例
项目右键——new——file——File name:testng.xml——finish
testng.xml内容:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="Suite1"> <test name="test12"> <classes> <class name="com.lx.NewTest" /> </classes> </test> </suite>
右键Run As ,效果与运行NewTest一致