当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

记录测试用例中使用绝对路径遇到的问题

发表于: 2015-06-08   作者:Chinaperson   来源:转载   浏览:
摘要: 我本人比较喜欢相对路径,因为很多时候不同系统下使用绝对路径复用性太差。 问题描述:执行某个项目的所有测试用例的时候,遇到读取某个目录下面的文件,使用相对路径有时候达不到效果 比如如下结构: test_project     test_case         pub       &nb
我本人比较喜欢相对路径,因为很多时候不同系统下使用绝对路径复用性太差。
问题描述:执行某个项目的所有测试用例的时候,遇到读取某个目录下面的文件,使用相对路径有时候达不到效果
比如如下结构:
test_project
    test_case
        pub
              init.py
              public.py
         test_login.py
         test_send_email.py
     report
         xxx.html
     test_data
        login.xml
      all_test.py
我在test_login.py里面调用login.xml的时候使用相对路径没有问题(..\test_data\login.xml),
但是我在all_test.py里面去执行test_case下面的所有的测试用例就会报错,找不到login.xml文件,这是因为,在test_login.py里面使用的相对路径是相对与这个脚本的,在all_test.py里面在去调用这个脚本的时候相对路径下是找不到login.xml的。
下面是all_test.py里面的代码:
#创建测试套件
testunit=unittest.TestSuite()
#定义测试文件查找的目录
test_dir='test_case'
    #定义 discover 方法的参数
testlist=unittest.defaultTestLoader.discover(test_dir,
                                                pattern ='test*.py',
                                                top_level_dir=None)
if __name__ == '__main__':
    test_report = 'report\\'
    now = time.strftime("%Y_%m_%d_%H_%M_%S")  #获取当前时间
    #定义个报告存放路径
    filename = test_report+now+'result.html'
    print filename
    fp = file(filename, 'wb')
    #定义测试报告
    runner =HTMLTestRunner.HTMLTestRunner(
    stream=fp,
    title=u'126邮箱试报告',
    description=u'用例执行情况:')
    #运行测试用例
    runner.run(testlist)
    #关闭报告文件
    fp.close()
 
 
解决方案: 在读取该文件的脚本里使用绝对路径
代码如下:
from os import sys,path
xml_local = path.join(path.dirname(path.dirname(path.abspath(__file__))), "test_data")
dom = xml.dom.minidom.parse(path.join(xml_local, 'login.xml'))

记录测试用例中使用绝对路径遇到的问题

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号