1

我在理解格式化程序如何为 Selenium IDE 工作时遇到了一些麻烦。我不想从头开始编写格式化程序,我想修改将 selenese 转换为 webdriver 支持的 java 的现有代码。通常我会坐下来使用 Javascript 代码并尝试弄清楚它是如何工作的,但我有点卡住了。

这是一个典型的格式化程序:

function parse(testcase, source){}
function format(testcase,name){
    var Javaprogram = ""
    for each command in testcase{
        switch command.command
        case something:
            Javaprogram += "driver.something(" + command.target + (command.value!=""?");":","+command.value+");")
        ...

我在 Java 格式化程序的任何地方都找不到这个逻辑,甚至没有格式化函数,只有“formatComment”和“formatSuite”。这让我相信这是在幕后完成的,但是逆向工程需要我真正没有的时间。

有谁知道这是如何工作的?有没有人有关于修改现有格式化程序的教程的链接?哪一个都好。我会继续寻找这个问题的答案,如果我找到它们,请在评论中链接它们。显然,人们已经做到了并且有能力做到这一点。

4

2 回答 2

1

早在 2009 年,Adam Goucher 写了一系列精彩的博客文章,讨论了这些东西,在编写 Selenium IDE 插件(格式化程序是)的背景下:

在格式化程序插件的 IDE 发行说明中也有一些有用的信息,旧的 Wiki 有一个页面描述了如何编写格式化程序(预先警告,它是旧的)。

Selenium HQ 下载页面包含几个格式化程序插件的示例,您可能会发现它们很有帮助:

于 2013-03-01T22:33:38.043 回答
0
  1. 打开 Selenium-IDE 源代码,您可以通过从 GitHub 下载它或在 Windows 资源管理器上转到:(C:\Users\ YOUR_USER_NAME \AppData\Roaming\Mozilla\Firefox\Profiles\ FIREFOX_PROFILE \extensions)
  2. 将 Selenium-IDE 扩展{a6fd85ed-e919-4a43-a5af-8da18bda539f}.xpi 复制到您的桌面
  3. 将文件重命名为 {a6fd85ed-e919-4a43-a5af-8da18bda539f}.xpi.zip
  4. 提取 Zip 文件
  5. 转到ZIP\chrome\content\formats\
  6. 打开webdriver.js
  7. 搜索函数 formatCommand(command),你会在 ~425 行找到

现在这个函数负责调用Selenium-IDE的Formatter Extension,这个函数以命令为输入,返回字符串为输出,即目标编程语言中的对应行。

如果你编辑这个函数,这将自定义所有编程语言的 Formatter,如果你想自定义特定的编程语言,你必须编辑扩展源代码:

  1. 转到(C:\Users\ YOUR_USER_NAME \AppData\Roaming\Mozilla\Firefox\Profiles\ FIREFOX_PROFILE \extensions)
  2. 找到目标格式化程序X-formatters@seleniumhq.org.xpi 将其复制到您的桌面,解压缩并转到chrome\content\formats\,您可以在其中找到格式化程序的 js 文件。

为了应用您的编辑:

于 2015-08-14T09:42:31.190 回答