news 2026/5/12 14:23:31

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 12:13:18

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

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

作者头像 李华
网站建设 2026/5/12 12:12:11

支付宝支付 报错 invalid [default store dir]: /tmp/

支付宝SDK报错 invalid [default store dir]: /tmp/ 解决方法 这个错误主要是出现在windows上面&#xff0c;因为路径错误而导致的。 解决方法是在SDk里新建一个tmp文件夹&#xff0c;然后打开AopSdkl.php将18行中的 【define("AOP_SDK_WORK_DIR", "/tmp/&quo…

作者头像 李华
网站建设 2026/5/12 12:12:45

2025最新大模型面试经验汇总+全套学习资源,小白到大神的进阶之路

新大模型面试经验汇总全套学习资源&#xff0c;小白到大神的进阶之路 文章汇总了多家科技公司的大模型(LLM)相关面试经验&#xff0c;包括字节跳动、网易伏羲、好未来等公司的面试问题和回答。同时提供了一套系统的大模型学习路线图&#xff0c;从基础概念理解到API应用开发&a…

作者头像 李华
网站建设 2026/5/11 6:13:50

【大学院-筆記試験練習:线性代数和数据结构(16)】

大学院-筆記試験練習&#xff1a;线性代数和数据结构&#xff08;16&#xff09; 1-前言2-线性代数-题目3-线性代数-参考答案4-数据结构-题目5-数据结构-参考答案中文解释&#xff08;题意&#xff09;日语答案&#xff08;1&#xff09;&#xff08;2&#xff09;&#xff08;…

作者头像 李华
网站建设 2026/5/5 15:15:47

基于stm32的便携式voc气体检测仪设计

目录硬件设计软件设计功能实现应用场景源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;硬件设计 STM32微控制器作为核心处理器&#xff0c;通常选择STM32F103系列&#xff0c;因其具备丰富的外设接口和低功耗特性。传感器模块选用高精度…

作者头像 李华
网站建设 2026/5/5 15:11:47

Golang pprof与缓存性能优化实战

Golang pprof与缓存性能优化实战 关键词&#xff1a;Golang pprof、性能分析、缓存优化、堆内存分析、CPU采样、内存泄漏、缓存命中率 摘要&#xff1a;在高并发系统中&#xff0c;缓存是提升性能的“加速器”&#xff0c;但缓存本身也可能成为新的瓶颈。本文将以“医生看病”的…

作者头像 李华