我们谷歌找到解决方案,但无法成功,我们如何将已记录的脚本添加到新脚本中。
答案 0 :(得分:3)
Selenium-Core有一个扩展名:“include”,它可以将另一个测试的内容添加到当前测试中。 这是OpenQA维基上的页面:http://wiki.openqa.org/display/SEL/include,但不幸的是目前它无法访问。 我过去常常使用它,但最终放弃了ROLLUP RULES。
但是如果您正在寻找在多个测试用例中重用脚本的方法,我强烈建议您使用Rollup Rules。这是非常强大的,并被Selenium IDE的许多用户功能所低估。
使用汇总规则的详细信息写在Selenium IDE的帮助页面上:菜单帮助 - UI元素文档,然后按关键字“Rollup”搜索。
答案 1 :(得分:0)
我最终使用了Yevgen建议的Rollups。我花了一些时间才找到实现这个的正确方法。基本思想是您最终编写一个JavaScript文件,该文件在Selenium Core Extensions设置中的options / options下添加到Selenium IDE中。编写用于构建"可重用命令堆栈"的JavaScript文件将允许您使用内置汇总命令,并将目标设置为您分配给一组命令的标签。
我写了一篇关于Selenium IDE Includes AKA Rollups的文章,可能是一个有用的资源。
示例汇总脚本:
/**
* For use in Selenium IDE.
*
* You will need to add this to Selenium under Options / Options in the Selenium Menu.
* Put this under Selenium Core Extensions:
* ~/selenium-ide-for-slp/sideflow.js , ~/selenium-ide-for-slp/slp_rollups.js
*
*
*/
var manager = new RollupManager();
/**
* check_for_syntax_errors
*
* This rollup tests for php syntax errors, warnings, and notices.
*/
manager.addRollupRule({
name: 'check_for_syntax_errors',
description: 'Check for PHP syntax errors, notices, warnings.',
args: [],
commandMatchers: [],
getExpandedCommands: function(args) {
var commands = [];
commands.push({
command: 'assertNotText',
target: '//body',
value: '*Notice: Undefined*'
});
commands.push({
command: 'assertNotText',
target: '//body',
value: '**Notice: Trying to get*'
});
commands.push({
command: 'assertNotText',
target: '//body',
value: '*Notice: Use of*'
});
commands.push({
command: 'assertNotText',
target: '//body',
value: '*Fatal error:*'
});
return commands;
}
});
希望有所帮助。