51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4223|回复: 5
打印 上一主题 下一主题

请教:怎样在firefox里面load javascript

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-11-30 14:52:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在我的脚本里面需要调用javascript 写的方法,如果使用的IE 浏览器,我们可以使用下面的步骤来做:
BrowserPage.ExecScript (lsLines)
BrowserPage.ExecFunction ("<Function Name>")

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

目前我的silktest 版本是silktest2006R2.

谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-12-1 17:16:14 | 只看该作者

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

如题。

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

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

希望有帮助。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-12-3 15:36:17 | 只看该作者

请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吗?谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-12-3 16:40:33 | 只看该作者
我们把问题拆开看吧……

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读文件的命令得到你要的参数。(注意:不能是用来编译文件,因为编译会清空内存,你就得不到你要的结果了)
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-12-4 15:20:47 | 只看该作者

谢谢!但是我觉得这个错误好像是因为不能够找到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 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-12-7 15:34:44 | 只看该作者

我给你写个例子吧……

/* 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可以简单的改改再用……

希望有帮助。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-26 00:45 , Processed in 0.092860 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表