Robotframework 在sauce实验室上运行robot框架测试时,如何将变量文件传递给测试?

Robotframework 在sauce实验室上运行robot框架测试时,如何将变量文件传递给测试?,robotframework,saucelabs,Robotframework,Saucelabs,我正试图在沙司实验室运行一些机器人框架测试。我无法将变量文件传递给pybot命令。 在本地运行测试时,我使用以下命令: pybot -vbrowser:firefox -vbaseur --variablefile ../VariableFiles/superdesk.py mytest.robot 在酱汁实验室中,我需要传递一些其他变量:酱汁用户名、密钥 pybot -v browser:firefox -v baseurl:http://myurl.fr -v sauce_apike

我正试图在沙司实验室运行一些机器人框架测试。我无法将变量文件传递给pybot命令。 在本地运行测试时,我使用以下命令:

pybot  -vbrowser:firefox -vbaseur  --variablefile ../VariableFiles/superdesk.py mytest.robot 
在酱汁实验室中,我需要传递一些其他变量:酱汁用户名、密钥

pybot -v browser:firefox -v baseurl:http://myurl.fr -v sauce_apikey:mykey -v sauce_platform:linux -v sauce_username:myusername mytest.robot
我怎么能在传递变量文件后立即将变量传递给第二个命令?我的测试在本地运行,而不是在sauce实验室上运行

我试过这个命令

pybot -v browser:firefox -v baseurl:http://myurl.fr -v sauce_apikey:mykey -v sauce_platform:linux -v sauce_username:myusername --variablefile myvarfile.py mytest.robot 

在运行命令时,不考虑变量文件的上方。我的测试使用默认变量运行

您问题的字面答案是“无论您是否使用saucelabs,您都以相同的方式将变量文件传递给测试”

除非robot抛出错误,否则当您包含
--variablefile myvarfile.py
时,变量文件将传递给robot。通过让测试日志记录变量文件中的值,可以编写一个简单的测试来验证


如果您看到不同的行为,那么这些行为必须在您的测试用例中,或者在您自己的变量文件中。在saucelabs上运行时,机器人没有表现不同的功能。

我不理解这个问题。您可以继续同时使用-v和--variablefile。你是说你正在同时使用这两个命令,-v正在重写变量文件中的变量,而你不想这样做吗?我的问题是,当使用第二个命令意味着在sauce实验室上运行测试时,如何将变量文件传递给Pybot。感谢您在saucelabs上运行时实际尝试过使用--variablefile吗?我不明白这个问题。很抱歉不清楚,是的,我在沙司实验室运行时使用了--variablefile,但没有考虑到这一点。当我在本地使用--variablefile时,浏览器会打开我在变量文件中设置的确切URL。但是在sauce labs中,它会打开默认URL,就好像我没有将--variable文件添加到Pybot一样。问题可能出在您的测试中,而不是变量文件中。如果robot没有处理变量文件,它将抛出一个错误。我敢打赌,如果你在一个测试中加入一个log语句,你会看到你的variablefile中的所有变量都被定义了。我同意你的观点,理论上这应该是正确的行为,现在,我不确定这是否与我的测试实现有关的原因是,当我使用变量文件在本地运行测试时,测试在正确的URL上运行,比如URL B。但是,当我使用变量文件在sauce labs中运行测试时,它在URL A上运行,默认情况下,URL A是一个URL,我在资源文件中设置的。@Z:编写一个非常有用的代码这个简单的测试只会记录变量文件中的变量,您可以很快看到文件是否正在加载。我终于发现这是我测试中的一个问题,我使用的是open browser关键字,没有提供remot_url和所需的功能。感谢布莱恩确认我的怀疑是错误的。