Selenium IDE:将测试脚本包含在新的测试脚本中

时间:2013-08-28 15:22:01

标签: selenium-ide

我们谷歌找到解决方案,但无法成功,我们如何将已记录的脚本添加到新脚本中。

2 个答案:

答案 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;
    }
});

希望有所帮助。