错误:Suite不包含任何测试

时间:2015-04-06 07:20:52

标签: testing automated-tests robotframework

我的项目中有这个结构:

Tests
|__ Keywords
    |__ Keywords.robot
|__ Libs
|__ Scenarios
    |__ UI
        |__ TestScen.robot
|__ Variables
    |__ Variables.robot
|__ RunTest.py

这是TestScen.robot

*** Settings ***
Library     Selenium2Library
Resource    ../../Variables/Variables.robot
*** Variables ***
*** Keywords ***
Test Login
    log to console      Test Login
    go to       ${url}
    Input Text      id=${uNameId}   ${uiUserName}
    Input Text      id=${passId}    ${uiPassword}
    Click Element   id=${signInId}
    log to console  YaaaaY!

这是RunTest.py

import argparse
from robot import run
import os
import datetime
import sys


def get_args():
    parser = argparse.ArgumentParser(description='Robot Test Framework')

    parser.add_argument('--file',
                        metavar='f',
                        default="Scenarios",
                        help='get path of root scenario')

    parser.add_argument('--testSuite',
                        metavar='"scenario name"',
                        default=[],
                        nargs='*',
                        help='get names of test suits')

    parser.add_argument('--tags',
                        metavar='tag',
                        default=[],
                        nargs='*',
                        help='get name of tags')

    parser.add_argument('--testCases',
                        metavar='testCases',
                        default=[],
                        nargs='*',
                        help='get name of testCases')

    parser.add_argument('--skip',
                        metavar='skip',
                        default=["skip"],
                        nargs='*',
                        help='get name of skip testCases')

    args = parser.parse_args()

    return args

if __name__ == "__main__":
    dir_name = datetime.datetime.now().strftime('%Y-%m-%d %H-%M-%S')
    os.mkdir('Output/' + dir_name)
    args = get_args()
    run(
        args.file,
        report='Output/' + dir_name + '/report.html',
        log='Output/' + dir_name + '/log.html',
        output='Output/' + dir_name + '/output.xml',
        include=args.tags,
        test=args.testCases,
        exclude=args.skip,
        critical="Critical",
        suite=args.testSuite
    )

我以这种方式运行RunTest.py

python RunTest.py --file Scenarios/UI

这是输出:

[ ERROR ] Suite 'UI' contains no tests.
Try --help for usage information.

有什么问题?为什么框架无法识别我的方案文件?

1 个答案:

答案 0 :(得分:2)

您的文件没有测试用例。您有设置,变量和关键字,但没有测试用例。

我的猜测是你所拥有的"关键词"实际上是一个测试案例。像这样更改该表的标题:

*** Test cases ***
Test Login
    log to console      Test Login
    ...