我有一些设置类型的全局变量,我希望能够从Python代码访问.例如:
pybot --variable RESULTS_PATH:/wherever/this/points test.txt
Run Code Online (Sandbox Code Playgroud)
现在,我的模块logger.py文件需要知道要正确设置的results_path.
我知道我可以用变量初始化记录器,比如
***Settings***
Library logger ${RESULTS_PATH}
Run Code Online (Sandbox Code Playgroud)
然后在logger中我将传递results_path:
def __init__(self, results_path):
# Whatever
Run Code Online (Sandbox Code Playgroud)
但是,对我来说这样做的问题是我想从Python代码和测试用例中访问和使用记录器.因此,如果我以这种方式设置它,如果我想使用Python代码中的记录器,我遇到了需要results_path来正确初始化记录器的相同问题.
机器人框架库中是否有任何函数可以让我从Python代码中获取$ {RESULTS_PATH}的值?做这样的事情的正确方法是什么?
现在,我对该问题的解决方法是将RESULTS_PATH设置为环境变量.所以我有类似的东西:
运行如下:
RESULTS_PATH=/wherever/this/points pybot test.txt
Run Code Online (Sandbox Code Playgroud)
test.txt:***Settings***
Library logger
...
Run Code Online (Sandbox Code Playgroud)
logger.py:results_path = os.environ["RESULTS_PATH"]
# Other set up stuff
Run Code Online (Sandbox Code Playgroud) 我需要在机器人框架中有条件地执行一些关键字,但我不知道该怎么做,它不起作用.我尝试了很多选项,但我想我的"IF-ELSE"声明完全错了..
Choose Particular Filter ${FILTER} And Uncheck All Values
${bool}= is filter opened ${AVAILABLE FILTERS} ${FILTER}
${uncheck_all_button}= run keyword if "${bool}" == "True" uncheck all in filter ${AVAILABLE FILTERS} ${FILTER}
... click element ${uncheck_all_button}
... ELSE
... Set variable ${particular_filter}: find particular filter ${AVAILABLE FILTERS} ${FILTER}
... click element ${particular_filter}
... Set variable ${uncheck_all_button}: uncheck all in filter ${AVAILABLE FILTERS} ${FILTER}
... click element ${uncheck_all_button}
Run Code Online (Sandbox Code Playgroud)
它失败了:Variable '${particular_filter}' not found.
但是如果我运行它,它甚至不应该转到ELSE分支,因为$ {bool}是True ...我的自定义函数is filter opened只检查过滤器是否已经打开 - 如果是,则返回True.我的自定义函数uncheck …
我最近在Red Hat Server上安装了Python 2.7,Robot Framework和Selenium Library(我仍然不知道我是否成功...),以便在Web应用程序上运行一些测试.
所以我尝试了一个使用Robot Framework的简单测试用例来查看Selenium Library是否正常运行,只是打开一个网页,仅此而已......
Selenium Server根据ps的结果启动并运行,Firefox二进制文件在PATH中...
从Robot Framework运行测试用例(使用pybot testcasename.tsv)我得到一个例外:
错误:将屏幕截图捕获到字符串时出现问题:java.awt.AWTException:无头环境
那么,无头环境是什么?有没有人知道是否还有其他东西需要安装或配置?
我是一个使用python的新手,我想请求你的帮助,告诉我如何将消息从Python打印到机器人框架控制台.
我需要在测试用例中调用两个拆卸关键字,但不能为此创建新的关键字.如果关键字和文档或循环有这样的语法,我很有意思:
[Documentation] line1
... line2
... line3
Run Code Online (Sandbox Code Playgroud) 我有一个Json文件,其中有一个字段,我需要编辑并保存文件以供下次使用.
但是我需要编辑的字段如下所示,
我需要在运行时随机生成该字段,我将在变量中捕获并将其传递给此json特定键"dp",然后保存json.
保存的json将用于REST POST URL.
{
"p": "10",
"v": 100,
"vt": [
{
"dp": "Field to be edited"(integer value) ,
]
}
Run Code Online (Sandbox Code Playgroud)
请帮帮我,我正在使用ROBOT框架,我需要在运行时更新json字段.
如果我打开由Robot Framework生成的任何.html文件,并尝试使用任何可用的任何python代码或内置命令行工具将其转换为任何其他格式(例如,docx formate).我收到以下错误,
•确认您的浏览器已启用JavaScript.
•确保使用足够现代的浏览器.需要Firefox 3.5,IE 8或同等版本,建议使用较新的浏览器.
•检查浏览器的JavaScript错误日志中是否有消息.如果您怀疑遇到错误,请报告问题.
·即使我已经在浏览器中启用了JavaScript,我也收到此错误.我在Mac上使用Mozilla Firefox版本45.0.2.
有谁可以帮我解决这个问题?
假设我在本地目录foo和bar中有2个测试套件,我想按照foo然后bar的顺序运行测试套件.
我试图运行pybot -s foo -s bar .,但它然后只是运行bar然后foo(即按字母顺序).
有没有办法让pybot运行机器人框架套件按我定义的顺序执行?
我编写了Robot Framework测试脚本,.tsv用于测试Web服务/ API.当我开始收到以下错误时,一切都运行良好,直到今天(可能是因为Robot Framework的新更新):
SSLError :("握手不好:SysCallError(-1,'Unexpected EOF')",)
此错误不断弹出测试脚本中的以下代码:
${headers}= Create Dictionary Content-Type application/json Accept application/json
RequestsKeywords.Get Request httpbin ${url} headers=${headers} //ERROR SHOWS FOR THIS STATEMENT
Run Code Online (Sandbox Code Playgroud)
我确实得到了这个错误的详细回溯,如下所示:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/RequestsLibrary/RequestsKeywords.py", line 298, in get_request
session, uri, params, headers, redir, timeout)
File "/Library/Python/2.7/site-packages/RequestsLibrary/RequestsKeywords.py", line 801, in _get_request
cookies=self.cookies)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 480, in get
return self.request('GET', url, **kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 468, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 576, in send
r = …Run Code Online (Sandbox Code Playgroud) robotframework ×10
python ×6
automation ×2
testing ×2
api ×1
console ×1
environment ×1
exception ×1
headless ×1
if-statement ×1
javascript ×1
json ×1
openssl ×1
selenium ×1