我在理解格式化程序如何为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”。这让我相信这是在幕后完成的,但逆向工程需要时间,我真的没有。
有谁知道这是如何工作的?有没有人有关于修改现有格式化程序的教程的链接?要么没事。如果我找到它们,我会继续寻找答案并将它们链接在评论中。显然,人们已经并且有能力做到这一点。
答案 0 :(得分:1)
Adam Goucher在2009年撰写了一系列精彩的博客文章,在编写Selenium IDE插件(格式化程序)的背景下讨论这些内容:
在IDE release notes on formatter plugins还有一些有用的信息,而旧的Wiki有一个页面describes how to write a formatter(预先警告,它是O-L-D)。
Selenium HQ downloads page包含几个格式化程序插件的示例,您可能会发现这些插件很有用:
答案 1 :(得分:0)
现在这个函数负责调用Selenium-IDE的Formatter Extension,这个函数以命令作为输入,并返回 string 作为输出,这是相应的行目标编程语言。
如果你编辑这个函数,这将自定义所有编程语言的Formatter,如果你想自定义特定的编程语言,你必须编辑扩展源代码:
要应用您的修改:
您必须重新将扩展副本重建为 (C:\ Users \用户的 YOUR_USER_NAME 强> \应用程序数据\漫游\ Mozilla的\火狐\概况\的 FIREFOX_PROFILE 强> \扩展) 并重启你的Firefox,我建议你阅读Mozilla 开发者网络指南,以获取有关构建的详细说明 Firefox扩展 https://developer.mozilla.org/en/docs/Building_an_Extension
或者您可以构建覆盖扩展以便不更改 原始源代码https://developer.mozilla.org/en/docs/Chrome_Registration