介绍
测试的系统:白月黑羽网站的测试系统(白月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自动化测试工具实战项目(登录页面)
张小明
前端开发工程师
真正决定你成长速度的,从来不是你“经历了什么”,而是你“反思透了什么”
真正决定你成长速度的,从来不是你“经历了什么”,而是你“反思透了什么” 第一原则:前提你是充足的尝试,现在这个社会有可能你连经历的机会都没有,一个机会都得费劲的争取才行; 第二原则:反思是我们爱好的事情,让你感到不舒服的事情想都是浪费自己时间,例如职场扯皮…
支付宝支付 报错 invalid [default store dir]: /tmp/
支付宝SDK报错 invalid [default store dir]: /tmp/ 解决方法 这个错误主要是出现在windows上面,因为路径错误而导致的。 解决方法是在SDk里新建一个tmp文件夹,然后打开AopSdkl.php将18行中的 【define("AOP_SDK_WORK_DIR", "/tmp/&quo…
2025最新大模型面试经验汇总+全套学习资源,小白到大神的进阶之路
新大模型面试经验汇总全套学习资源,小白到大神的进阶之路 文章汇总了多家科技公司的大模型(LLM)相关面试经验,包括字节跳动、网易伏羲、好未来等公司的面试问题和回答。同时提供了一套系统的大模型学习路线图,从基础概念理解到API应用开发&a…
【大学院-筆記試験練習:线性代数和数据结构(16)】
大学院-筆記試験練習:线性代数和数据结构(16) 1-前言2-线性代数-题目3-线性代数-参考答案4-数据结构-题目5-数据结构-参考答案中文解释(题意)日语答案(1)(2)(…
基于stm32的便携式voc气体检测仪设计
目录硬件设计软件设计功能实现应用场景源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!硬件设计 STM32微控制器作为核心处理器,通常选择STM32F103系列,因其具备丰富的外设接口和低功耗特性。传感器模块选用高精度…
Golang pprof与缓存性能优化实战
Golang pprof与缓存性能优化实战 关键词:Golang pprof、性能分析、缓存优化、堆内存分析、CPU采样、内存泄漏、缓存命中率 摘要:在高并发系统中,缓存是提升性能的“加速器”,但缓存本身也可能成为新的瓶颈。本文将以“医生看病”的…