Robotframework环境搭建六:设置日志目录

设置日志目录

A. 改变日志的根目录:testrunner.py
B. 创建用例目录:Create Log Path

一、修改RIDE源代码:testrunner.py

日志根目录结构:

这里写图片描述

RIDE中的项目预设

这里写图片描述

打开C:\Python27\Lib\site-packages\robotide\contrib\testrunner,找到testrunner.py。
修改代码块def _create_temporary_directory(self)。如果创建目录失败,请查看个人博客修改cmd的权限

    #Need to import datetime
    import datetime
    #
    def _create_temporary_directory(self):
#       self._output_dir = tempfile.mkdtemp(".d", "RIDE")

        # Create log directory which is time-based.
        base = 'f:\\robotframework\\'
        self._output_dir = os.path.join(base, 'logs', datetime.datetime.now().strftime('%Y%m%d_%H%M%S'))
        os.mkdir(self._output_dir)
        #

        atexit.register(self._remove_temporary_directory)
  1. 注释的一行代码为RIDE临时存储目录;
  2. 增加的三行代码是基于当天日期时间创建目录。

修改代码块def run_commandy(self, command, cwd)

    def run_command(self, command, cwd):
        self._pid_to_kill = None
        #Create target log dir
        self._create_temporary_directory()
        #
        self._process = Process(cwd)
        self._process.run_command(command)

二、生成用例日志文件夹关键字: Common_Test_Setup | ${TEST NAME} | ${OUTPUT DIR}

用例日志文件夹:

这里写图片描述

这里写图片描述

三、关键字 Common_Test_Setup 调用 Create Log Path

这里写图片描述

四、导入库main.py,定义了关键字 Create Log Path

目的:删除已有current目录,建立一个新的软链current到创建的基于当天日期时间的目录。

这里写图片描述

五、关键字源代码:Create Log Path

import os
import sys

class main:
    def create_log_path(self, case=None, outputdir=None):
        '''Create Case log Directory
        Usage: | Create Log Path | caseName | outputDir |
        '''
        G_TEST_PATH = str(outputdir)
        g_log = os.getenv('G_LOG')
        print '=' * 100
        print G_TEST_PATH
        print '=' * 100
        # Window code
        base = 'f:\\robotframework\\'
        os.system('rd -Q ' + '"' + os.path.join(base, 'logs', 'current') + '"')
        os.system('mklink /D ' + '"' + os.path.join(base, 'logs', 'current') + '"' + ' ' + '"' + G_TEST_PATH + '"')
        #
        if case:
            case_name = str(case).replace(' ', '_')
            print 'case_name:' + case_name
            G_CASE_LOG_PATH = os.path.join(G_TEST_PATH, case_name)
            print 'G_CASE_LOG_PATH:' + G_CASE_LOG_PATH
            if not os.path.exists(G_CASE_LOG_PATH):
                os.mkdir(G_CASE_LOG_PATH)
                os.environ['G_CURRENTLOG'] = str(G_CASE_LOG_PATH)
                print 'G_CURRENTLOG:' + os.getenv('G_CURRENTLOG')
            else:
                print 'AT_ERROR : Create Log File FAIL!'
                print 'AT_ERROR : ' + G_CASE_LOG_PATH + ' has exist!'
        else:
            print 'AT_ERROR : Create Log File FAIL!'
            print 'AT_ERROR : ' + case + ' NOT Exist!'

#linux: login as root
#linux path: /root/robotframework/logs
#linux code
        base = os.path.expanduser('~')
        os.system('rm -rf ' + os.path.join(base, 'robotframework/logs', 'current'))
        os.system("ln -s " + G_TEST_PATH + ' ' + os.path.join(base, 'robotframework/logs', 'current'))

#MAC OS: login as admin
#MAC OS path: /Users/admin/robotframework/logs
#MAC OS code
        base = os.path.expanduser('~')
        os.system('rm -rf ' + os.path.join(base, 'robotframework/logs', 'current'))
        os.system("ln -s " + os.path.join(base, 'robotframework/logs', 'current') + ' ' + G_TEST_PATH)
  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值