打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Selenium2+python自动化10

前言    

前面几篇都是讲一些基础的定位方法,没具体的案例,小伙伴看起来比较枯燥,有不少小伙伴给小编提建议以后多出一些具体的案例。本篇就是拿部落论坛作为测试项目,写一个简单的登录测试脚本。

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

一、登录

    1.先打开浏览器

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

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

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

参考代码:

# 打开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.不符合预期结果测试不通过

参考代码:
# 登录成功后,获取我的账户名称
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'''
    # 打开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)


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
web自动化笔记十四:PO模式封装
Selenium自动登录淘宝,我无意间发现了登录漏洞!
Python Selenium:浏览器弹出框处理
使用python实现问卷星自动答题功能
使用 Selenium 进行模拟登入和页面内容的获取
Python制作自动答题脚本,100%准确率,1秒10题提高效率
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服