Selenium2+python自动化10-登陆案例

前言    css

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

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

1、登陆python

    1.先打开浏览器git

    2.打开github登陆页:https://github.com/logingithub

    3.查找元素以前能够先设置元素等待:implicitlywait()web

    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()

学习

 

2、检查结果测试

    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("登陆失败!")

 

3、退出登陆

    1.测试完以后,别忘了最后退出登陆

    2.退出登陆后,关闭浏览器


# 点sign out退出登陆
driver.find_element_by_css_selector(".dropdown-item.dropdown-signout").click()
driver.quit()

 
4、登陆函数

    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)

 

在学习过程当中有遇到疑问的,能够加selenium(python+java) QQ群交流:646645429

《selenium+python高级教程》已出书:selenium webdriver基于Python源码案例

(购买此书送对应PDF版本)

 

 

能够关注下个人我的公众号:

相关文章
相关标签/搜索