(六)Selenium自动化测试实战—unittest框架

这篇具有很好参考价值的文章主要介绍了(六)Selenium自动化测试实战—unittest框架。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上一篇:(五)Selenium自动化测试实战—PO模式_要开朗的spookypop的博客-CSDN博客

先看下代码的运行效果:

运行自动化测试代码

unittest是python单元测试框架,它提供了一组丰富的工具来构建和运行测试,可以满足日常做自动化测试的需求。

上一篇详细的介绍了如何用PO模式写登录功能的自动化测试代码,在上一篇的基础上,加上unittest框架,稍微改下代码:

(六)Selenium自动化测试实战—unittest框架

 还是上面的登录功能,封装页面元素和方法的代码不变(详细看点击顶部看上一篇,不赘述)。

(六)Selenium自动化测试实战—unittest框架

LoginPage.py

from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions


# 登录页面
class LoginPage(object):
    def __init__(self, driver):
        # 浏览器驱动
        self.driver = driver
        # 页面地址
        self.driver.get('http://www.softwarebox.club/pages/OnlineTools/AutoLearn')
        try:
            # 用户名输入框
            self.usernameBy = self.driver.find_element(By.ID, 'username')
            # 密码输入框
            self.passwordBy = self.driver.find_element(By.ID, 'password')
            # 登录按钮
            self.submitBy = self.driver.find_element(By.XPATH, '//*[@id="contentmain"]/section/div[2]/form/button[1]')
        except Exception as e:
            message = '元素定位失败'
            print(e)
            print(message)

    # 登录功能
    def login_valid(self, username, password):
        # 输入用户名
        self.usernameBy.send_keys(username)
        # 输入密码
        self.passwordBy.send_keys(password)
        # 点击登录按钮
        self.submitBy.click()

    # 获取页面弹窗
    def alert_message(self):
        wait = WebDriverWait(self.driver, 10)
        alert = wait.until(expected_conditions.alert_is_present())
        # 返回弹窗和弹窗信息
        return alert, alert.text

LoginCase.py

测试代码在上一篇的基础上稍稍修改下,引入unittest模块。

以test_开头的方法,是登录的测试用例。执行每个测试用例方法的时候都会先执行setUp()方法,用例结束后执行tearDown()方法。

import time
from Pages.LoginPage import LoginPage
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
import unittest


class LoginCase(unittest.TestCase):
    def setUp(self) -> None:
        service = ChromeService(executable_path=ChromeDriverManager().install())
        self.driver = webdriver.Chrome(service=service)

    def test_login_success(self):
        # case:输入正确的用户名密码,登录成功,跳转到首页
        login = LoginPage(self.driver)
        login.login_valid('小明', '123456Xm')
        time.sleep(2)
        self.assertEqual(self.driver.current_url, 'http://www.softwarebox.club/', '页面跳转失败')

    def test_login_fail_username(self):
        # case:输入的用户名不存在,系统提示用户不存在'
        login = LoginPage(self.driver)
        login.login_valid('小朱', '123')
        time.sleep(2)
        alert, message = login.alert_message()
        self.assertEqual(message, '用户不存在', '弹窗信息不正确')
        # 关闭弹窗
        alert.accept()

    def test_login_fail_password(self):
        # case:输入的密码不正确,登录失败
        login = LoginPage(self.driver)
        login.login_valid('小明', '123')
        time.sleep(2)
        alert, message = login.alert_message()
        self.assertEqual(message, '账号或密码不正确', '弹窗信息不正确')
        # 关闭弹窗
        alert.accept()

    def tearDown(self) -> None:
        self.driver.quit()

main.py

创建测试用例集,将测试用例添加到用例集。

import unittest
from TestCase.LoginCase import LoginCase


def suite():
    suite = unittest.TestSuite()
    suite.addTest(LoginCase('test_login_success'))
    suite.addTest(LoginCase('test_login_fail_username'))
    suite.addTest(LoginCase('test_login_fail_password'))
    return suite


if __name__ == '__main__':
    runner = unittest.TextTestRunner(verbosity=2)
    runner.run(suite())

运行main.py,执行结果如下:

(六)Selenium自动化测试实战—unittest框架

下一篇:(七)Selenium自动化测试实战—开发成工具_要开朗的spookypop的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-413512.html

