我正在使用Selenium IDE Record功能来创建测试用例。 我想在我正在测试的应用程序的某些部分截取屏幕截图。
使用Selenium IDE的UI很容易:
命令: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源代码,但没有找到可用于向测试用例添加新命令的方法......
答案 0 :(得分:0)
更多地挖掘源代码并找到所需的方法:
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>
答案 1 :(得分:0)
查看inter user-extensions.js。这是添加JavaScript功能的简单方法。 对我来说,重现已经存在的命令似乎很愚蠢。
使用IDE的自动完成功能,我不确定为什么在此步骤中添加它很复杂,除非您想像右键单击菜单一样使用它?