51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1792|回复: 0
打印 上一主题 下一主题

[讨论] 测试框架设计学习笔记

[复制链接]
  • TA的每日心情

    前天 09:25
  • 签到天数: 76 天

    连续签到: 1 天

    [LV.6]测试旅长

    跳转到指定楼层
    1#
    发表于 2018-6-15 15:37:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1. <p>group,例如加上tag @Test(groups={“smoke”}),就表示这个test属于smoke group,可以属于多个group,然后相应的在xml文件中,做如下定义,即可使用group,这里可以include也可以exclude。</p><p><suite name="Test - 1"></p><p>  <test name="My Test modul"></p><p>    <groups></p><p>        <run></p><p>            <include name="smoke" /></p><p>        </run></p><p>    </groups></p><p>    <classes></p><p>      <class name="com.main.MainTest01" /></p><p>      <class name="com.test.NGTest01" /></p><p>    </classes></p><p>  </test></p><p></suite></p><p>
    2. </p><p>定义test之间的依赖执行,例如加上tag @Test(dependsOnMethods={“Main03”}),即表示这个test依赖于另一个test Main03,将在其之后执行。</p><p>参数化,例如以下tag的定义,和xml里的定义,这样即可让Main03 test使用xml里定义的变量值。</p><p>    // 属于 com.main package里的 MainTest class</p><p>    @Parameters({"URL1", "URL2"})</p><p>    @Test</p><p>    public void Main03(String url1, String url2) {</p><p>        System.out.println("main 03");</p><p>        System.out.println(url1);</p><p>        System.out.println(url2);</p><p>    }</p><p>
    3. </p><p><suite name="My Tet Suite">  </p><p>  <parameter name="URL1" value="www.google.com" /></p><p>  <parameter name="URL2" value="www.facebook.com" /></p><p>
    4. </p><p>  <test name="My Test modul"></p><p>    <packages></p><p>        <package name="com.main" /></p><p>    </packages></p><p>  </test></p><p></suite></p><p>@DataProvider特性,具体还是见代码</p><p>    @DataProvider</p><p>    public String[][] getData() {</p><p>        String[][] data = new String[2][2];</p><p>        data[0][0] = "1st-username";</p><p>        data[0][1] = "1st-password";</p><p>
    5. </p><p>        data[1][0] = "2nd-username";</p><p>        data[1][1] = "2nd-password";</p><p>
    6. </p><p>        return data;</p><p>    }</p><p>
    7. </p><p>    //这个test会被执行2次,以便使用getData()里提供的,所有的2组测试数据</p><p>    @Test(dataProvider="getData")</p><p>    public void Main05(String username, String password) {</p><p>        System.out.println(username);</p><p>        System.out.println(password);</p><p>    }</p><p>
    8. </p><p>Listeners特性,有点像JUnit里的TestWatcher,典型用法就是失败后截图,具体见代码..</p><p>package com.main;</p><p>
    9. </p><p>import org.testng.ITestContext;</p><p>import org.testng.ITestListener;</p><p>import org.testng.ITestResult;</p><p>
    10. </p><p>public class Listeners implements ITestListener {</p><p>
    11. </p><p>    @Override</p><p>    public void onTestStart(ITestResult result) {</p><p>        // do something when a test just start</p><p>
    12. </p><p>    }</p><p>
    13. </p><p>    @Override</p><p>    public void onTestSuccess(ITestResult result) {</p><p>        // do something when a test success</p><p>    }</p><p>
    14. </p><p>    @Override</p><p>    public void onTestFailure(ITestResult result) {</p><p>        // do something when a test fail</p><p>    }</p><p>
    15. </p><p>    @Override</p><p>    public void onTestSkipped(ITestResult result) {</p><p>        // do something when a test is skipped</p><p>    }</p><p>
    16. </p><p>    @Override</p><p>    public void onTestFailedButWithinSuccessPercentage(ITestResult result) {</p><p>        // TODO Auto-generated method stub</p><p>    }</p><p>
    17. </p><p>    @Override</p><p>    public void onStart(ITestContext context) {</p><p>        // TODO Auto-generated method stub</p><p>    }</p><p>
    18. </p><p>    @Override</p><p>    public void onFinish(ITestContext context) {</p><p>        // TODO Auto-generated method stub</p><p>    }</p><p>}</p><p>
    19. </p><p><?xml version="1.0" encoding="UTF-8"?></p><p><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"></p><p><suite name="My Tet Suite"></p><p>  <listeners></p><p>    <listener class-name="com.main.Listeners" /></p><p>  </listeners></p><p>
    20. </p><p>  <parameter name="URL1" value="www.google.com" /></p><p>  <parameter name="URL2" value="www.facebook.com" /></p><p>
    21. </p><p>  <test thread-count="5" name="My Test modul"></p><p>    <packages></p><p>        <package name="com.main"></package></p><p>    </packages></p><p>  </test></p><p></suite></p>
    复制代码


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-20 14:23 , Processed in 0.064834 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表