【Selenium+python】自动化测试登录界面

编程入门 行业动态 更新时间:2024-10-27 22:20:36

【Selenium+python】自动化测试登录<a href=https://www.elefans.com/category/jswz/34/1769995.html style=界面"/>

【Selenium+python】自动化测试登录界面

前言:已经学习selenium许久了,奈何公司的项目还在码代码中...,感觉自己学的东西快忘的差不多了,所以就找个网站练练手,顺便回顾一下UI自动化的知识,也希望跟我一样的小白有所受益。

一、用例分析(根据所测网站对应分析)

用例1:

正确输入手机号和密码,点击登录

期望:有帮助中心字样(系统跳至首页后,会有个帮助中心,也可以选择其他字样作为判定,这里不方便截图:)

用例2:

不输入手机号和密码,点击登录

期望:请输入手机号码(提示信息)

用例3:

只输入手机号不输入密码,点击登录

期望:请输入密码(提示信息)

用例4:

只输入密码不输入手机号,点击登录

期望:请输入手机号码(提示信息)

用例5:

输入错误的用户名和密码

期望:账号不存在(提示信息)

。。。。。。

当然,还有测试用例没列举完,比如特殊字符、长度等的校验,由于测试的这个网站没有相关校验(😶无奈。。),所以暂不做介绍。

二、代码编写

登录测试文件:test_klogin.py

import unittest
from selenium import webdriver
import time
from common.base import Baseclass TestKlogin(unittest.TestCase):#定位手机号username = ("name","loginName")#定位密码psw = ("name","loginPassWord")#定位登录按钮loginbutton = ("id","loginBtn")#定位帮助中心help = ("xpath","//*[contains(text(),'帮助中心')]")print("help",help)#定位提示信息message = ("className","toast-message")print("message" ,message)@classmethoddef setUpClass(cls):cls.driver = webdriver.Firefox()cls.baselei = Base(cls.driver)def setUp(self):self.driver.get("url地址")def tearDown(self):# 清空cookiesself.driver.delete_all_cookies()@classmethoddef tearDownClass(cls):cls.driver.quit()def test_01_loginsuccess(self):'''正确输入手机号和密码'''self.baselei.send(self.username,"13000000000")self.baselei.send(self.psw,"666666")self.baselei.click(self.loginbutton)result1=self.baselei.is_element_exist(self.help)self.assertTrue(result1)def test_02_bushuru(self):'''不输入,点击登录'''self.baselei.click(self.loginbutton)result2 =self.baselei.find(self.message).textprint("我是内容test02:",result2)exp2 = "请输入手机号码"self.assertEqual(result2,exp2)def test_03_shuruname(self):'''只输入手机号,不输入密码'''self.baselei.send(self.username,"12343657")self.baselei.click(self.loginbutton)result3 = self.baselei.find(self.message).textprint("我是内容test03:",result3)exp3="请输入密码"self.assertTrue(result3==exp3)def test_04_shurupsw(self):'''只输入密码,不输入手机号'''self.baselei.send(self.psw,"123465")self.baselei.click(self.loginbutton)result4 = self.baselei.find(self.message).textprint("我是内容test04:",result4)exp4="请输入手机号码"self.assertTrue(result4==exp4)def test_05_shurufail(self):'''输入错误的账号和密码'''self.baselei.send(self.username,"4334668")self.baselei.send(self.psw,"325465")self.baselei.click(self.loginbutton)result5 = self.baselei.find(self.message).textprint("我是内容test05",result5)exp5 = "账号不存在"self.assertEqual(result5,exp5)if __name__ == '__main__':unittest.main()

base文件:base.by

from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriverclass Base():def __init__(self,driver):self.driver=driverdef find(self,locator):'''locator = ("id","kw"),查找某元素'''element = WebDriverWait(self.driver, 10, 1).until(lambda x: x.find_element(*locator))return elementdef send(self,locator,text):'''输入框传值'''self.find(locator).send_keys(text)def click(self,locator):'''点击事件'''self.find(locator).click()def is_element_exist(self,locator):'''判断元素是否存在'''els=self.finds(locator)count = len(els) #计算元素个数if len(els) < 1:return Falseelse:print("定位到的元素个数:%s"%count)return True

三、运行结果

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

更多推荐

【Selenium+python】自动化测试登录界面

本文发布于:2023-11-30 14:00:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1651017.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:界面   测试   Selenium   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!