zl程序教程

您现在的位置是:首页 >  其他

当前栏目

【Selenium项目实战】完成测试项目用例(用户登录案例):实现登录成功和失败测试

案例测试项目 实现 实战 用户 登录 成功
2023-09-11 14:17:00 时间

前言

一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210417。

【Selenium项目实战】

  1. 项目环境搭建:安装JDK、mysql、Tomcat和测试系统
  2. 需求分析和用例设计
  3. 项目架构设计
  4. 完成项目基本测试
  5. 解决验证码问题
  6. 完成项目测试用例
  • (用户注册案例):解决验证码,等待弹窗复杂问题
  • (用户登录案例):实现登录成功和失败测试
  • (管理员用户登录案例):实现验证码正确和错误测试

操作步骤

测试地址:http://localhost:8080/jpress/user/login

1、test_user_login.py

from time import sleep

from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait


class TestUserLogin(object):
    def __init__(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://localhost:8080/jpress/user/login')
        # self.driver.maximize_window()

    # 测试用户登录,用户名错误
    def test_user_login_userError(self):
        # 用户名为空
        user = ''  #实际正确的是amdin
        pwd = 'admin'
        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_xpath('/html/body/div/div/div/form/div[3]/div/button').click()  #千万别忘记click

        # 因为有弹窗所以需要切换到弹窗上,并等待弹窗
        WebDriverWait(self.driver, 5).until(EC.alert_is_present())

        alert = self.driver.switch_to.alert
        # python 的断言
        # 获取弹窗上的文字来比较
        assert alert.text == expected
        sleep(3)
        alert.accept()

        sleep(5)
        self.driver.quit()


    # 测试用户登录成功
    def test_user_login_ok(self):
        # 用户名为空
        user = 'admin'
        pwd = 'admin'
        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_xpath('/html/body/div/div/div/form/div[3]/div/button').click()
        self.driver.find_element_by_css_selector('body > div > div > div > form > div.row > div > button').click()
        # 等待标题
        WebDriverWait(self.driver, 5).until(EC.title_is(expected))

        sleep(3)
        #验证 因为没有错误弹窗  所以用到了title断言判断
        assert self.driver.title == expected

        # self.driver.quit()

2、main.py

from testcase.basic.test_user_login import TestUserLogin


if __name__ == '__main__':
    # ----测试用户登录案例----
    # 登录失败
    case2 = TestUserLogin()
    # case2.test_user_login_userError()
    # 登录成功
    case2.test_user_login_ok()

“永不放弃,总有希望在前面等待!”送给自己,也送给正在阅读文章的博友们~