zoukankan      html  css  js  c++  java
  • 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中运行是正常的,不知道刚刚犯困有没有改错

  • 相关阅读:
    Unity 3D第三人称视角、用途广泛限定角度(视角不能360度翻转)
    Android Studio安卓导出aar包与Unity 3D交互
    Unity 3D调用Windows打开、保存窗口、文件浏览器
    安卓与Unity交互之-Android Studio创建Module库模块教程
    Unity 3D与Android Studio安卓交互之-导出jar包
    C#字符串string以及相关内置函数
    Unity 3D委托entrust
    数据结构与算法学习一
    .NET Core学习一--Powered by .NET Core on Kubernetes
    easyui.form
  • 原文地址:https://www.cnblogs.com/maigeyouziba/p/11235376.html
Copyright © 2011-2022 走看看