zoukankan      html  css  js  c++  java
  • Selenium2+python自动化10-登录案例

    转载:https://www.cnblogs.com/yoyoketang/p/6128596.html

    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)

  • 相关阅读:
    手动安装vue-devtools
    redis随记
    JS时间格式化
    360自动抢票还不够,几行js代码设置无人值守
    HttpWebRequest请求返回非200的时候 HttpWebResponse怎么接受返回错误提示
    android发编译
    asprise-ocr-api-sample 高价收破解版64 32位
    (16)集合操作
    (15)字典操作
    (14)字符串
  • 原文地址:https://www.cnblogs.com/yuany66/p/11338824.html
Copyright © 2011-2022 走看看