百木园-与人分享,
就是让自己快乐。

Selenium+python自动化-登录教程

前言

一天不写代码,这手就闲的发慌,好难受啊…

前面几篇都是讲一些基础的知识,没具体的案例,小伙伴看起来比较枯燥,有不少小伙伴给小编提建议以后多出一些具体的

案例。本篇就是拿部落论坛作为测试项目,写一个简单的登录测试脚本。

在写登录脚本的时候呢,先要保证流程能跑起来,然后才是去想办法优化代码,让自己的脚本看起来更舒服,具有良好的可读

性。

在这里插入图片描述

一、登录

  1.先打开浏览器

    2.打开github登录页:https://github.com/login

    3.查找元素之前可以先设置元素等待:implicitlywait()

    4.输入用户名、密码,然后点登录

在这里插入图片描述

代码如下:

Python学习交流Q群:906715085####
# 打开github首页
driver.get(\"https://github.com/login\")
driver.implicitly_wait(10)
# 输入账号
driver.find_element_by_id(\"login_field\").send_keys(\"youruser\")
# 输入密码
driver.find_element_by_id(\"password\").send_keys(\"yourpsw\")
driver.find_element_by_name(\"commit\").click()

 

在这里插入图片描述

二、检查结果

1.登录完成之后,需要检查是否登录成功,这里就需要有个检查点,我这边选择右上角的账户名是不是我刚才登录这个账号

在这里插入图片描述

2.先定位到右上角设置,通过.text方法获取这个元素的文本属性

3.判断获取到的值,与期望结果是否一致

4.符合预期结果测试通过

5.不符合预期结果测试不通过

在这里插入图片描述

参考代码:

Python学习交流Q群:906715085###
# 登录成功后,获取我的账户名称
time.sleep(5)
# 点右上角设置
driver.find_element_by_css_selector(\".HeaderNavlink.name.mt-1\").click()
# 获取账户名称
time.sleep(1)
t = driver.find_element_by_css_selector(\".dropdown-header.header-nav-current-user.css-truncate>.css-truncate-target\").text
print(\"获取到我的账户名称:%s\" % t)

if t == \"yoyoketang\":
    print(\"登录成功!\")
else:
    print(\"登录失败!\")

 

在这里插入图片描述

三、退出登录

1.测试完之后,别忘了最后退出登录

2.退出登录后,关闭浏览器
# 点sign out退出登录
driver.find_element_by_css_selector(\".dropdown-item.dropdown-signout\").click()
driver.quit()

 

在这里插入图片描述

四、登录函数

1.虽然上面的代码能实现登录,但整个代码跟记流水账一样,没什么可读性。如果我想换个账号登录,这时候还得找到登录的账号和密码位置,比较费时。

2.我们可以把登录和退出写出两个函数,这样看起来更舒服一点。

3.把登录的账号和密码参数化
# coding:utf-8
from selenium import webdriver
import time

def login(driver, user, password):
    \'\'\'登录github\'\'\'
    
    driver.get(\"https://github.com/login\")
    driver.implicitly_wait(10)
   
    driver.find_element_by_id(\"login_field\").send_keys(user)
   
    driver.find_element_by_id(\"password\").send_keys(password)
    driver.find_element_by_name(\"commit\").click()

def logout(driver):
    \'\'\'退出github\'\'\'
    time.sleep(3)
    
    driver.find_element_by_css_selector(\".HeaderNavlink.name.mt-1\").click()
    time.sleep(1)
    # 点sign out
    driver.find_element_by_css_selector(\".dropdown-item.dropdown-signout\").click()
    driver.quit()

if __name__ == \"__main__\":
    driver = webdriver.Firefox()
    
    login(driver, \"youruser\", \"yourpsw\")
    print(\"hello  yoyo!\")
    
    logout(driver

 

最后

好的东西怎么能够不跟大家分享呢?对于案例有不清楚的小伙伴记得评论留言,解决好问题才能更好地

帮助我们接下来的学习。点赞收藏我就不多说了,今天分享的Selenium+python自动化登录案例到这里

就要跟大家说再见了。

在这里插入图片描述


来源:https://www.cnblogs.com/123456feng/p/16195474.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Selenium+python自动化-登录教程

相关推荐

  • 暂无文章