• selenium09-自动化练习案例


    为了练习测试用例模块化,与数据分离,这次以qq邮箱为例,进行练习:

    先将6个qq账号和密码放在一个单独的文件A中,然后在另一个文件B中编写自动化的代码,调用文件A中的账号和密码来实现自动登录并验证,验证之后,退出浏览器,三秒后再开始下一个账号的登录。

    以下是源码,具体的qq账号和密码我隐去了

    #user_list.py  #存放账号和密码的文件 user_list.py

    def get_user_list():

      user_list = {

      'account01': {'username':'********', 'password':'********'},

      'account02': {'username':'********', 'password':'********'},

      'account03': {'username':'********', 'password':'********'},

      'account04': {'username':'********', 'password':'********'},

      'account05': {'username':'********', 'password':'********'},

      'account06': {'username':'********', 'password':'********'}

      }

      return user_list

    #qq_mail_login.py  #主要代码模块的文件名 qq_mail_login.py

    from selenium import webdriver

    import time

    from selenium.webdriver.support.ui import WebDriverWait

    import user_list

    def get_web():

      driver = webdriver.Firefox()

      driver.get('https://mail.qq.com/')

      return driver

    def get_login(driver):

      WebDriverWait(driver, 10).until(lambda driver:driver.find_element_by_xpath('/html/body/div/div[1]/a'))

      driver.switch_to.frame('login_frame')

      driver.find_element_by_id('switcher_plogin').click()

    def input_login(driver, account, password):

      ele_account = driver.find_element_by_id('u')

      ele_account.clear()

      ele_account.send_keys(account)

      ele_account.send_keys('@qq.com')

      ele_password = driver.find_element_by_id('p')

      ele_password.clear()

      ele_password.send_keys(password)

      driver.find_element_by_xpath('//*[@id="login_button"]').click()

      time.sleep(10)

    def check_login(driver, account):

      try:

        driver.switch_to.default_content()

        driver.switch_to.frame('mainFrame')

        ele = driver.find_element_by_xpath('/html/body/div[2]/div/ul/li[1]/div[2]/a')

        print('登录账号',account,'成功!')

      except:

        print(account,'登录失败!')

    if __name__ == "__main__":

      users = user_list.get_user_list()

      for key, value in users.items():

        account = value['username']

        password = value['password']

        print('账号', key, '正在登录中……')

        driver = get_web()

        get_login(driver)

        input_login(driver, account, password)

        check_login(driver, account)

        driver.quit()

        time.sleep(3)

     凌晨一点,困得眼睛睁不开,最近上班是996,也许以上代码中有错,但是我在geany中运行是正常的,不知道刚刚犯困有没有改错

  • 相关阅读:
    Tar命令用法详解
    一次Linux系统被攻击的分析过程
    企业系统安全管理和强化的十点建议
    中型企业的IT运维策略
    企业邮件服务器被列入RBL,申请撤销PBL指控
    Xshell远程连接Ubuntu
    LeetCode 7: Reverse Integer
    LeetCode 14: Longest Common Prefix
    LeetCode 203:Remove Linked List Elements
    数据挖掘之处理分类自变量与处理时间变量
  • 原文地址:https://www.cnblogs.com/maigeyouziba/p/11235376.html
Copyright © 2020-2023  润新知