chm*_*mcc 8 testing automated-tests relative-path filepath robotframework
我遇到了Robot Framework测试套件的问题.我有一个像这样的简单测试结构:
robotframework
|_foo
|_tests folder
|_pages folder
|_firefoxTestProfile folder
|_...
Run Code Online (Sandbox Code Playgroud)
我设置了一个简单的Firefox配置文件路径来运行我的测试并设置变量,如下所示:
*** Variables ***
${FF_PROFILE} foo\firefoxTestProfile
*** Keywords ***
Open browser window
Open Browser ${test_url} ${browser}
... ff_profile_dir=${FF_PROFILE}
Run Code Online (Sandbox Code Playgroud)
当我从顶层目录运行我的测试时,它运行良好:
C:/robotframework$ pybot foo/tests/test.txt
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试从foo目录运行它,如下所示:
C:/robotframework/foo$ pybot tests/test.txt
Run Code Online (Sandbox Code Playgroud)
说测试失败了
"The system cannot find the path specified: foo/firefoxTestProfile/*.*"
Run Code Online (Sandbox Code Playgroud)
我尝试了各种各样的东西,比如把路径当作
../foo/firefoxTestProfile
/foo/firefoxTestProfile
firefoxTestProfile
Run Code Online (Sandbox Code Playgroud)
以及将firefoxTestProfile文件夹移动到文件结构中的不同路径并更新到该新路径,但这些都不起作用并显示与以前相同的错误消息.
这也很重要,因为我想要一个默认的firefox配置文件与测试一起运行,这些测试在不同的人之间传递,以便在他们的机器上本地运行它们.任何帮助将不胜感激.
Uri*_*and 17
有几个内置变量可以帮助您正确定义路径.
这里最有趣的是$ {CURDIR}
从文档:
${CURDIR} An absolute path to the directory where the test data file is located. This variable is case-sensitive.
Run Code Online (Sandbox Code Playgroud)
我通常定义一个主套件安装文件(在你的情况下,在根测试文件夹中),在那里,我将定义以下3个全局级别变量
在根测试文件夹中创建一个文件__init.robot.
在它中创建一个套件设置部分(将在任何测试之前运行 - 但只运行一次!)
Set Global Variable ${testsRootFolder} ${CURDIR}
Set Global Variable ${pagesRootFolder} %{CURDIR}${/}..${/}_pages
Set Global Variable ${firefoxProfileFolder} %{CURDIR}${/}..${/}firefoxTestProfile
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13995 次 |
| 最近记录: |