我目前是机器人框架的新手。我目前正在使用最新的 chrome 和 chromedriver 窗口版本,它是 80,但是当我尝试运行测试时,它给出消息“SessionNotCreatedException:消息:未创建会话:此版本的 ChromeDriver 仅支持 Chrome pycharm 中的版本 81”,但目前仅提供 81 的测试版。我试过卸载所有东西并重新安装它,但没有任何效果任何人都可以帮助我解决这个问题。谢谢!
selenium google-chrome robotframework selenium-chromedriver selenium-webdriver
我们有一个分布式测试环境,其中robotremoteserver启动了许多其他应用程序,并在测试过程中使用它们.我试图运行的测试要求我在一个套件中运行超过一百万个测试用例.这里的问题是,当pybot开始运行时,它会阻塞8 GB的RAM并导致性能下降.过了一会儿它冻结了.
为了解决这个问题,我计划创建单独的套件,每套套件少于100个.但在这种情况下,我无法使用从其他套件启动的其他远程服务器中的关键字.我可以使用它的唯一方法是断开与远程服务器的连接并在每个套件中重新连接 - 这将破坏测试的目的.
我不确定是否有人遇到过这种情况.如果有人能想到这个问题的解决方案,我将不胜感激.
另一个有助于解决此问题的事情是:是否可以从另一个套件启动的库(带状态)调用关键字?
使用RIDE时可以使用get library instance吗?我在一个套件中导入库,然后尝试在其他套件中获取库实例.这可能吗?
我一直收到以下错误:
AttributeError:远程实例没有属性'replace'
在套件1中,这就是我正在做的事情:
Import Library Remote ${verifix_xmlrpc_url} WITH NAME Verifix
${lib}= BuiltIn.Get Library Instance Verifix
Set Global Variable ${lib}
Run Code Online (Sandbox Code Playgroud)
在套房2中:
${lib}.remove messages ${VenueNSDQ}
Run Code Online (Sandbox Code Playgroud) 我已经拥有一些自定义任务的Python源文件.我可以创建这些任务的自定义库作为关键字并在Robot Framework中使用吗?
我是Robot的新手,正在学习编写逻辑和测试用例.
我有一个测试套件"mytestsuite.robot",它有很多测试用例.我的一个测试用例中有几个错误.
我如何运行那个特定的测试用例,因为我不想再次运行整个测试套件?
testcase1
....
....
testcase2
....
....
testcase3
....
....
testcase4
....
....
Run Code Online (Sandbox Code Playgroud)
说测试用例3失败了,我想重新运行测试用例3.
我试着用:
pybot mytestsuite.robot -t testcase3
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个错误.
我有一个很长的正则表达式,我想把它放入一个变量来测试.我希望能够把它放在多行上,这样它就不那么难以理解了.我看到你可以用文档标签做多行.但是当我尝试这种格式化时,Robot似乎认为这是一个列表.有没有办法在Robot Framework中执行此操作?
考虑:
${example_regex} = '(?m)Setting IP address to [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\nSetting MAC address to [0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}\nSetting IP forwarding kernel options'
Run Code Online (Sandbox Code Playgroud)
我想能够写:
${example_regex} '(?m)Setting IP address to [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\n
Setting MAC address to [0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}\n
Setting IP forwarding kernel options'
Run Code Online (Sandbox Code Playgroud) 我if在Robot Framework中编写条件时遇到了麻烦.
我想执行
Run Keyword If '${color}' == 'Red' OR '${color}' == 'Blue' OR '${color}' == 'Pink' Check the quantity
Run Code Online (Sandbox Code Playgroud)
我可以Run keyword If在一个条件下使用这个" "关键字,但对于多个条件,我收到此错误:
失败:关键字名称不能为空.
我还想使用这些关键字:
Run Keyword If '${color} == 'Blue' AND '${Size} == 'Small' AND '${Design}' != '${Simple}' Check the quantity
Run Code Online (Sandbox Code Playgroud)
和
Run Keyword Unless '${color}' == 'Black' OR '${Size}' == 'Small' OR '${Design}' == 'Simple'
Run Code Online (Sandbox Code Playgroud)
但我最终得到的错误.
我想听听其他人使用Robot Framework进行自动验收测试的经验.
它的主要优点和缺点是什么,以及与其他框架(主要是Fitnesse和Selenium)的任何比较?
将要测试的代码是实时遗留代码,主要是在C++中.
我正在尝试在Robot Framework中为数据驱动的测试添加标签.我为模板化测试和表创建了关键字,类似于以下数据:
# Test case file
*** settings ***
Resource libraries.txt
Test Template My Test Template
*** test cases *** parameter1 parameter2 ER
testa value1a value2a ERa
testb value1b value2b ERb
Run Code Online (Sandbox Code Playgroud)
# Template file
*** Keywords ***
My Test Template
[Arguments] ${parameter1} ${parameter2} ${ER}
${result}= Do Something ${parameter1} ${parameter2}
Should Be Equal As Strings ${result} ${ER}
Run Code Online (Sandbox Code Playgroud)
如何为testa和testb添加(可能是不同的)标签?
原来是PEBKAC.我没有缩进标签声明.那些双重空间让我(再次).
如何在运行关键字后返回结果?
例:
mykey word [Arguments] input
${results}= getme input
Run Code Online (Sandbox Code Playgroud)
但我想使用这些结果:
${results} = mykey word newinput
Run Code Online (Sandbox Code Playgroud) 我正在尝试最终确定一个用于测试基于AngularJS的Web门户的工具.
我已经探索过Protractor并且非常肯定将它用于AngularJS测试,直到团队中的某个人提出使用Robot Framework的建议.
那么,现在我需要将Protractor与Robot Framework进行比较.
量角器具有为AngularJS提供自定义的优势.但是,我同意由于使用的术语和概念(Promises和Control Flow),学习曲线不太顺畅.
现在我需要了解AngularJS测试的Robot Framework有多好.如果切换到机器人框架,有什么可以错过关于量角器的吗?请提供相同的宝贵意见.
robotframework ×10
python ×3
selenium ×3
angularjs ×1
c++ ×1
libraries ×1
protractor ×1
python-2.7 ×1
tdd ×1