测试58同城登录页面错误提示:
针对密码长度不够和账户不存在举例
试用版本:
import unittest
from time import sleep
from selenium import webdriver
class Tongcheng58(unittest.TestCase):
def setUp(self):
self.chrome = webdriver.Chrome()
self.chrome.get("https://passport.58.com/login/")
def test_login_one(self):
user_pass = self.chrome.find_element_by_class_name("qrcode")
user_pass.click()
username_u1 = self.chrome.find_element_by_id("username")
password_u1 = self.chrome.find_element_by_id("password")
button = self.chrome.find_element_by_id("btn_account")
username_u1.send_keys("13371054432")
password_u1.send_keys("123")
button.click()
text = self.chrome.find_element_by_class_name("password_msgtext").text
self.assertEqual("密码太短,最少6位",text,"密码太短,提示内容有误")
def test_login_two(self):
user_pass = self.chrome.find_element_by_class_name("qrcode")
user_pass.click()
username_u1 = self.chrome.find_element_by_id("username")
password_u1 = self.chrome.find_element_by_id("password")
button = self.chrome.find_element_by_id("btn_account")
username_u1.send_keys("13371054432")
password_u1.send_keys("1234567")
button.click()
text = self.chrome.find_element_by_class_name("password_msgtext").text
self.assertEqual("该用户名与密码不符",text,"密码错误,提示内容有误")
def tearDown(self):
sleep(10)
self.chrome.close()
if __name__ == '__main__':
unittest.main()
结构化调整版本:
import unittest
from time import sleep
from selenium import webdriver
# 有一个注意点,unittest单元测试用例方法一般都是test开头
# 定义一个测试用例类,继承unittest.TestCase
class Tongcheng58(unittest.TestCase):
def setUp(self):
‘’‘
相当于init方法,初始化
’‘’
self.chrome = webdriver.Chrome() # 实例化浏览器驱动
self.chrome.get("https://passport.58.com/login/") # 访问58登录页面
def login(self,username,password): #定义登陆方法,获取页面指定元素,传递参数
# 页面默认扫码登录,此举在跳到用户名密码登录界面
user_pass = self.chrome.find_element_by_class_name("qrcode")
user_pass.click()
# 获取用户名输入框元素
username_u1 = self.chrome.find_element_by_id("username")
# 获取密码输入框元素
password_u1 = self.chrome.find_element_by_id("password")
# 获取“登录”按钮元素
button = self.chrome.find_element_by_id("btn_account")
# 传输用户名
username_u1.send_keys(username)
# 传输密码
password_u1.send_keys(password)
# 进行点击事件
button.click()
# 获取登录错误提示文本
text = self.chrome.find_element_by_class_name("password_msgtext").text
# 返回提示的文本内容
return text
#第一个测试用例
def test_login_one(self):
text = self.login("13371054432","123")
#断言方法,判断结果是否和预期一致
self.assertEqual("密码太短,最少6位",text,"密码太短,提示内容有误")
#第二个测试用例
def test_login_two(self):
text = self.login("13371054432","123456")
self.assertEqual("该用户不存在",text,"账户有误,提示内容有误")
def tearDown(self):#相当于del方法,测试用例完成回收
sleep(10)
self.chrome.close()
if __name__ == '__main__':
unittest.main()#程序主入口