软件测试电商平台之登录模块

适合软件测试的练手项目

文章目录

  • 登录用例
  • 自动化测试

前言

登录需求分析:

测试账号:13800138006密码:123456

手机号11位

密码6-16位大小写字母数字的组合

一、登录用例

二、自动化测试

代码目录

 base.py文件

#导包
import time
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait


class Base:
    # 初始化
    def __init__(self):
        self.driver = webdriver.Chrome()
        self.driver.maximize_window()
        self.driver.get('http://www.testingedu.com.cn:8000/Home/Index/index.html')

    # 查找元素方法
    def base_find_element(self, loc, t=30, p=0.5):
        return WebDriverWait(self.driver, timeout=t, poll_frequency=p).until(lambda x: x.find_element(*loc))

    # 点击方法
    def base_click(self, loc):
        self.base_find_element(loc).click()

    # 输入方法
    def base_input(self, loc, value):
        el = self.base_find_element(loc)
        # 清空
        el.clear()
        # 输入
        el.send_keys(value)

    # 获取文本
    def base_get_text(self, loc):
        return self.base_find_element(loc).text

    # 截图
    def base_image(self):
        self.driver.get_screenshot_as_file("../image/%s.png" % (time.strftime("%Y_%m_%d %H_%M_%S")))
page_login.py文件
from login import page
from login.base.base import Base

class Pagelogin(Base):

    # 点击登录链接
    def page_click_login_link(self):
        self.base_click(page.login_link)

    # 输入用户名
    def page_input_username(self, user):
        self.base_input(page.login_username, user)

    # 输入密码
    def page_input_password(self, pas):
        self.base_input(page.login_pwd, pas)

    # 输入验收码
    def page_input_verify_code(self, code):
        self.base_input(page.login_verify_code, code)

    # 点击登录按钮
    def page_click_login_btn(self):
        self.base_click(page.login_btn)

    # 点击提示框的确认按键
    def page_click_OK(self):
        self.base_click(page.login_ok)

    # 获取异常信息
    def page_get_error_info(self):
        return self.base_get_text(page.login_err_info)

    # 截图
    def page_get_img(self):
        self.base_image()

    # 组合业务方法
    def page_login(self, user, pas, code):
        self.page_input_username(user)
        self.page_input_password(pas)
        self.page_input_verify_code(code)
        self.page_click_login_btn()
        self.page_click_OK()

page文件夹中__init__配置文件

from selenium.webdriver.common.by import By

"""以下为登录页面元素配置信息"""
# 登录链接


login_link = By.PARTIAL_LINK_TEXT, "登录"
# 用户名
login_username = By.NAME, "username"
# 密码
login_pwd = By.NAME, "password"
# 验证码
login_verify_code = By.NAME, "verify_code"
# 登录按钮
login_btn = By.NAME, "sbtbutton"
# 获取异常文本信息
login_err_info = By.CLASS_NAME, "layui-layer-content"
#提示框确认按钮
login_ok=By.CSS_SELECTOR, ".layui-layer-btn0"
# 点击异常提示框 按钮
#login_err_btn_ok = By.CSS_SELECTOR, ".layui-layer-btn0"

test_login.py测试文件

# 导包
import unittest
from login.page.page_login import Pagelogin
from parameterized import parameterized

def get_data():
    return [("1380013800", "123456", "1234", "账号格式不匹配!"),
            ("", "123456", "1234", "用户名不能为空!"),
            ("1380013800a", "123456", "1234", "账号格式不匹配!"),
            ("13800138888 ", "123456", "1234", "账号不存在!"),
            ("13800138006", "123", "1234", "密码错误!"),
            ("13800138006", "123456891012345678910", "1234", "密码错误!"),
            ("1380013800!", "123456", "1234", "账号格式不匹配!"),
            ("13800138006", "", "1234", "密码不能为空!")]

class TestLogin(unittest.TestCase):
    login = None
    @classmethod
    def setUpClass(cls) -> None:
        # 实例化,获取页面对象
        cls.login = Pagelogin()
        # 点击登录
        cls.login.page_click_login_link()

    @classmethod
    def tearDownClass(cls) -> None:
        cls.login.driver.quit()

    # 登录测试方法
    @parameterized.expand(get_data())
    def test_login(self, username, password, code, expect):
        self.login.page_login(username, password, code)
        # 获取异常信息
        msg = self.login.page_get_error_info()
        print(msg)
        try:
            self.assertEqual(msg, expect)
        except AssertionError:
            self.login.page_get_img()

运行视频

DSTest – test_login.py

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当涉及到垂直电商类的软件测试项目时,通常需要关注以下几个方面: 1. 功能测试:确保电商平台的基本功能正常运作,如用户注册、登录、商品浏览、购物车管理、下单结算等。 2. 订单流程测试:验证整个订单流程的正确性,包括下单、支付、物流跟踪、订单状态变更等。 3. 商品管理测试:测试商品的添加、编辑、删除等操作,并验证商品信息的准确性和一致性。 4. 支付与结算测试:确保支付流程的安全性和准确性,验证各种支付方式的正常使用,并进行退款、发票等结算操作的测试。 5. 用户体验测试:关注用户界面的友好性和易用性,测试响应速度、页面加载时间等,以确保用户能够良好地使用电商平台。 6. 安全性测试:进行安全漏洞扫描,确保用户信息和支付信息的保密性和安全性。 7. 多平台和多浏览器兼容性测试:确保电商平台在不同操作系统、不同浏览器以及不同设备上的兼容性和一致性。 8. 性能测试:对电商平台进行负载测试和压力测试,验证系统在高并发情况下的稳定性和性能表现。 9. 数据一致性测试:测试数据在不同模块之间的一致性,确保商品信息、订单数据等在不同模块中的准确性和同步性。 以上是一些常见的软件测试项目中需要关注的方面,具体的测试内容和方法会根据项目需求和功能特点而有所不同。希望对您有所帮助!如有更多问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值