到了这里,关于(六)Selenium自动化测试实战—unittest框架的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Python自动化测试实战篇:unittest框架详解

    Python自动化测试实战篇:unittest框架详解

    按照测试阶段来划分,可以将测试分为单元测试、集成测试、系统测试和验收测试。单元测试是指对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,通常指函数或者类,一般是开发完成的。 单元测试可以将测试工作前移,及早发现问题,降

    2024年02月06日
    浏览(24)
  • Selenium Web自动化测试——基于unittest框架的PO设计模式

    Selenium Web自动化测试——基于unittest框架的PO设计模式

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 前面一直在讲接口自动化测试框架与案例分享,很少讲Selenium这个We

    2024年03月21日
    浏览(42)
  • Selenium + Pytest自动化测试框架实战(上)

    Selenium + Pytest自动化测试框架实战(上)

    今天呢笔者想和大家来聊聊selenium自动化+ pytest测试框架,在这篇文章里你需要知道一定的python基础——至少明白类与对象,封装继承;一定的selenium基础。这篇文章不会selenium,不会的可以自己去看selenium中文翻译网哟。 测试框架有什么优点呢 : 代码复用率高,如果不使用框

    2024年04月27日
    浏览(12)
  • 自动化测试——unittest框架(单元测试)

    自动化测试——unittest框架(单元测试)

    目录 一、unittest框架解析 1.1unittest的5个重要概念 1.1测试用例的编写及代码 1.2断言 1.3用例的执行顺序 1.4测试用例综合管理框架 1.5HTML报告生成 参考博文 unittest 单元测试提供了创建测试用例,测试套件以及批量执行的方案, unittest 在安装pyhton 以后就直接自带了,直接import

    2024年01月17日
    浏览(11)
  • 自动化测试框架之unittest

    unittest 是python 的单元测试框架,它主要有以下作用: 提供用例组织与执行 :当你的测试用例只有几条时,可以不必考虑用例的组织,但是,当测试用例达到成百上千条时,大量的测试用例堆砌在一起,就产生了扩展性与维护性等问题,此时需要考虑用例的规范与组织问题了

    2024年02月01日
    浏览(14)
  • unittest自动化测试框架详解

    unittest自动化测试框架详解

    目录 一、单元测试的定义 二、unittest框架及原理 三、unittest的断言 四、TestCase测试用例 五、TestFixure测试夹具 六、TestSuite测试套件 七、TestRunner执行用例 ​ 单元测试是指,对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,这里的最小可测

    2024年02月04日
    浏览(11)
  • webUI自动化之基本框架搭建(python + selenium + unittest)

    webUI自动化之基本框架搭建(python + selenium + unittest)

    该文档描述一次基于python的webUI自动化框架搭建过程及简单的使用。 框架构成: python + selenium + unittest IDEA工具:pycharm(社区版即可) Python3.9 Webdriver.exe文件下载好,将该文件放在本地python的lib文件夹下,并将其配置到环境变量(实际上放到python的任意文件夹下都可以,但必

    2024年02月02日
    浏览(9)
  • selenium+python做web端自动化测试框架实战

    selenium+python做web端自动化测试框架实战

    最近受到万点暴击,由于公司业务出现问题,工作任务没那么繁重,有时间摸索selenium+python自动化测试,结合网上查到的资料自己编写出适合web自动化测试的框架,由于本人也是刚刚开始学习python,这套自动化框架目前已经基本完成了所以总结下编写的得失,便于以后回顾温

    2024年02月14日
    浏览(11)
  • webUI自动化之基本框架搭建(python + selenium + unittest)_python ui自动框架

    webUI自动化之基本框架搭建(python + selenium + unittest)_python ui自动框架

    3 from selenium.webdriver.common.by import By 4 5 driver = webdriver.Chrome() 6 driver.get(r’https://xxx’) # 打开浏览器并访问该链接,这里的链接不便展示哈 7 driver.maximize_window() 8 9 # 定位元素并操作 10 driver.find_element(By.NAME, ‘username’).send_keys(‘luoyang’) 11 driver.find_element(By.NAME, ‘password’).send

    2024年04月17日
    浏览(11)
  • Python自动化测试框架:unittest介绍

    Unittest是Python中最常用的测试框架之一,它提供了丰富和强大的测试工具和方法,可以帮助开发者更好地保证代码质量和稳定性,本文就来介绍下Unittest单元测试框架。 unittest是Python的单元测试框架,它提供了一套丰富的测试工具和方法,包括测试用例、测试套件、断言、测试

    2024年02月05日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包