51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

小白求救,如何判读登录失败的原因【已解决】

[复制链接]
  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2016-7-1 15:37:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 pl02206984 于 2016-7-12 10:49 编辑

    看了几天的selenium,然后今天动手写了一个testcase,但是发现问题多多啊,其中有一个问题向大伙求教下,问题如下:我写了个登录的testcase,但是当写到判断登录失败原因的时候卡住了,因为我不知道如何去判断登录失败的原因,要是非空还好判断,但是输入我输入错误的用户名和密码,那如何判断呢?
    请大神门给点指点,谢谢了。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    2#
    发表于 2016-7-1 15:56:00 | 只看该作者
    问题描述清楚点,失败原因的时候卡住了? 还是截图和脚本附上来看看吧~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
     楼主| 发表于 2016-7-4 09:51:24 | 只看该作者
    若尘_51 发表于 2016-7-1 15:56
    问题描述清楚点,失败原因的时候卡住了? 还是截图和脚本附上来看看吧~~

    谢谢你的回复。
    是这样的,在登陆的时候肯定有判断的。
    1.判断用户名和密码不能为空。
    2.判断用户名和密码的正确性。
    第一个我可以写出来,但是我不知道如何写第二个。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    4#
    发表于 2016-7-4 13:40:46 | 只看该作者
    1、正常登陆的情况,获取登陆后的ULR和任意一个页面元素,与你的预期结果对比(使用断言)
    2、登陆失败的情况,如:用户名非法,或密码不正确等情况,获取提示信息,与你的预期结果对比(也是使用断言)

    例子:
            ulr_value = r'http://www.baidu.com'
            if driver.current_url == ulr_value:
                print "Pass"
                flag1 =1
            else:
                print "当前的ULR错误"
                flag1 =2
                #失败截图
                driver.switch_to_window(driver.window_handles[-1])  
                ErrorPng_name = Commond_ErrorPng("test_01")
                driver.get_screenshot_as_file(ErrorPng_name)         
            self.assertEquals(flag1,1)
                
            #(2) 页面元素显示正常
            text_value = driver.find_element_by_id("columnTitle_h2").text
            time.sleep(1)
            if text_value == u"公告":
                print "Pass"
                flag2 =1
            else:
                print "页面元素显示异常"
                flag2 =2
                #失败截图
                driver.switch_to_window(driver.window_handles[-1])  
                ErrorPng_name = Commond_ErrorPng("test_01")
                driver.get_screenshot_as_file(ErrorPng_name)
            self.assertEquals(flag2,1)
            

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
     楼主| 发表于 2016-7-4 15:34:58 | 只看该作者
    若尘_51 发表于 2016-7-4 13:40
    1、正常登陆的情况,获取登陆后的ULR和任意一个页面元素,与你的预期结果对比(使用断言)
    2、登陆失败的 ...

    谢谢,但是还有一个问题,比如我点击下一步按钮。原本的样式是这样的:
    1. <div class="con-ste">
    2.                         <ul>
    3.                                 <li class="step1"></li>
    4.                                 <li class="step2"></li>
    5.                                 <li class="step3"></li>
    6.                         </ul>
    7.                 </div>
    复制代码

    点击后变成这个样子:

    1. <div class="con-ste">
    2.                         <ul>
    3.                                 <li class="step1" style="background: url("/xxxx/image/1_2.png") no-repeat;"></li>
    4.                                 <li class="step2" style="background: url("/xxxx/image/2_2.png") no-repeat;"></li>
    5.                                 <li class="step3"></li>
    6.                         </ul>
    7.                 </div>
    复制代码
    那么我应该如何判断我点击那个下一步按钮成功了,因为成功后会变成下面那个样式。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    6#
    发表于 2016-7-4 16:02:37 | 只看该作者
    #去除style的值,进行判断:
    style_value1 = driver.ind_element_by_xpath(xxx).get_attribute('style')
    style_value   = style_value1[:10]
    if style_value == "background":
               print "Pass"
               flag1 =1
    ............
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
     楼主| 发表于 2016-7-4 16:11:26 | 只看该作者
    若尘_51 发表于 2016-7-4 16:02
    #去除style的值,进行判断:
    style_value1 = driver.ind_element_by_xpath(xxx).get_attribute('style')
    ...

    谢谢,我去试试
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
     楼主| 发表于 2016-7-5 14:05:21 | 只看该作者
    本帖最后由 pl02206984 于 2016-7-5 14:26 编辑
    若尘_51 发表于 2016-7-4 16:02
    #去除style的值,进行判断:
    style_value1 = driver.ind_element_by_xpath(xxx).get_attribute('style')
    ...

    今儿我遇到了一个新的问题,在注册成功后会弹出一个对话框,代码如下
    1. <div class="modal" id="popup-modal" style="margin-left: -15%; display: block;">
    2.                                 <div class="success">注册成功!</div>
    3.                                 <div class="su_title">
    4.                                         <img src="/xyqb/image/redbag.png">
    5.                                 </div>
    6.                                 <div class="su_content">
    7.                                         前往 <a target="_blank" href="xxxxxxxxx" style="font-size:18px; color:#2da4da;">点击领奖</a> 参与游戏<br> 领取红包
    8.                                 </div>
    9.                                 <input class="gonow" type="button" value="GOGOGO" onclick="location.href='xxxxxxxx'">
    10.                                 <div class="gogg">
    11.                                         <a href="xxxxxxxxx">去瞅瞅</a>
    12.                                 </div>
    13.                         </div>
    复制代码

    其中s当注册成功后,id是popup-modal的这个div中,style会增加一个显示的命令:display: block;。
    本来我想的是获取popup-modal这个div的style,然后用indexof判读有没有display: block这句话的,但是最后发现,我获取的style只能获取到第一个;号为止,也就是说我获取不到第一个;号后面的display: block;,想问下这个应该怎么解决?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    9#
    发表于 2016-7-5 15:45:32 | 只看该作者
    pl02206984 发表于 2016-7-5 14:05
    今儿我遇到了一个新的问题,在注册成功后会弹出一个对话框,代码如下

    其中s当注册成功后,id是popup-m ...

    首先确认下获取的内容看看:
    style_value = driver.ind_element_by_xpath(xxx).get_attribute('style')
    print style_value
    如果真如你所说的,你可以尝试获取对话框其他内容,也可以判断“注册成功,弹出了对话框“”。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:40
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
     楼主| 发表于 2016-7-6 10:01:13 | 只看该作者
    若尘_51 发表于 2016-7-5 15:45
    首先确认下获取的内容看看:
    style_value = driver.ind_element_by_xpath(xxx).get_attribute('style')
    ...

    好诡异,我今天重新运行了我写的代码,就可以了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-9 09:21 , Processed in 0.071625 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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