51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3322|回复: 4
打印 上一主题 下一主题

[原创] web user脚本变为Java语言后的编码问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-4-13 19:21:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这两天仔细研究了下LR的虚拟用户使用手册,对其中将web user脚本转为Java后出现的问题,在这里抛砖引玉,以求更深入的地学习。

web脚本如下:
web_url("club.joyes.com",
  "URL=http://club.joyes.com/",
  "Resource=0",
  "RecContentType=text/html",
  "Referer=",
  "Snapshot=t2.inf",
  "Mode=HTTP",  
  LAST);
web_submit_form("login.asp",
  "Snapshot=t3.inf",
  ITEMDATA,
  "Name=CkiExp", "Value=无效", ENDITEM,
  "Name=user", "Value=810503", ENDITEM,
  "Name=pass", "Value=1234", ENDITEM,
  LAST);

    web_link("退 出",
  "Text=退 出",
  "Snapshot=t8.inf",
  LAST);
按照使用手册上所讲,将这段存为e:\test\noname3.txt  , 然后 进入DOS命令界面,作如下操作:

新建一个java协议的脚本,将刚才转换所得的脚本内容(即 e:\test\noname3.txt文件内容)拷贝到 public int action()后的大括号之内
脚本编译还不能通过,又作了一些修改和加强,脚本如下:
import lrapi.lr;

public class Actions
{
public int init() {
  return 0;
}//end of init

public int action() {
     try{
   
      
        int  _webresult = lrapi.web.url("club.joyes.com",
  "URL=http://club.joyes.com/", new String[]{
  "Resource=0",
  "RecContentType=text/html",
  "Referer=",
  "Snapshot=t5.inf",
  "Mode=HTML",
   lrapi.web.LAST});


       _webresult = lrapi.web.submit_data("login.asp",
  "Action=http://club.joyes.com/User/login.asp", new String[]{
  "Method=POST",
  "RecContentType=text/html",
  "Referer=http://club.joyes.com/",
  "Snapshot=t7.inf",
  "Mode=HTML",
  }, new String[]{ // ITEM DATA
  "Name=CkiExp", "Value=-1",lrapi.web.ENDITEM,
  "Name=submitflag", "Value=ddddls-+++", lrapi.web.ENDITEM,
  "Name=user", "Value=<user>", lrapi.web.ENDITEM,
  "Name=pass", "Value=<pass>", lrapi.web.ENDITEM,
   lrapi.web.LAST});
/*退出登陆*/
  
          lr.output_message(lr.eval_string("<user>"));
   lr.enable_redirection(true);
   lr.redirect("e://test//tt.txt",lr.eval_string("<user>")+"\n",true);
   lr.enable_redirection(false);

  _webresult = lrapi.web.link("退 出",
  "Text=退 出", new String[]{
  "Snapshot=t8.inf",
  lrapi.web.LAST});
     }
     catch(Exception e)
     {
              
     }
  return 0;
}//end of action

public int end() {
  return 0;
}//end of end
}
现在脚本能够回放了,但是最后一段
  _webresult = lrapi.web.link("退 出",
  "Text=退 出", new String[]{
  "Snapshot=t8.inf",
  lrapi.web.LAST});
由于录制web时采用的UTF-8的编码,而在java环境下没有看到这个功能,导致回放时“退出”文本为乱码,不能识别,回放不成功。

想请教下哪位高手,可以解决这个问题的?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

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

使用道具 举报

该用户从未签到

2#
发表于 2007-4-14 13:46:50 | 只看该作者
嗯,这个功能没有用过,编码不对。。。

不过我想应该是在转换的时候可以进行设置的吧,看看web_to_java.sed。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-4-14 13:51:08 | 只看该作者
或者修改一下你的录制web时候的编码格式
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-4-16 09:38:30 | 只看该作者
录制web时采用的UTF-8的编码,虽然在脚本里面能看到,但是提交时还是乱码,这个可以解决么?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 2009-1-12 16:56:40 | 只看该作者

    请问

    import lrapi.lr

    这个包在哪里啊?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-28 15:33 , Processed in 0.080272 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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