WebDriver+TestNG的一个典型例子
2015-03-11 14:42
169 查看
想让测试更加灵活,1. 可以配置使用任意支持的浏览器进行测试;2. 配置所有Google的URL;3. 配置搜索的关键字。修改后的代码:
testng.xml的内容:
利用TestNG的@Parameters标签,让测试方法从testng.xml里面读取参数,实现参数化。在testng.xml的配置中,test节点需要增加一个属性的配置: preserve-order=”true”。这个preserve-order默认是false,在节点下面的所有方法的执行顺序是无序的。把它设为true以后就能保证在节点下的方法是按照顺序执行的。TestNG的这个功能可以方便我们在testng.xml里面拼装测试。假设我们有很多独立的测试方法,例如
navigateCategory
addComment
addFriend
login
logout
就可以在testng.xml里面拼出不同的测试,例如
public class GoogleTest { WebDriver driver; @Parameters({"browser"}) @BeforeTest public void setupBrowser(String browser){ if (browser.equals("firefox")){ driver = new FirefoxDriver(); } else { driver = new ChromeDriver(); } } @Parameters({ "url", "keyword" }) @Test public void search(String url, String keyword, ITestContext context) { driver.get(url); WebElement element = driver.findElement(By.name("q")); element.sendKeys(keyword); element.submit(); Assert.assertTrue(driver.getTitle().contains(keyword), "Something wrong with title"); } }
testng.xml的内容:
<suite name="Magus demo" verbose="2"> <parameter name="browser" value="firefox" /> <parameter name="url" value="http://www.google.com" /> <parameter name="keyword" value="magus" /> <test name="Search function" preserve-order="true"> <classes> <class name="test.GoogleTest"> <methods> <include name="setupBrowser" /> <include name="search" /> </methods> </class> </classes> </test> </suite>
利用TestNG的@Parameters标签,让测试方法从testng.xml里面读取参数,实现参数化。在testng.xml的配置中,test节点需要增加一个属性的配置: preserve-order=”true”。这个preserve-order默认是false,在节点下面的所有方法的执行顺序是无序的。把它设为true以后就能保证在节点下的方法是按照顺序执行的。TestNG的这个功能可以方便我们在testng.xml里面拼装测试。假设我们有很多独立的测试方法,例如
navigateCategory
addComment
addFriend
login
logout
就可以在testng.xml里面拼出不同的测试,例如
<test name="Add friend" preserve-order="true"> <classes> <class name="test.GoogleTest"> <methods> <include name="login" /> <include name="addFriend" /> <include name="logout" /> </methods> </class> </classes> </test> <test name="Add comment to category" preserve-order="true"> <classes> <class name="test.GoogleTest"> <methods> <include name="login" /> <include name="navigateCategory" /> <include name="addComment" /> <include name="logout" /> </methods> </class> </classes> </test>
相关文章推荐
- JPetStore项目分析——分析一个典型J2EE应用web层的实现
- 一个用OWL-S组装Web服务的例子
- HttpServlet一个典型的例子-没有乱码
- jBPM4.3 一个请假例子 web
- 一个典型Web应用的中间部分是业务层或服务层
- 蛙蛙推荐: 用web服务传递Dataset的一个简单例子
- 语义Web服务之路4-一个组装web服务的例子
- 一个WEB编码测试和讲解的servlet例子
- 从一个例子看看一个典型的混乱是如何形成
- java中timer在web.xml中的一个例子
- 一个并不是很好解决web打印方案的例子
- 一个典型的Hibernate实体操作例子
- web.config文件自定义配置节的使用方法的一个简单例子
- 最近学习webwork+spring+hibernate,自己学习过程中的一个例子
- 一个用OWL-S组装Web服务的例子
- web.config文件自定义配置节的使用方法的一个简单例子
- 写了一个Web服务上传文件的例子,大家有空随便看看
- WEB登录验证和数据库连接的一个例子
- 一个httpwebrequest异步下载的例子
- 一个使用HttpWebRequest类下载指定URL网页的例子