google搜索 站内搜索                 软件测试门户 | 软件测试培训 | 文章资料精选 | 软件测试论坛 | 测试解决方案 | 软件测试博客 | 测试招聘求职 
打印

请教:怎样在firefox里面load javascript

请教:怎样在firefox里面load javascript


我在我的脚本里面需要调用javascript 写的方法,如果使用的IE 浏览器,我们可以使用下面的步骤来做:
BrowserPage.ExecScript (lsLines)
BrowserPage.ExecFunction ("<Function Name>")

但是在firefox里面是不能用ExecScript去load javascript,想请教大家,有什么其他的办法能让我的silktest 能够load javascript?

目前我的silktest 版本是silktest2006R2.

谢谢!

TOP

lz可不可以试试用笔处理文件?


如题。

ExecLine, ExecMethod和execScript 是不支持FireFox只针对IE Dom的。

但是,放在批处理文件中(.bat)可能可以实现。
你可以在文件头加'javascript:'然后加你要的函数,在调用哪个批处理文件。

希望有帮助。
找啊找啊,找工作……
找来找去,找不到……
[有谁要招小工、临时工、钟点工……] >>  jmy_1981@hotmail.com

TOP

请jmy_1981看过来


不好意思,再请教一下jmy_1981,我试用了你介绍的办法,正如下面:
批处理文件名:test.bat
批处理文件test.bat命令包括:javascript:salute()
salute.js文件里面包含一个salute()方法(放在C:\Program Files\Borland\SilkTest\Projects\salute.js),如:
function salute()
{
   alert("Pass");
   return 3;
}
silktest调用salute()如下:
        [ ] STRING sCMD = "C:\test.bat"
        [ ] LIST OF STRING lsDirOut = {...}
        [ ] Print(SYS_Execute (sCMD,lsDirOut))
                      [ ] Print (lsDirOut)
最后我得到这样一个运行结果:
[-] Testcase test - Passed
                     [ ] 1
        [ ] {, C:\Program Files\Borland\SilkTest>javascript:salute() , The filename, directory name, or volume label syntax is incorrect.}

我在google上搜索关于“批处理文件调用javascript方法”的介绍,好像没有太多的帖子讨论关于这方面的问题,你能把你的处理办法再详细介绍一下吗?我返回的结果总是不正确,谢谢了!

另外还有一个问题,能用这样的办法解决通过silktest传入参数并最终从指定的脚本方法中返回需要的结果到silktest吗?谢谢!

TOP

我们把问题拆开看吧……

1. [.bat],ls可不可先确定你在command consle下面是运行正常的,你的.bat是否正确的启动了相关的Java的环境(比如:JDK等等)?
  1.1 如果你可以在command consle下面得到你预期的答案,再看调试Silk里面的参数。
2. [传值],ls 上问我的问题是不是下面的要求
  a 把一组参数通过Silk传入.bat
  b 在Silk下运行.bat
  c 把运行的结果作为新的参数传出
  2.1 如果是的话,这个是可行的,因为你是基于command consle的;
      你可以用建立文件的方法在Silk里面建立.bat,
      然后你的参数行和命令行其实是string的组合,
      再在command consle的方法里输出.txt 的结果,
      最后用Silk读文件的命令得到你要的参数。(注意:不能是用来编译文件,因为编译会清空内存,你就得不到你要的结果了)
找啊找啊,找工作……
找来找去,找不到……
[有谁要招小工、临时工、钟点工……] >>  jmy_1981@hotmail.com

TOP

谢谢!但是我觉得这个错误好像是因为不能够找到javascript文件


我确认了我的PC机JAVA环境配置,用的是jdk1.5.0_11,环境变量PATH配置没有问题,另外我还增加了一个环境变量CLASSPATH,将dt.jar,htmlconverter.jar, tools.jar增加到CLASSPATH.
操作环境配置:操作系统是WIN XP,SilkTest是SILKTEST2006R2,FireFox 2.0
不知是不是需要近一步去查看我的环境配置呢?

另外,在3#中我提到运行结果返回{, C:\Program Files\Borland\SilkTest>javascript:salute() , The filename, directory name, or volume label syntax is incorrect.},这个看上去是因为test.bat不能够找到salute.js文件,我通过command console也得到同样的反馈结果。

在2#中,你告诉我可以在批处理文件头加'javascript:'然后加要的函数,所以test.bat的引用如下:
'javascript:salute()
而在silktest里面并不能够load salute.js 的路径,因为使用的是SYS_Execute().
不好意思,我很少写批处理文件,麻烦能否告诉我salute.js 路径是在test.bat里面指定呢,还是在silktest里面指定,怎么指定呢?万分感谢,期待着jmy_1981的回复!

[ 本帖最后由 Lily-fg 于 2007-12-5 18:29 编辑 ]

TOP

我给你写个例子吧……


/* Code Dummy */
@ ECHO OFF

if not "%JAVA_HOME%"=="" goto setpath
if exist "C:\Program Files\Java\jre1.6.0" goto setenv

:setenv
set JAVA_HOME=C:\Program Files\Java\jre1.6.0

:setpath

set classpath=%classpath%;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;.;
set path=%path%;%JAVA_HOME%\bin;.;

java -jar lib\updater.jar arg0 arg1 arg2
/* End Code Dummy */

ls可以简单的改改再用……

希望有帮助。
找啊找啊,找工作……
找来找去,找不到……
[有谁要招小工、临时工、钟点工……] >>  jmy_1981@hotmail.com

TOP

 
当前时区 GMT+8, 现在时间是 2008-12-5 23:53Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