初级学习----SeleniumUI项目测试

本文介绍了使用SeleniumUI进行自动化测试的一个初级项目,涵盖了用户注册、登录、管理员后台登录以及文章提交的测试步骤。项目需要JDK、MySQL、Tomcat服务器和jPress环境。测试脚本包括用户注册、登录、管理员登录和文章分类测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试一个简单的开源java项目,用户注册,用户登陆,管理员登陆,写文章等

需要搭建环境 JDK 、mysql、服务器tomcat、jpress

建立项目文件格式:

 1.所需要的工具文件包:util.py

项目中需要的工具:
1.验证码的识别
2.生成随机字符串
3.logging日志


import os
import random
import string
import time
import ddddocr
import logging.handlers
import datetime
from PIL import Image


def get_cod(driver, id, ele):

    """获取验证码图片上的信息"""
    t = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime())
    path = os.path.dirname(os.path.dirname(__file__)) + '\\screenshots'
    picture_name1 = path + '\\' + t + '验证码图片截屏.png'

    # 获取验证码图片,图片储存在screenshots目录里
    driver.save_screenshot(picture_name1)

    # 获取验证码框,确定左顶点和右底点
    ce = driver.find_element(id, ele)
    left = ce.rect['x']
    top = ce.rect['y']
    right = ce.rect['width'] + left
    height = ce.rect['height'] + top

    # 打开验证码截屏的图片进行抠图
    im = Image.open(picture_name1)
    img = im.crop((left, top, right, height))

    # 将抠出的验证码保存指定图片目录里
    t = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime())
    picture_name2 = path + '\\' + t + '验证码抠图.png'
    img.save(picture_name2)

    # 用pytesseract模块识别图片上的信息,转为字符串,这个识别度很低不好用
    # image1 = Image.open(picture_name2)
    # code = pytesseract.image_to_string(image1)
    # return code

    # 网上第三方开源识别图片验证码
    ocr = ddddocr.DdddOcr()

    with open(picture_name2, 'rb') as f:
        image = f.read()

    code = ocr.classification(image)
    return code


def gen_random_str():

    """生成随机字符串"""

    rand_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
    return rand_str


def get_logger():

    """logging日志"""

    import logging.handlers
    import datetime

    # 获得一个logger 名字叫mylogger
    logger = logging.getLogger('mylogger')
    logger.setLevel(logging.DEBUG)  # 设置级别
    # 放在同目录logs目录里
    path = os.path.dirname(os.path.dirname(__file__)) + '/logs'
    data = time.strftime('%Y%m%d%H%M', time.localtime())

    # 根据时间,将日志消息放在磁盘中
    # atTime时间设置成,当前日期凌晨,这个没有测试,atTime参数是这个时间就发送?待...
    # when 是按照什么日期切分
    # interval 间隔1
    # backupCount 日志保留7个
    date = datetime.datetime.now()
    zero_time = datetime.datetime(date.year, date.month, date.day, 0, 0, 0)

    filename=path+'/all_'+data+'.log'
    rf_handler = logging.handlers.TimedRotatingFileHandler(
        filename=filename, when='midnight', interval=1, backupCount=7,
        encoding='utf-8',atTime=zero_time)


    # 设置日志格式
    rf_handler.setFormatter(logging.Formatter("%(asctime)s 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值