• Python+selenium登录测试


    我们以登录新浪微博为案例来讲解,首先进入登录页面,输入用户名和密码,点击登录按钮,并且获得用户信息以验证是否登录成功。

    Web地址:https://login.sina.com.cn/signup/signin.php

      在编写功能测试用例时,会假定一个预期结果,在执行用例的过程中把得到的实际结果与预期结果进行比较,从而判断用户的通过或失败。自动化测试用例时右机器去执行的,通常机器不像人一样有思维和判断能力。因此我们在自动化用例执行完成之后,可以从页面上获取一些信息来“证明”用例执行是成功还是失败。

      通常用的最多的几种验证信息分别是title、URL和text。

    代码实现:

    from selenium import webdriver
    from time import sleep
    
    driver=webdriver.Firefox()
    driver.get("https://login.sina.com.cn/signup/signin.php")
    
    print("Before login=====================================")
    
    # 打印当前页面title
    print(driver.title)
    
    # 打印当前页面URL
    print(driver.current_url)
    
    # 执行登录
    driver.find_element_by_id("username").clear()
    driver.find_element_by_id("username").send_keys("88888888@qq.com")
    
    driver.find_element_by_id("password").clear()
    driver.find_element_by_id("password").send_keys("password")
    driver.find_element_by_css_selector("[type='submit']").click()
    sleep(5)
    
    print("Before login=====================================")
    
    # 再次打印当前页面title
    print(driver.title)
    
    # 再次打印当前页面URL
    print(driver.current_url)
    
    # 获得登录的用户名
    print(driver.find_element_by_css_selector(".me_name").text)
    
    driver.quit()

    运行脚本后执行结果如下:


    Before login=====================================
    新浪通行证登录
    https://login.sina.com.cn/signup/signin.php
    Before login=====================================
    我的新浪_个人中心_新浪网
    http://my.sina.com.cn/
    Nancy-Test


     title:用于获得当前页面的标题

    current_url:用户获得当前页面的URL

    通过打印结果显示,可以发现登录前后的title和URL明显不同。因此,可以把登录之后的这些信息存放起来,作为登录是否成功的验证信息。当然,如果URL每次登录都会有所变化,是不能拿来做验证信息的。title可以拿来做验证信息,但它并不能明确的表示是哪个用户登录成功了,因此通过text获取用户文本是很好的验证信息。

     

  • 相关阅读:
    描述下jvm的gc机制,常用的jvm调优方法,oom如何产生,如何处理oom 问题?
    大数据hadoop 面试经典题
    redis 个人理解和常用命令以及应用场景
    Hadoop 源码编译 step by step 最简洁的步骤
    Openstack 的介绍 ,安装以及简单应用
    Docker 的介绍 ,安装以及简单应用
    星型模型和雪花模型的应用场景
    php向js的函数内传递参数-用经纬度计算2点间的距离
    php-URL方法下载远程图片
    微信开发-js接口的使用无法使用分享功能的一些说明
  • 原文地址:https://www.cnblogs.com/NancyRM/p/8202910.html
Copyright © 2020-2023  润新知