介绍
测试的系统:白月黑羽网站的测试系统(白月SMS系统)
测试的功能:登录,退出登录。
测试用例
用例编号 测试模块 前置条件 测试步骤 预期结果 实际结果 Login_01 登录功能 已注册 1.输入正确的用户名,输入错误的密码。2.点击登录 登录不成功 登录不成功,并且有相应的提示 Login_02 登录功能 已注册 1.输入错误的用户名,输入正确的密码。2.点击登录 登录不成功 登录不成功,并且有相应的提示 Login_03 登录功能 已注册 1.输入错误的用户名和错误的密码。2.点击登录 登录不成功 登录不成功,并且有相应的提示 Login_04 登录功能 已注册 1.输入正确的用户名和正确的密码。2.点击登录 登录成功 登录成功 LogOut-01 退出登录 已登录 1.点击退出登录按钮 退出登录 退出登录成功 由于【白月SMS系统】是做练习的系统,所以登录功能比较简单,如果平常写自动化程序,要根据实际的系统去写相应的测试用例,进行自动化测试。
安装 selenium
pip install selenium自动化测试程序
fromseleniumimportwebdriverfromtimeimportsleepfromselenium.webdriver.common.byimportByfromselenium.webdriver.common.keysimportKeysfromselenium.common.exceptionsimportNoAlertPresentExceptionfromselenium.webdriver.supportimportexpected_conditionsasECfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.common.exceptionsimportTimeoutExceptionclassLoginTest:def__init__(self):self.driver=webdriver.Chrome()defOpenChrome(self):self.driver.get('http://127.0.0.1/mgr/sign.html')sleep(2)defLoginTest(self):try:userNameList=['byhy','byh','byh','byhy']PassWordList=['8888888','88888888','99999999','88888888']number=0whilenumber<=4:foru,pinzip(userNameList,PassWordList):# 最多等 10 秒,直到元素出现在 DOMuserNameElement=WebDriverWait(self.driver,10).until(EC.presence_of_element_located((By.ID,'username')))# userNameElement = self.driver.find_element(By.ID, 'username')userNameElement.send_keys(Keys.CONTROL+"a")# 全选userNameElement.send_keys(f'{u}')# 覆盖新内容sleep(2)PassWordElement=WebDriverWait(self.driver,10).until(EC.presence_of_element_located((By.ID,'password')))# PassWordElement = self.driver.find_element(By.ID, 'password')PassWordElement.send_keys(Keys.CONTROL+"a")PassWordElement.send_keys(f'{p}')sleep(2)# 点击登录按钮SubmitElement=self.driver.find_element(By.XPATH,"//div[@class='col-xs-12']/button")SubmitElement.click()sleep(3)# Confirm 弹窗try:Confirm=self.driver.switch_to.alertprint('登录失败提示语 ——> ',Confirm.text)Confirm.accept()sleep(3)exceptNoAlertPresentException:print("当前没有 alert,跳过处理")continueexceptExceptionase:print('error:',e)defLogOutTest(self):try:# 例:退出按钮、用户昵称、头像……userAvatarElement=self.driver.find_element(By.XPATH,'//div[@class="navbar-custom-menu"]/ul/li[2]/a')userAvatarElement.click()sleep(2)logOutElement=self.driver.find_element(By.XPATH,'//div[@class="pull-right"]/a')logOutElement.click()sleep(2)print('退出登录成功!!!!!')exceptTimeoutException:print('退出登录失败')defcloseChrome(self):print("登录页面自动化测试完毕~")self.driver.close()if__name__=='__main__':lt=LoginTest()lt.OpenChrome()lt.LoginTest()lt.LogOutTest()lt.closeChrome()
selenium自动化测试工具实战项目(登录页面)
张小明
前端开发工程师
基于51单片机 智能鞋柜 语音识别 杀菌消毒无线控制DIY成品
目录 基于51单片机的智能鞋柜DIY方案硬件组成清单关键电路设计软件逻辑框架成品优化建议扩展功能实现 源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 基于51单片机的智能鞋柜DIY方案 核心功能 语音识别控制:通过LD3320等…
【基于STM32单片机甲烷煤气天然气报警厨房安全火灾报警火焰物联网 系统设计(实物+程序+原理图+其他资料)】
厨房,人们每天日常生活都会接触的地方,作为居民生我们每天都需要和厨房 打交道,厨房安全是我们日常生活中需要非常注重的地方。中国的厨房市场经过改 革开放三十年的发展,已经变得日趋成熟。21世纪以来,小区住宅的厨房…
PHP程序员学而思 = 思而学?
“学而思” ≠ “思而学” —— 这不是文字游戏,而是 认知科学与工程实践的根本分野。对 PHP 程序员而言,二者代表 两种截然不同的成长路径:前者是 输入驱动的被动学习,后者是 问题驱动的主动构建。 一、神经科学:大脑…
国货基金组织格奥尔基耶娃解读-万祥军| 世界经济论坛·国际科学院组织
国货基金组织格奥尔基耶娃解读-万祥军| 世界经济论坛国际科学院组织 国际货币基金组织(IMF)总裁克里斯塔利娜格奥尔基耶娃在达沃斯世界经济论坛2026年年会上的发言,引发了全球财经界的深度思考。这位保加利亚籍经济学家以"重建信任的宏…
转行AI的工程师看过来:Transformer+注意力机制详解,手写可运行PyTorch代码
本文面向想转行AI的软件工程师,从工程视角讲解Transformer与注意力机制的核心原理。通过代码搜索比喻解释Self-Attention的Q/K/V机制,详述Multi-Head Attention、位置编码及编码器层结构,并提供可运行的极简版PyTorch实现。文章对比了BERT与G…
AI大模型面试宝典:全面解析大模型技术,助你轻松应对各类面试问题
本文系统梳理了AI大模型开发技术的面试要点,涵盖增量预训练、知识蒸馏、推理加速等多个维度,并提供七阶段学习路线图及视频教程、电子书、面试题等资源,帮助程序员系统掌握大模型技术,提升面试竞争力。AI 大模型技术经过2025年的狂…