51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2396|回复: 9
打印 上一主题 下一主题

[原创] 帮忙看下登录脚本

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-3-31 14:43:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
根据论坛中的经验与我的实际情况下的脚本,现在有一个问题:当我成功登录后,浏览器进入了系统页面,所以我加上了close语句用来关闭当前页面;但当再次进行登录操作时不能打开登录页,请问我该如何解决,有没有打开页面的语句?
代码如下:
Dim iStatus
Dim text
Dim i
i=0
While i<DataTable.GetSheet("login").GetRowCount
wait 3
Browser("信息管理系统").Page("信息管理系统").WebEdit("username").Set DataTable("username", dtLocalSheet)
Browser("信息管理系统").Page("信息管理系统").WebEdit("password").SetSecure DataTable("password", dtLocalSheet)
Browser("信息管理系统").Page("信息管理系统").WebButton("登录").Click

iStatus = DataTable("status", dtLocalSheet) '读取状态值

   '成功登录
If iStatus="" then                  
  Reporter.ReportEvent micPass, "成功","登录成功"
  Browser("信息管理系统").Close  

end if

'用户名或密码错误     
iStatus = DataTable("status", dtLocalSheet)                                                              
if  Browser("信息管理系统").Dialog("Microsoft Internet Explorer").Exist then
                text=Browser("信息管理系统").Dialog("Microsoft Internet Explorer").Static("Static").GetROProperty("Text")
                If text=iStatus then
                        Reporter.ReportEvent micPass, "失败",text
                else
                        Reporter.ReportEvent micFail,"异常","有错误"
                end if  
         Browser("信息管理系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
end if  
       
i=i+1
DataTable.GetSheet("login").SetNextRow()
wend
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-3-31 14:46:39 | 只看该作者

datatable

username        password        status
2        49d19ad1950d474cb9b51cf19c5e5648        用户名或密码错误,请重试!
test1        123456       
test2        123456       
        123456        用户名或密码错误,请重试!
test4                用户名或密码错误,请重试!
test        1234567        用户名或密码错误,请重试!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2017-7-4 15:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2009-3-31 15:32:40 | 只看该作者
    使用system.util打开一个IE
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2009-3-31 15:39:22 | 只看该作者

    回3楼

    能详细点吗?我是新手。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2009-3-31 16:02:35 | 只看该作者
    加了以后第一次运行脚本时,会出现2个窗口
    SystemUtil.Run "iexplore.exe", "http://192.168.0.3:9080/Court/"
    能否加个判断,判断窗口是否存在,如果不存在了在打开IE
    我试着写的不知道对不对,请指点
    if  Browser("信息管理系统").Exist then
    xxx
    else
    SystemUtil.Run "iexplore.exe", "http://192.168.0.3:9080/Court/"
    end if
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2009-3-31 16:20:05 | 只看该作者

    哈哈,好了


    全部代码:
    Dim iStatus
    Dim text
    Dim i
    i=0
    While i<DataTable.GetSheet("login").GetRowCount
    wait 3
    if  Browser("信息管理系统").Exist then

        Browser("信息管理系统").Page("信息管理系统").WebEdit("username").Set DataTable("username", dtLocalSheet)
        Browser("信息管理系统").Page("信息管理系统").WebEdit("password").SetSecure DataTable("password", dtLocalSheet)
        Browser("信息管理系统").Page("信息管理系统").WebButton("登录").Click
    else
        SystemUtil.Run "iexplore.exe", "http://192.168.0.3:9080/Court/"
        Browser("信息管理系统").Page("信息管理系统").WebEdit("username").Set DataTable("username", dtLocalSheet)
        Browser("信息管理系统").Page("信息管理系统").WebEdit("password").SetSecure DataTable("password", dtLocalSheet)
        Browser("信息管理系统").Page("信息管理系统").WebButton("登录").Click
    end if

    iStatus = DataTable("status", dtLocalSheet) '读取状态值

       '成功登录
    If iStatus="" then                  
      Reporter.ReportEvent micPass, "成功","登录成功"
      Browser("信息管理系统").Close  

    end if

    '用户名或密码错误     
    iStatus = DataTable("status", dtLocalSheet)                                                              
    if  Browser("信息管理系统").Dialog("Microsoft Internet Explorer").Exist then
                    text=Browser("信息管理系统").Dialog("Microsoft Internet Explorer").Static("用户名或密码错误,请重试!").GetROProperty("Text")
                    If text=iStatus then
                            Reporter.ReportEvent micPass, "失败",text
                else if text="您已连续输错三次密码,软件将自动退出" then
                                Reporter.ReportEvent micPass, "失败",text
                   
                    else
                                    Reporter.ReportEvent micFail,"异常","有错误"
                    end if
                    end if  
             Browser("信息管理系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
                     'Browser("信息管理系统").Close  
    end if  
           
    i=i+1
    DataTable.GetSheet("login").SetNextRow()
    wend
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2009-3-31 16:28:37 | 只看该作者

    新的想法-插入检查点

    现在有个新的想法,就是在登录成功后,在显示的主页中进行一些检查,如显示的用户名、显示的页面的菜单等是否是符合预期的结果。如用户1(test1),登录成功后显示的用户名为用户1,菜单有工作薄、XXX、XXX。
    我的想法,首先在成功登录后不关闭窗口,加入文本检查点,页面检查点;点击页面上的退出按钮(关闭页面),继续循环。。。。
    有经验的朋友请指点下,谢谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2009-4-1 16:42:15 | 只看该作者

    最新代码,加了部分的检查点(当前用户),菜单的检查还不知道要怎么做


    SystemUtil.CloseProcessByName("iexplore.exe")
    Dim iStatus
    Dim text
    Dim i
    i=0
    While i<DataTable.GetSheet("login").GetRowCount
    wait 3
    If  Browser("信息管理系统").Exist then
        Browser("信息管理系统").Page("信息管理系统").WebEdit("username").Set DataTable("username", dtLocalSheet)
        Browser("信息管理系统").Page("信息管理系统").WebEdit("password").SetSecure DataTable("password", dtLocalSheet)
        Browser("信息管理系统").Page("信息管理系统").WebButton("登录").Click
    else
        SystemUtil.Run "iexplore.exe", "http://192.168.0.3:9080/Court/"
        Browser("信息管理系统").Page("信息管理系统").WebEdit("username").Set DataTable("username", dtLocalSheet)
        Browser("信息管理系统").Page("信息管理系统").WebEdit("password").SetSecure DataTable("password", dtLocalSheet)
        Browser("信息管理系统").Page("信息管理系统").WebButton("登录").Click
    End If

    iStatus = DataTable("status", dtLocalSheet) '读取状态值

       '成功登录
    If iStatus="" then  
            Reporter.ReportEvent micPass, "成功","登录成功"
                    Browser("信息管理系统").Page("信息管理系统_2").Frame("mainFrame").Check CheckPoint("onUser")
            Browser("信息管理系统").Page("信息管理系统_2").Frame("mainFrame").WebButton("退出").Click

    else

    '用户名或密码错误     
    iStatus = DataTable("status", dtLocalSheet)                                                              
    If  Browser("信息管理系统").Dialog("Microsoft Internet Explorer").Exist then
                    text=Browser("信息管理系统").Dialog("Microsoft Internet Explorer").Static("用户名或密码错误,请重试!").GetROProperty("Text")
                    If text=iStatus then
                            Reporter.ReportEvent micPass, "失败",text
                else If text="您已连续输错三次密码,软件将自动退出" then
                                Reporter.ReportEvent micPass, "失败",text
                   
                    else
                                    Reporter.ReportEvent micFail,"异常","有错误"
                    End If
                    End If  
             Browser("信息管理系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
                     'Browser("信息管理系统").Close  
    End If  
    End If
           
    i=i+1
    DataTable.GetSheet("login").SetNextRow()

    wend
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2009-4-1 17:29:49 | 只看该作者
    你想检查菜单的什么内容?是否能正常显示,文字是否正确,还是要检查菜单的链接是否正确?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2009-4-1 17:43:12 | 只看该作者

    回9楼

    我想检查菜单项的数目、文字、链接是否正确

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-9 00:45 , Processed in 0.082419 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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