selenium自动化测试工具实战项目(登录页面)

  • 介绍
    • 测试的系统:白月黑羽网站的测试系统(白月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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1215584.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字体反爬分析

1.字体反爬分析 【字体加密】 自定义文本的编码方式;将我们能看懂的字符按自定义的编码方式进行传输;使用浏览器进行渲染或解析该字体时需要按指定的编码方式才能正确解析。编码方式一般为字体文件。 【项目分析】 通过selenium动态加载网页获取车辆信息数字格式为:\uhhh 通…

JS加密算法

1.MD5 加密 MD5 加密算法,全称为Message-Digest Alorithm 5,通常被称为信息摘要算法,信息摘要指的就是将我们能直接看懂的内容,按照一定的规则生成一段特定的值,这样就得到了这段内容的信息摘要。利用这种MD5可以基于任意长度字符串,生成128位的哈希值,最后得到的结果是…

Leetcode 剑指 Offer II 159. 库存管理 III

题目难度: 简单 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 仓库管理员以数组 stock 形式记录商品库存表&#xff0c;其中 st…

把3D人物模型导入Unity,并给头发衣服附加重力

【【如何将原神的角色导入Unity】全网最细致教程,全程干货。不使用任何收费插件,使用Spring Bone对头发和衣服进行物理模拟。】https://www.bilibili.com/video/BV1G34y127e6?vd_source=256a31ec907fa4985a200f42dc…

Spring AOP和AspectJ的区别

一、实现原理的本质区别 Spring AOP是基于动态代理实现的。在运行时,Spring会为目标Bean创建一个代理对象。如果目标类实现了接口,就用JDK动态代理;如果没有接口,就用CGLIB生成子类代理。所有方法调用都先经过代理…

盒马鲜生礼品卡回收平台实测,京顺回收成行业优选

在闲置盒马鲜生礼品卡回收领域,安全高效地选择回收平台是消费者的关注重点。本文基于实测体验与行业数据,深度剖析京顺回收在盒马鲜生礼品卡回收场景中的核心优势。 一、实测背景:资质流程双优 小张手握3张面值500元…

外包干了9天,技巧退步明显。。。。。

外包干了9天,技巧退步明显。。。。。2026-01-25 19:51 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !i…

我们和钱的关系,其实早被财富量级定好了

我们和钱的关系,其实早被财富量级定好了 目录 我们和钱的关系,其实早被财富量级定好了 一个人有了一百万或几百万,你会感到你是金钱的爸爸。有了一千万或几千万,你会感到你是金钱的爷爷。做金钱的爷爷,是人和金钱之间最优越最良好的关系……一旦超过了几千万,人和金钱的平…

人生的本质是交换:成事的终极公式:极致专注+灵活交换=一切皆可行

人生的本质是交换:深耕一技+巧做链接,才是普通人的破局之道 目录 人生的本质是交换:深耕一技+巧做链接,才是普通人的破局之道 把“交换”这件事做透 自己有“可交换的资本” 交换的底层前提:你得真的“行”,更要让别人“认” 交换的核心逻辑:靠一技之长求温饱,靠价值交…

31岁仍被说幼稚:上班最狠的PUA是让我们盼着自己变老

31岁仍被说幼稚:上班最狠的PUA是让我们盼着自己变老 目录 31岁仍被说幼稚:上班最狠的PUA是让我们盼着自己变老 一、上班的隐形陷阱:为了“不用上班”,我们主动期待衰老 “快点变老吧,老了就不用上班了。” 二、赚钱的底层逻辑:别把“工具”当成“目的” 钱是为了服务于人…

AI也会“断片”?换个提问顺序,大模型直接变“差生”

🤖 AI也会“断片”?换个提问顺序,大模型直接变“差生” 目录 🤖 AI也会“断片”?换个提问顺序,大模型直接变“差生” 🧪 用一道选择题,看穿大模型的“注意力陷阱” ✅ 【正常顺序:CQO】 ❌ 【“坑人”顺序:QOC】 🧠 为什么换个顺序就“翻车”?因果注意力的天生…

AI版“马后炮”?大模型的「因果注意力」到底是啥?

AI版“马后炮”?大模型的「因果注意力」到底是啥? 目录 AI版“马后炮”?大模型的「因果注意力」到底是啥? 这一切的根源,都指向大模型天生自带的**「因果注意力」机制**。 🔍 什么是「因果注意力」?用“写日记”打比方 📝 生活化举例 🧠 底层原理:Transformer里的…

真正决定你成长速度的,从来不是你“经历了什么”,而是你“反思透了什么”

真正决定你成长速度的,从来不是你“经历了什么”,而是你“反思透了什么” 第一原则:前提你是充足的尝试,现在这个社会有可能你连经历的机会都没有,一个机会都得费劲的争取才行; 第二原则:反思是我们爱好的事情,让你感到不舒服的事情想都是浪费自己时间,例如职场扯皮…

你看到的人不舒服,就是不好,远离就行,或者不说话不表态:你是世界和核心,没有你,世界将不在存在

“驭人术”清单,把职场的脏底裤都扒下来了 目录 “驭人术”清单,把职场的脏底裤都扒下来了 你看到的人不舒服,就是不好,远离就行,或者不说话不表态 你是世界和核心,没有你,世界将不在存在 这些“驭人术”,本质是职场PUA的变种 真正的带人,从来不是“驭人” 打工人该怎…

学长亲荐!专科生毕业论文必备!8款一键生成论文工具TOP8测评

学长亲荐&#xff01;专科生毕业论文必备&#xff01;8款一键生成论文工具TOP8测评 2026年专科生毕业论文工具测评&#xff1a;从功能到体验的深度解析 随着人工智能技术的不断进步&#xff0c;越来越多的专科生开始借助AI工具辅助完成毕业论文写作。然而&#xff0c;面对市场上…

别再乱用 `enum` 了!聊聊 C++ 类里枚举的“坑”与“真香”定律

写了这么多年 C&#xff0c;我发现一个很有意思的现象&#xff1a;很多新手&#xff08;甚至一些老鸟&#xff09;在类里定义状态或者类型时&#xff0c;还是习惯性地敲下 enum。倒不是说不能用&#xff0c;而是在 C11 甚至 C20 的今天&#xff0c;无脑用 enum 往往是在给未来的…

过年和父母吵到沉默才懂:我花了20年,终于“背叛”了他们的人生; 家族第一个博士:撕开阶层的口子,带家人杀出重围

过年和父母吵到沉默才懂:我花了20年,终于“背叛”了他们的人生 目录 过年和父母吵到沉默才懂:我花了20年,终于“背叛”了他们的人生 不是“稳定最重要”,而是“喜欢才最重要” 不是“别人都这样”,而是“我想这样” 不是“活成别人期待的样子”,而是“活成真正的自己” …

基于51单片机wifi烟雾温湿度检测 无线物联网 火灾报警系统diy

目录系统概述核心硬件组成软件设计要点系统搭建步骤扩展功能建议注意事项源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;系统概述 基于51单片机的WiFi烟雾温湿度检测系统是一种低成本、高实用性的火灾报警DIY方案。该系统通过传感器实…

STM32单片机车载酒精检测 防酒驾系统 酒精报警器套件GSM

目录 STM32单片机车载酒精检测系统概述核心功能模块硬件组成清单软件设计要点典型工作流程应用场景扩展注意事项 源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; STM32单片机车载酒精检测系统概述 该系统基于STM32单片机设计&#xff…

基于32单片机气体监测系统PM2..5烟雾甲醛 温湿度WIFI传输APP显示

目录 系统概述硬件组成软件设计关键实现步骤扩展功能注意事项 源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 系统概述 基于32位单片机&#xff08;如STM32&#xff09;的气体监测系统可实时检测PM2.5、烟雾、甲醛及温湿度数据&#…