软件测试入门基础04-python自动化基础

前言:这是我个人的学习记录,我是科班在读有一定基础,很多东西不会特别详细,欢迎大佬指点,也很高兴有人看了能得到帮助

目录

 知识点流程图Central Topic-ProcessOn

基础的运用-登录案例:


这一小节的内容是python自动化基础,首先需要掌握python的基本语法(学过别的语言上手很快),其次比较重要的就是pytest,Json,参数化改造等流程图左侧部分内容,涉及到自动化测试脚本编写。详细的案例介绍我将单独写一篇。

 知识点流程图Central Topic-ProcessOnicon-default.png?t=N7T8https://www.processon.com/mindmap/66863419eb8f950664597fc9

基础的运用-登录案例:

test_login.py 

import json
from tools import login
import pytest
from config import pro_path


# 1.定义一个函数,读取json文件,获取[{},{}]数据,然后转为[(),()]
def read_json():
    with open(pro_path+'/data/login.json','r',encoding='utf-8') as f:
        buf = json.load(f)
        # print(buf)  # [{},{}]  --》 [(),()]
        new_list = []
        # 对列表进行遍历,读取列表的数据,转为元组,然后添加到新的列表
        for i in buf:
            # print(i)  # {}
            # 删除不需要数据desc
            i.pop('desc')
            # print(i)  # {}
            # 获取字典值组成的'列表'  字典.values()
            my_list2 = i.values()
            # print(my_list2)  # []
            # 将列表转成元组
            my_tuple = tuple(my_list2)
            # print(my_tuple)
            # 将元组添加到列表
            new_list.append(my_tuple)
        # print(new_list)
        return new_list

class TestLogin:
    @pytest.mark.parametrize('x,y,z',read_json())
    def test_login_ok(self,x,y,z):
        assert z == login(x, y)


if __name__ == '__main__':
    read_json()

 login.json

[
  {
    "desc": "正确的用户名和密码",
    "username": "admin",
    "password": "123456",
    "expect": "登录成功"
  },
  {
    "desc": "错误的用户名",
    "username": "root",
    "password": "123456",
    "expect": "登录失败"
  },
  {
    "desc": "错误的密码",
    "username": "admin",
    "password": "123123",
    "expect": "登录失败"
  },
  {
    "desc": "错误的用户名和密码",
    "username": "aaa",
    "password": "123123",
    "expect": "登录失败"
  }
]

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值