51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3405|回复: 11
打印 上一主题 下一主题

如何依赖(dependsOn)别的类中的测试方法?

[复制链接]
  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2016-7-12 10:55:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    情况是这样的,我在写了两个类,A类中写的是login的测试方法,B类中写的是logout的测试方法。
    但是执行logout的时候,必须先执行A类中login的测试方法才可以,这个如何做到?
    我要是用dependsOnMethods或者dependsOnGroups的时候,都会提示我找不到B类中的login方法,因为login方法在A类中啊。
    求大神们解答下。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
     楼主| 发表于 2016-7-12 10:56:27 | 只看该作者
    我曾经想过让A类也也是@test,但是发现不管用。还有,好吧,这个是testNG的问题了。。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
     楼主| 发表于 2016-7-12 11:33:21 | 只看该作者
    没人吗?自己顶一下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    4#
    发表于 2016-7-12 16:16:51 | 只看该作者
    这个是testng你没有用熟,你最好再去看一下,A,B测试类都执行了?你testng 的xml里面配置了?你要把执行的类全部放在xml中 ,http://www.yiibai.com/html/testng/

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
     楼主| 发表于 2016-7-13 11:26:37 | 只看该作者
    joykao 发表于 2016-7-12 16:16
    这个是testng你没有用熟,你最好再去看一下,A,B测试类都执行了?你testng 的xml里面配置了?你要把执行的 ...

    我现在只想执行B类中的logout,所以我没有在xml里面写A类的配置,因为要是写了,在运行xml的时候,会先执行A类中的login方法,但是我想的是执行B类的logout方法,但是因为有依赖关系才再执行A类中的login方法的。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    6#
     楼主| 发表于 2016-7-13 11:54:53 | 只看该作者
    joykao 发表于 2016-7-12 16:16
    这个是testng你没有用熟,你最好再去看一下,A,B测试类都执行了?你testng 的xml里面配置了?你要把执行的 ...

    我发现把他放到同一个类中,然后Login类中有login和logout,然后分组,login为in,logout为out,我在xml这么写的。
    1. <suite name="xyqb_test01">   
    2.     <test name="test_xyqb" >
    3.         <groups>
    4.             <run>
    5.                 <include name="out"/>
    6.             </run>
    7.         </groups>
    8.         <classes>
    9.                        <class name="test01.Login"></class>         
    10.         </classes>
    11.     </test>  
    12. </suite>
    复制代码


    但是还是报错
    1. DependencyMap::Method "Login.logout()[pri:0, instance:test01.Login@24a67]" depends on nonexistent group "in"
    复制代码


    这个是我在login这个类里面的注释
    1. @Test (groups={"in"})
    2.   public void login() throws InterruptedException, IOException{
    3. XXXXXXXXXXXXX
    4. }


    5. @Test(dependsOnGroups={"in"},groups={"out"})
    6.   public static void logout(){
    7. yyyyyyyy}

    复制代码
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
     楼主| 发表于 2016-7-13 11:55:05 | 只看该作者
    joykao 发表于 2016-7-12 16:16
    这个是testng你没有用熟,你最好再去看一下,A,B测试类都执行了?你testng 的xml里面配置了?你要把执行的 ...

    我发现把他放到同一个类中,然后Login类中有login和logout,然后分组,login为in,logout为out,我在xml这么写的。
    1. <suite name="xyqb_test01">   
    2.     <test name="test_xyqb" >
    3.         <groups>
    4.             <run>
    5.                 <include name="out"/>
    6.             </run>
    7.         </groups>
    8.         <classes>
    9.                        <class name="test01.Login"></class>         
    10.         </classes>
    11.     </test>  
    12. </suite>
    复制代码


    但是还是报错
    1. DependencyMap::Method "Login.logout()[pri:0, instance:test01.Login@24a67]" depends on nonexistent group "in"
    复制代码


    这个是我在login这个类里面的注释
    1. @Test (groups={"in"})
    2.   public void login() throws InterruptedException, IOException{
    3. XXXXXXXXXXXXX
    4. }


    5. @Test(dependsOnGroups={"in"},groups={"out"})
    6.   public static void logout(){
    7. yyyyyyyy}

    复制代码
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    8#
    发表于 2016-7-14 12:13:01 | 只看该作者
    你xml里面不要那么配置,你都写明了include什么什么group了。。。不需要这么写。。。
    <groups >  
                <dependencies >  
                    <group name="out" depends-on="in" />  
                </dependencies>  
            </groups>  
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    9#
     楼主| 发表于 2016-7-15 09:43:56 | 只看该作者
    joykao 发表于 2016-7-14 12:13
    你xml里面不要那么配置,你都写明了include什么什么group了。。。不需要这么写。。。
       
                   ...

    谢谢你前面的解答,运行成功,也就是说不但要在类中的方法前@test里注明依赖关系,在xml也要注明依赖关系,但是现在有个新问题,就如我最开始所说的,我要是创建两个类,一个类叫做Login,里面有一个login的测试方法,另一个类叫做logout,里面有一个logout的测试方法,代码如下
    Login类的代码
    1. public class Login {
    2.         @Test (groups={"in"})
    3.         public void login(){
    4.         XXXXXXXXXXXXX
    5.         }
    6. }
    复制代码


    logout类的代码
    1. public class logout {
    2.         @Test(dependsOnGroups={"in"},groups={"out"})
    3.         public static void logout(){
    4.         yyyyyyyy
    5.         }
    6. }
    复制代码


    然后我在xml配置如下
    1. <suite name="xyqb_test01">   
    2.     <test name="test_xyqb" >
    3.                 <groups>
    4.                     <dependencies>
    5.                         <group depends-on="in" name="out"></group>
    6.                     </dependencies>
    7.                 </groups>

    8.         <classes>
    9.                        <class name="test01.Logout"></class>         
    10.         </classes>
    11.     </test>  
    12. </suite>
    复制代码


    这样的话还是有报错

    1. org.testng.TestNGException:
    2. DependencyMap::Method "logout.logout()[pri:0, instance:test01.logout@56dfcb]" depends on nonexistent group "in"
    复制代码


    其实说这么多我先做的是,我在执行B类中的一个测试方法的时候,在执行他之前要先执行A类中的一个测试方法,只有A类的测试方法执行成功了,才能执行B类里面的那个测试方法。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
     楼主| 发表于 2016-7-19 09:14:10 | 只看该作者
    joykao 发表于 2016-7-14 12:13
    你xml里面不要那么配置,你都写明了include什么什么group了。。。不需要这么写。。。
       
                   ...

    好吧,我问的不对吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    11#
     楼主| 发表于 2016-7-19 09:14:16 | 只看该作者
    joykao 发表于 2016-7-14 12:13
    你xml里面不要那么配置,你都写明了include什么什么group了。。。不需要这么写。。。
       
                   ...

    好吧,我问的不对吗?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-22 06:12 , Processed in 0.071836 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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