10个常用的python自动化测试脚本

156 篇文章 0 订阅
92 篇文章 0 订阅

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客文章浏览阅读1.3k次,点赞60次,收藏8次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5501Python是一门功能强大的编程语言,不仅可以用于开发应用程序,还可以用于自动化测试。对于测试人员来说,掌握一些简单但实用的Python自动化测试脚本,可以提高工作效率并减少重复劳动。本文将介绍10个常用的Python自动化测试脚本,并提供实际接口自动化工作中的示例代码。

批量执行接口测试用例

import unittest
class MyTestCase(unittest.TestCase):
    def test_case1(self):
        # 执行接口测试用例1
        pass
    def test_case2(self):
        # 执行接口测试用例2
        pass
if __name__ == '__main__':
    unittest.main()

数据驱动测试

import csv
def read_test_data(file_path):
    test_data = []
    with open(file_path, 'r') as file:
        reader = csv.DictReader(file)
        for row in reader:
            test_data.append(row)
    return test_data
def test_with_data(test_data):
    for data in test_data:
        # 使用测试数据执行接口测试
        pass
if __name__ == '__main__':
    test_data = read_test_data('test_data.csv')
    test_with_data(test_data)

接口监控

import requests
def check_api_status(api_url):
    response = requests.get(api_url)
    if response.status_code == 200:
        print(f"接口{api_url}正常")
    else:
        print(f"接口{api_url}异常")
if __name__ == '__main__':
    api_urls = ['https://api.example.com/user', 'https://api.example.com/product']
    for url in api_urls:
        check_api_status(url)

 接口性能测试

import time
import requests
def measure_response_time(api_url):
    start_time = time.time()
    response = requests.get(api_url)
    end_time = time.time()
    response_time = end_time - start_time
    print(f"接口{api_url}的响应时间为:{response_time}秒")
if __name__ == '__main__':
    api_urls = ['https://api.example.com/user', 'https://api.example.com/product']
    for url in api_urls:
        measure_response_time(url)

数据库测试

import pymysql
def connect_to_database(host, user, password, database):
    conn = pymysql.connect(host=host, user=user, password=password, database=database)
    return conn
def execute_sql_query(conn, sql_query):
    cursor = conn.cursor()
    cursor.execute(sql_query)
    result = cursor.fetchall()
    cursor.close()
    return result
if __name__ == '__main__':
    db_conn = connect_to_database('localhost', 'root', 'password', 'mydatabase')
    result = execute_sql_query(db_conn, 'SELECT * FROM users')
    print(result)
    db_conn.close()

页面截图

from selenium import webdriver
def take_screenshot(url, file_path):
    driver = webdriver.Chrome()
    driver.get(url)
    driver.save_screenshot(file_path)
    driver.quit()
if __name__ == '__main__':
    take_screenshot('https://www.example.com', 'screenshot.png')

邮件发送报告

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
def send_email(sender, password, receiver, subject, message):
    smtp_server = 'smtp.example.com'
    smtp_port = 587
    msg = MIMEMultipart()
    msg['From'] = sender
    msg['To'] = receiver
    msg['Subject'] = subject
    msg.attach(MIMEText(message, 'plain'))
    with smtplib.SMTP(smtp_server, smtp_port) as server:
        server.starttls()
        server.login(sender, password)
        server.send_message(msg)
if __name__ == '__main__':
    sender = 'sender@example.com'
    password = 'password'
    receiver = 'receiver@example.com'
    subject = '自动化测试报告'
    message = '这是自动化测试的报告,请查收。'
    send_email(sender, password, receiver, subject, message)

数据生成器

import random
def generate_random_number(min_value, max_value):
    return random.randint(min_value, max_value)
def generate_test_data(num_samples):
    test_data = []
    for _ in range(num_samples):
        test_data.append(generate_random_number(1, 100))
    return test_data
if __name__ == '__main__':
    data = generate_test_data(10)
    print(data)

日志记录

import logging
def configure_logging(log_file):
    logging.basicConfig(filename=log_file, level=logging.DEBUG)
def log_info(message):
    logging.info(message)
if __name__ == '__main__':
    log_file = 'test.log'
    configure_logging(log_file)
    log_info('这是一条日志记录')

接口数据验证

import json
def validate_response_data(response_data):
    try:
        data = json.loads(response_data)
        if 'name' in data and 'email' in data:
            print("接口返回数据验证通过")
        else:
            print("接口返回数据验证不通过")
    except ValueError:
        print("接口返回数据无效")
if __name__ == '__main__':
    response_data = '{"name": "John", "email": "john@example.com"}'
    validate_response_data(response_data)

以上是常用的10个Python自动化测试脚本,涵盖了批量执行测试用例、数据驱动测试、接口监控、接口性能测试、数据库测试、页面截图、邮件发送报告、数据生成器、日志记录和接口数据验证等方面。通过学习和掌握这些脚本的使用,文职人员可以更好地应对接口自动化测试工作,提高工作效率和质量。希望本文对你有所帮助!

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】在这里插入图片描述
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一种非常适合编写游戏脚本的编程语言。它具有简单易学、语法清晰、功能强大等特点,因此在游戏开发中被广泛应用。 在Python中,你可以使用各种库和框架来编写游戏脚本。以下是一些常用的库和框架: 1. Pygame:Pygame是一个专门用于游戏开发的库,提供了丰富的功能和工具,包括图形渲染、音频处理、碰撞检测等。你可以使用Pygame创建2D游戏,并且它具有跨平台的特性。 2. Panda3D:Panda3D是一个功能强大的开源游戏引擎,它支持Python语言,并且提供了高级的图形渲染、物理模拟、动画等功能。Panda3D适用于创建复杂的3D游戏。 3. Arcade:Arcade是一个简单易用的2D游戏开发库,它提供了绘图、动画、碰撞检测等功能。Arcade的设计目标是让初学者能够快速上手,同时也适用于中小规模的游戏项目。 4. Pyglet:Pyglet是一个轻量级的多媒体库,它可以用于创建2D游戏和多媒体应用程序。Pyglet提供了对OpenGL的封装,可以方便地进行图形渲染和动画处理。 编写Python游戏脚本的一般步骤如下: 1. 导入所需的库和模块。 2. 初始化游戏窗口和其他必要的设置。 3. 创建游戏对象,如玩家角色、敌人、道具等。 4. 定义游戏逻辑,包括用户输入处理、碰撞检测、游戏状态更新等。 5. 渲染游戏画面,包括绘制背景、角色、道具等。 6. 处理游戏循环,包括更新游戏状态、处理事件、渲染画面等。 7. 添加音效和音乐。 8. 游戏结束时进行清理和资源释放。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值