我真的不知道我的设计有什么问题。机器人测试是最近增加的,我们已经看到它们在另一个开发者的OS机器上成功运行。
我试图在安装了Plone和Firefox的Ubuntu机器上运行相同的机器人测试。这个包是https://github.com/collective/collective.academicprogrammes
我必须将plone.app.robotframework添加到develop.cfg文件的测试部分。这就是我的develop.cfg现在的样子:
资料来源 git@github.com:collective/collective.academicprogrammes.git = git collective.academicprogrammes 积木 测试包= collective.academicprogrammestest 扩展= buildout.cfg 扩展+= mr.developer 鸡蛋+= Products.DocFinderTab plone.reload collective.academicprogrammes 零件+= 测试重氮工具zopeskel机器人 总是-签出=强制源=源自动签出=* 测试 配方= zc.recipe.testrunner 默认值= 蛋= ${buildout:鸡蛋} ${buildout:test-packages} 佐佩斯克尔 配方= zc.recipe.egg 蛋= ZopeSkel粘贴PasteDeploy PasteScript zopeskel.diazotheme zopeskel.dexterity zest.releaser ${buildout:蛋类} 机器人 配方= zc.recipe.egg 蛋= 枕头${test:鸡蛋} plone.app.robotframework
在运行bin/buildout -c develop.cfg来安装我试图运行的所有bin/test -t robot之后,我会得到以下错误:
文件"parser.pxi",第569行,在parser.pxi (src/lxml/lxml.etree.c:74567)文件“parser.pxi”中,第650行,在lxml.etree._handleParseResult (src/lxml/lxml.etree.c:75458)文件“parser.pxi”中,第590行,在lxml.etree._raiseParseError中(src/lxml/lxml.etree.c:74791) 文件"lxml.etree.pyx",第2756行,在lxml.etree.fromstring (src/lxml/lxml.etree.c:54726)中,bash:语法错误接近意外令牌
(' (precise)david@localhost:~/Plone/zeocluster$ File "parser.pxi", line 1571, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:82792) bash: syntax error near unexpected token ... File "parser.pxi", line 1450, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:81590) bash: syntax error near unexpected token(‘
它的结尾是:
AssertionError:安装失败: WebDriverException:消息:‘无法加载配置文件。Profile Dir: /tmp/tmpqsX6Ky/webdriver profilecopy输出: Gtk-Message:未能加载模块“canberra-gtk-addons.xpi”\n** addons.xpi: startup\n** LOG addons.xpi: checkForChanges\n* LOG addons.xpi: No changes对xpconnect包装的/code>***********************\n*调用产生了以下错误:*\n[异常."\'JavaScript错误:"this.updateDisplay不是函数“{file:”{file:"chrome://browser/content/search/search.xml“行: 83}\‘当调用方法:nsIBrowserSearchInit观察者::onInitComplete”ns结果:"0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)“位置:"JS框架::resource://gre/components/nsSearche.js ::onSuccess::line 3257”data: yes]\n**********************************\n‘
发布于 2014-03-05 18:04:02
这个错误是双重的.一个原因是,我安装了一个轻量级的Linux操作系统,它没有包含所有的依赖项。具体而言,我必须安装libcanberra。要在Ubuntu上这样做,我运行了以下命令'sudo apt install libcanberra-gtk-模块‘。这足以修复堪培拉-gtk-模块的错误。
第二个问题与使用的Firefox版本有关。原来Selenium 2.34与Firefox 27 (我正在使用的浏览器)不兼容。请参阅:http://selenium.googlecode.com/git/py/CHANGES
有两个选项,将Selenium升级到2.40.0
或
在Firefox 25上运行机器人浏览器测试。
我选择了Firefox 25并在运行测试时使用它。
有关这一问题的相关信息可在这里找到:
http://seleniumsimplified.com/problems-running-webdriver-on-firefox-26/
http://support.mozilla.org/en-US/questions/986545
https://stackoverflow.com/questions/22202571
复制相似问题