相关文章
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
自动化测试项目实战笔记(二):解决验证码识别问题
自动化测试项目实战笔记(三):测试用户注册(验证码错误,成功,出现弹框时处理)
自动化测试项目实战笔记(四):测试用户登录(账号密码错误,成功,出现弹框等情况)

from time import sleep
from selenium import webdriver # 驱动
from selenium.webdriver.support import expected_conditions as EC # 期望等待条件的出现
from selenium.webdriver.support.wait import WebDriverWait # 在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在(显示等待)
from util import utils
class TestUserRegister(object):
def __init__(self):
self.driver = webdriver.Edge("drivers/msedgedriver.exe")
self.driver.get("http://localhost:8080/jpress/user/login")
self.driver.maximize_window()
# 测试用户登录,用户名错误
def test_login_code_error(self):
# 用户名为空
user = ""
pwd = "123456"
expected = "账号不能为空"
self.driver.find_element_by_name("user").send_keys(user)
self.driver.find_element_by_name("pwd").send_keys(pwd)
self.driver.find_element_by_class_name("btn").click()
# 等待提示框 WebDriverWait等待5秒直到弹框出现,不然会报错
WebDriverWait(self.driver, 5).until(EC.alert_is_present())
alert = self.driver.switch_to.alert # 获取弹窗警告
sleep(3)
assert alert.text == expected
alert.accept() # 弹窗消失
print("测试用户登录,用户名错误, user{}-pwd{} 测试,返回结果为{}".format(user,pwd,expected))
# 测试登录成功
def test_login_code_ok(self):
# 用户名为空
user = "admin"
pwd = "123456"
expected = "用户中心"
self.driver.find_element_by_name("user").clear()
self.driver.find_element_by_name("user").send_keys(user)
self.driver.find_element_by_name("pwd").clear()
self.driver.find_element_by_name("pwd").send_keys(pwd)
self.driver.find_element_by_class_name("btn").click()
# 等待提示框 WebDriverWait等待5秒直到弹框出现,不然会报错
WebDriverWait(self.driver, 5).until(EC.title_is(expected))
sleep(3)
# 因为弹框已经消失所以我们要断言到标题中心
assert self.driver.title == expected
self.driver.quit() # 退出
print("测试登录成功, user{}-pwd{} 测试,返回结果为{}".format(user,pwd,expected))

