专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Selenium数据驱动测试模型和实例

模块驱动的模型虽然解决了脚本的重复问题,但是需要测试不同数据的用例时,模块驱动的方式就不很适合了。 数据驱动就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。 装载数据的方式可以是列表、字典或是外部文件(txt、csv、xml、excel),目的就是实现数据和脚本的分离。

代码实现如下:(文章代码url地址为内部地址,我隐藏掉了,你们可以换成其他地址哦)

# #!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 2020/8/13 13:46
# @Author : Gengwu
# @FileName: LoginClass_Para.py
# @Software: PyCharm

from  selenium import  webdriver
from  time import  sleep
from selenium.webdriver.common.action_chains import ActionChains

class Login(): #定义一个类,类下面封装两个方法,一个登录,一个退出
    def user_login(self,driver,username,password):
        # 清除用户名的框,防止自动带入
        driver.find_element_by_id('account').clear()
        driver.find_element_by_id('account').send_keys(username)

        # 清除密码的框,防止自动带入
        driver.find_element_by_id('password').clear()
        driver.find_element_by_id('password').send_keys(password)

        # 点击登录按钮
        driver.find_element_by_css_selector(
            '#app > div > div > div.content > form > div.login-form-button-item > button').click()  # copy到selector
        sleep(2)

    def user_logout(self,driver):
        # 通过悬浮框定位到退出登录
        above = driver.find_element_by_class_name('author')
        ActionChains(driver).move_to_element(above).perform()
        driver.find_element_by_link_text('退出登录').click()

        sleep(2)
        # 点击弹框的确定按钮
        driver.find_element_by_css_selector('.ant-modal-body .ant-btn-primary').click()
        sleep(2)

数据驱动调用——实现多个账户登录

# #!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 2020/8/13 14:11
# @Author : Gengwu
# @FileName: CallLogin_Para.py
# @Software: PyCharm

from selenium import webdriver
from time import sleep
from LoginClass_Para import *

driver=webdriver.Chrome()
driver.get('https://qa***.com/')
driver.maximize_window()
driver.implicitly_wait(10)
sleep(3)

Login().user_login(driver,'admin','admin')
sleep(3)
Login().user_logout(driver)

Login().user_login(driver,'test','123456')
sleep(3)
Login().user_logout(driver)

sleep(3)
driver.quit()

脚本放到同一个文件夹下,就可以试下调用。

以上如果有问题欢迎随时沟通和交流。

Best Regards!

Make a little progress every day!

文章永久链接:https://tech.souyunku.com/45925

未经允许不得转载:搜云库技术团队 » Selenium数据驱动测试模型和实例

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们