如何向测试用例添加新命令

How to add new command to test case

我正在使用 Selenium IDE 记录功能来创建测试用例。 我想截取我正在测试的应用程序的某些部分。

使用 Selenium UI IDE 很容易:

命令:captureEntirePageScreenshot, 目标:*path for screenshot*

但是每次想截图的时候手动输入这个(或者复制粘贴)不太方便,所以我决定做一个插件(Selenium IDE 工具栏上的一个按钮)一旦我点击它,就会将这个截图命令添加到测试用例中。

我创建了我的按钮,它在工具栏上可见,但现在它什么都不做:

<?xml version="1.0"?>
<?xml-stylesheet href="toolbar.css" type="text/css"?>
<overlay id="toolbar_overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    <toolbar id="toolbar2">
        <toolbarseparator id="screenshot-separator" insertafter="record-button"/>
        <toolbarbutton id="screenshot-button" insertafter="screenshot-separator" label="Take a screenshot" class="icon" tooltiptext="Take a screenshot" command="*problem_is_here*"/>
    </toolbar>
</overlay>

我正在研究 Selenium IDE 源代码,但没有找到可用于向测试用例添加新命令的方法...

深入挖掘源代码并找到所需的方法:

Editor.addCommand(command, target, value, window, insertBeforeLastCommand)

所以我的最终 .xul 文件如下所示:

<?xml version="1.0"?>

<?xml-stylesheet href="toolbar.css" type="text/css"?>

<overlay id="toolbar_overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<toolbar id="toolbar2">
    <toolbarseparator id="screenshot-separator" insertafter="record-button"/>
    <toolbarbutton id="screenshot-button" insertafter="screenshot-separator" label="Take a screenshot" class="icon" tooltiptext="Take a screenshot" oncommand="window.editor.addCommand('captureEntirePageScreenshot', 'C:/Users/username/screenshot'+window.FileUtils.getTimeStamp()+'.png', '', window.editor.window);"/>
</toolbar>
</overlay>

看用户间-extensions.js。这是添加 javascript 功能的简单方法。 对我来说,重现一个已经存在的命令似乎很愚蠢。

有了 IDE 的自动完成功能,我不确定为什么添加这一步很复杂,除非您想像右键菜单一样使用它?