国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

這篇具有很好參考價(jià)值的文章主要介紹了月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

1. 前言

大家好,我是小碼哥擁有超過10年以上的銀行測(cè)試經(jīng)驗(yàn),目前在上海一家互聯(lián)網(wǎng)創(chuàng)業(yè)公司擔(dān)任測(cè)試經(jīng)理。在我們那個(gè)年代,基本上都是不會(huì)寫代碼的做測(cè)試工作,而且基本都是純手工;最近幾年,測(cè)試開發(fā)開始流行,互聯(lián)網(wǎng)行業(yè)越來越重視測(cè)試人員的綜合能力,使得我們這些老測(cè)試也必須轉(zhuǎn)型,才能跟上時(shí)代的步伐,因此去年我也報(bào)名了狂師老師的全棧測(cè)開訓(xùn)練營(yíng),之前我也在一些網(wǎng)絡(luò)培訓(xùn)網(wǎng)站上學(xué)習(xí)一些新的知識(shí)點(diǎn),但我感覺狂師的課程無論是范圍、廣度、深度比大多數(shù)培訓(xùn)機(jī)構(gòu)強(qiáng)很多,也正是工作當(dāng)中經(jīng)常能用到的內(nèi)容,非常值得大家學(xué)習(xí)。那么,今天我將結(jié)合訓(xùn)練營(yíng)課程的講解,分享一些關(guān)于接口自動(dòng)化測(cè)試學(xué)習(xí)實(shí)踐總結(jié),并且這些我已經(jīng)應(yīng)用到了實(shí)際工作上,希望對(duì)大家也有所幫助。

2. 工作需求背景

  • 利用Pytest+Request+Allure+Jenkins實(shí)現(xiàn)接口自動(dòng)化;
  • 實(shí)現(xiàn)一套腳本多套環(huán)境執(zhí)行;
  • 利用參數(shù)化數(shù)據(jù)驅(qū)動(dòng)模式,實(shí)現(xiàn)接口與測(cè)試數(shù)據(jù)分離
  • 使用logger定制實(shí)現(xiàn)自動(dòng)化測(cè)試日志記錄

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

3. 接口自動(dòng)化項(xiàng)目代碼編寫(先在window實(shí)現(xiàn))

3.1 項(xiàng)目準(zhǔn)備

先在window安裝響應(yīng)的環(huán)境依賴

  • 安裝python3.7(要保證pip能用,一般安裝python3.7會(huì)自動(dòng)安裝pip)
  • 安裝pytest框架---- pip install pytest
  • 安裝request庫---- pip install request
  • 安裝openpyxl庫(測(cè)試數(shù)據(jù)保存在excel中,需要依賴讀取excel的庫)---- pip install openpyxl
  • 安裝pycharm(編寫python腳本工具)
注意:可能還需要一些依賴的東西,項(xiàng)目步驟里會(huì)依據(jù)需要進(jìn)行安裝

3.2 設(shè)計(jì)基于pytest的測(cè)試框架結(jié)構(gòu)

在pycharm中開發(fā)構(gòu)建項(xiàng)目結(jié)構(gòu)

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

  • common:存放公共方法
  • config:存放環(huán)境配置信息
  • lib:存放第三方庫
  • main:框架主入口
  • report:存放allure測(cè)試報(bào)告
  • test_case:存放測(cè)試用例
  • test_data:存放測(cè)試數(shù)據(jù)

3.3 實(shí)現(xiàn)接口公共請(qǐng)求發(fā)送能力

從這一步開始正式編寫代碼

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

封裝http請(qǐng)求的公共能力(封裝request庫,變成自己的公共處理能力),放到common目錄下。

# encoding: utf-8
# 代碼來源:全棧測(cè)開訓(xùn)練營(yíng)

import requests
import urllib3
# from urllib3.exceptions import InsecureRequestWarning

urllib3.disable_warnings()
# 加這句不會(huì)報(bào)錯(cuò)(requests證書警告)
# requests.packages.urllib3.disable_warnings(InsecureRequestWarning)


class HTTPRequests(object):
    def __init__(self, url):
        self.url = url
        self.req = requests.session()
        # 依據(jù)自己公司的請(qǐng)求頭默認(rèn)值配置
        self.head = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64; Trident/7.0; rv:11.0) like Gecko',
            'Accept': 'image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/xaml+xml, '
                      'application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, '
                      'application/msword, */*',
            'Accept-Language': 'zh-CN'}

    # 封裝自己的get請(qǐng)求,獲取資源
    def get(self, uri='', params='', data='', headers=None, cookies=None, verify=False):
        if headers is None:
            headers = self.head
        # print("請(qǐng)求頭是:{}".format(headers))
        url = self.url + uri
        response = self.req.get(url, params=params, data=data, headers=headers, cookies=cookies, verify=verify)
        return response

    # 封裝自己的post請(qǐng)求,獲取資源
    def post(self, uri='', params='', data='', headers=None, cookies=None, verify=False):
        if headers is None:
            headers = self.head
        url = self.url + uri
        response = self.req.post(url, params=params, data=data, headers=headers, cookies=cookies, verify=verify)
        return response

    # 封裝自己的put請(qǐng)求,獲取資源
    def put(self, uri='', params='', data='', headers=None, cookies=None, verify=False):
        if headers is None:
            headers = self.head
        url = self.url + uri
        response = self.req.put(url, params=params, data=data, headers=headers, cookies=cookies, verify=verify)
        return response

    # 封裝自己的delete請(qǐng)求,獲取資源
    def delete(self, uri='', params='', data='', headers=None, cookies=None, verify=False):
        if headers is None:
            headers = self.head
        url = self.url + uri
        response = self.req.delete(url, params=params, data=data, headers=headers, cookies=cookies, verify=verify)
        return response

3.4 抽離測(cè)試環(huán)境配置信息

這個(gè)步驟的目的有三個(gè)

  • 為了配置三個(gè)不同環(huán)境(測(cè)試、開發(fā)、生產(chǎn))的URL,每個(gè)環(huán)境接口測(cè)試的URL是不一樣的,設(shè)置這樣一個(gè)枚舉類,方便后面的程序根據(jù)不同的環(huán)境,獲取不同環(huán)境的URL,里面的URL依據(jù)自己公司的地址修改,放到config目錄
  • 獲取token需要登錄,這里可以設(shè)置一個(gè)全局的賬號(hào)密碼,這個(gè)賬號(hào)密碼獲取的token可以給整個(gè)接口自動(dòng)化使用
  • 配置獲取token的uri,這個(gè)uri三個(gè)環(huán)境的是一致的,登錄的接口依據(jù)環(huán)境只是URL不同,URI還是一致的。

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

# encoding: utf-8
# 代碼來源:全棧測(cè)開訓(xùn)練營(yíng)

import enum

class URLConf(enum.Enum):
    """環(huán)境配置信息"""
    url_mapping = {
        'dev': 'https://www.dev.com',
        'test': 'https://www.test.com',
        'prod': 'https://www.prod.com'
    }

    # token固定的用戶名密碼,固定用"/"分割用戶名和密碼
    email_user = {
        'dev': 'dev@qq.com',
        'test': 'zidonghua@qq.com/96e79218965eb72c92a549dd5a330112',
        'prod': 'prod@qq.com'
    }

    login_uri = r'/api/auth/login/account/v1'

3.5 創(chuàng)建conftest.py放置一些公共的fixture

1、pytest_addoption,設(shè)置了只允許輸入dev/test/prod三個(gè)參數(shù),以區(qū)分測(cè)試、開發(fā)、生產(chǎn)三個(gè)環(huán)境
2、get_env的fixture,它的作用是你在命令行執(zhí)行接口自動(dòng)化時(shí),可以輸入--env test將對(duì)應(yīng)的環(huán)境信息傳入進(jìn)去
3、http的fixture,這里依據(jù)--env test傳入的環(huán)境信息,去枚舉類里獲取對(duì)應(yīng)環(huán)境的URL,然后返回一個(gè)http的session,供測(cè)試案例使用
4、get_token_head,依據(jù)--env test傳入的環(huán)境信息,調(diào)用獲取token方法,并將token放置到請(qǐng)求頭head里返回(token一般放在請(qǐng)求頭里,這里依據(jù)自己公司的請(qǐng)求,返回對(duì)應(yīng)的token信息就可以了)

# encoding: utf-8
# 代碼來源:全棧測(cè)開訓(xùn)練營(yíng)

import logging
import os

import pytest

from common.http_request import HTTPRequests
from config.url_config import URLConf


datadir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "test_data")
logger = logging.getLogger('conftest日志')


def pytest_addoption(parser):
    # choices 只允許輸入的值的范圍
    parser.addoption(
        "--env", action="store", default='test', choices=['dev', 'test', 'prod'], help="set env"
    )


# 獲取命令行參數(shù)的fixture
@pytest.fixture(scope='session')
def get_env(request):
    # print("fixutre..................")
    return request.config.getoption('--env')

# 聲明一個(gè)返回http請(qǐng)求對(duì)象的fixture,所有用例在一個(gè)session中
# @pytest.fixture(scope='module', autouse=True)
@pytest.fixture(autouse=True)
def http(request):
    env = request.getfixturevalue("get_env")
    url_mapping = URLConf.url_mapping.value
    url = url_mapping.get(f'{env}')
    http = HTTPRequests(url)

    return http


@pytest.fixture(scope='session')
def get_token_head(request):
    env = request.getfixturevalue("get_env")
    url_mapping = URLConf.url_mapping.value
    url = url_mapping.get(f'{env}')
    http = HTTPRequests(url)

    user = URLConf.email_user.value
    user_list = user.get(f'{env}').split("/")
    username = user_list[0]
    password = user_list[1]

    param = {'clientType': 2,
             'language': 'en',
             'loginId': username,
             'loginPassword': password}

    logger.info("請(qǐng)求的url=={}".format(url))
    response = http.post(uri=r'/api/auth/login/account/v1', data=param)
    logger.info("獲取的返回值是:".format(response.text))
    token = None
    if response.status_code == 200:
        token = response.json().get('result')['token']
    else:
        token = 'get token fail'

    head = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64; Trident/7.0; rv:11.0) like Gecko',
        'Accept': 'image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/xaml+xml, '
                  'application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, '
                  'application/msword, */*',
        'Accept-Language': 'zh-CN',
        'Authorization': token}

    yield head

3.6 將測(cè)試數(shù)據(jù)放到excel中

我們的測(cè)試數(shù)據(jù)是放在excel中,注意,這里有prod\test\dev三個(gè)目錄,對(duì)應(yīng)三個(gè)環(huán)境的測(cè)試數(shù)據(jù),我這里只創(chuàng)建了test測(cè)試環(huán)境的測(cè)試數(shù)據(jù)。這里的測(cè)試數(shù)據(jù)需要包含兩部分:

  • 你調(diào)用接口傳入的所有參數(shù);
  • 你要斷言的所有信息,因?yàn)槟銈鞯膮?shù)不同,返回的內(nèi)容就不同,你斷言的內(nèi)容也就不相同了。

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

那么這時(shí)候,就需要一個(gè)讀取excel的公共方法了,放到common里

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

# 創(chuàng)建解析excel的方法
import logging

from openpyxl import load_workbook

logger = logging.getLogger("讀取excel")


class ParseExcel(object):
    def __init__(self, excelPath, sheetName):
        self.wb = load_workbook(excelPath)
        self.sheet = self.wb[sheetName]
        self.maxRowNum = self.sheet.max_row


    # 依據(jù)傳入的數(shù)字,決定獲取幾列excel數(shù)據(jù)
    def getDataFromSheet(self, num):
        dataList = []
        for line in self.sheet.rows:
            tmplist = []
            for i in range(num):
                tmplist.append(line[i].value)
            dataList.append(tmplist)
            print("dadddddd:{}".format(dataList))

        return dataList[2:]

這里,還需要再test_data中,創(chuàng)建一個(gè)文件,為了獲取前面test_data依據(jù)環(huán)境創(chuàng)建的dev/test或prod文件目錄

注意:這里只有一個(gè)test或prod或dev的文字,是為了拼接....test_data/test目錄獲取對(duì)應(yīng)環(huán)境的excel測(cè)試數(shù)據(jù)而使用的,每次環(huán)境切換前,需要更改這個(gè)文件,可能這并不是一個(gè)好方法,如果大家有找到更好的方法,也可以分享一下

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

3.7 開始編寫自動(dòng)化測(cè)試案例了

測(cè)試案例中有幾個(gè)點(diǎn),需要解釋一下:
1、authBaseDir,這個(gè)就是根據(jù)test_data/test拼接出來的獲取測(cè)試數(shù)據(jù)的目錄
2、allure.feature,在測(cè)試報(bào)告中,會(huì)展現(xiàn)這個(gè)接口名稱,這個(gè)名稱最好與你公司的開發(fā)寫的接口模塊保持一致,方便后續(xù)查找問題
3、allure.story 這里也要與開發(fā)寫的具體某個(gè)接口的名稱保持一致。
4、pytest.mark.parametrize,這里就是運(yùn)用的DDT數(shù)據(jù)驅(qū)動(dòng)的模式,從excel中一條一條的獲取數(shù)據(jù),然后執(zhí)行同一條接口測(cè)試用例,excel中比如有3條數(shù)據(jù),那么就表示這個(gè)案例依據(jù)每一條數(shù)據(jù)的參數(shù),總共執(zhí)行了三次

# encoding: utf-8

"""
create by Arthur

Account Api模塊
"""
import logging
import os

import allure
import pytest

from common.get_data_url import get_data_url
from common.parse_excel import ParseExcel

datadir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "test_data")
data_url = get_data_url()
# 獲取到test_data\test的目錄,如果是prod環(huán)境,那么就是獲取test_data\prod目錄
authBaseDir = os.path.join(datadir, data_url)

logger = logging.getLogger("Account Api模塊日志")


@allure.feature("AccountApi模塊")
@pytest.mark.webtest
class TestAccountApi(object):
    """Query Related Achievements: /api/auth/account/achievement/related/query/v1

    """
    Query_Related_Achievements_dir = os.path.join(authBaseDir, 'Query_Related_Achievements.xlsx')
    logger.info("Query_Related_Achievements測(cè)試數(shù)據(jù)的路徑是:{}".format(Query_Related_Achievements_dir))
    parse = ParseExcel(Query_Related_Achievements_dir, 'Sheet1')
    Query_Related_Achievements_params = parse.getDataFromSheet(5)

    @allure.story("Query Related Achievements(查詢用戶成就信息)")
    @pytest.mark.parametrize("clientType,language,retCode,istoken,result", Query_Related_Achievements_params)
    def test_001_Query_Related_Achievements(self, get_token_head, http, clientType, language, retCode, istoken, result):
        uri = '/api/auth/account/achievement/related/query/v1'
        params = {"clientType": clientType, "language": language}

        if istoken == 'yes':
            header = get_token_head
            response = http.get(uri=uri, params=params, headers=header)
            json_req = response.json()
            logger.info("Query_Related_Achievements有token的返回值是:{}".format(json_req))

            assert json_req.get('retCode') == 200
            assert json_req.get('result')[0]['smallImg'] == result
        else:
            response = http.get(uri=uri, params=params)
            json_req = response.json()
            logger.info("Query_Related_Achievements沒有token的返回值是:{}".format(json_req))

            assert json_req.get('retCode') == 401
            assert json_req.get('message') == result

3.8 集成allure

寫到這里,是不是發(fā)現(xiàn)前面的allure.feature是不是用不了呢?這是因?yàn)槲覀冞€沒有集成allure進(jìn)去。
1、下載allure,放到lib目錄下,使你的工程具備allure的能力。

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

2、pip install allure-pytest?安裝pytest對(duì)應(yīng)的allure包

3.9 這時(shí)候就可以創(chuàng)建一些執(zhí)行策略了

1、先在main中創(chuàng)建一個(gè)pytest.ini文件,設(shè)置一些執(zhí)行參數(shù)

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

2、在main中創(chuàng)建執(zhí)行策略

  • 先在run_pytest方法中,執(zhí)行案例并生成allure的json格式的報(bào)告文件,這里可以帶--env prod將對(duì)應(yīng)環(huán)境信息傳入,這里沒有傳是因?yàn)槟J(rèn)是test環(huán)境,不傳入的話就是執(zhí)行的test環(huán)境測(cè)試數(shù)據(jù)
  • general_report方法時(shí)將生成的json格式的報(bào)告,最終生成html文件放置到report下面的目錄中
  • 創(chuàng)建一個(gè)線程,先執(zhí)行run_pytest,再執(zhí)行g(shù)eneral_report,避免json文件沒有生成,這樣生成html文件的報(bào)告數(shù)據(jù)可能不全,甚至沒有。

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

# encoding: utf-8
# 代碼來源:全棧測(cè)開訓(xùn)練營(yíng)

"""
所有案例執(zhí)行并生成allure測(cè)試報(bào)告的執(zhí)行策略
"""

import os
import sys
import threading
import pytest


sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
from common.report import Report


project_root = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
report_dir = os.path.join(project_root, 'report')
# 存放測(cè)試結(jié)果的目錄,會(huì)生成一推json文件
result_dir = os.path.join(report_dir, 'allure_result')
allure_report = os.path.join(report_dir, 'allure_report')

report = Report()

#  定義搜索條件,搜索所有以test開頭的用例
tag = 'test'


def run_pytest():
    # --clean-alluredir
    # pytest.main(['-vv', '-s', '-m', 'webtest', f'--alluredir={result_dir}', '--clean-alluredir'])
    # 執(zhí)行前清除allure_result數(shù)據(jù),避免生成報(bào)告時(shí),會(huì)把上次執(zhí)行的數(shù)據(jù)帶進(jìn)去
    pytest.main(['-vv', '-s', '-k', f'{tag}', f'--alluredir={result_dir}', '--clean-alluredir'])


def general_report():
    # 調(diào)用cmd方法 report.allure,根據(jù)windows或linux環(huán)境判斷
    # 然后執(zhí)行生成報(bào)告的方法generate
    # --clean 覆蓋路徑,將上次的結(jié)果覆蓋掉
    cmd = "{} generate {} -o {} --clean".format(report.allure, result_dir, allure_report)
    # 執(zhí)行命令行命令,并通過read()方法將命令的結(jié)果返回
    print(os.popen(cmd).read())


if __name__ == '__main__':
    # 創(chuàng)建兩個(gè)線程,分別執(zhí)行兩個(gè)方法
    run = threading.Thread(target=run_pytest)
    gen = threading.Thread(target=general_report)
    run.start()
    # 先執(zhí)行第一個(gè)線程,這個(gè)線程執(zhí)行完才會(huì)執(zhí)行下面的線程和主線程
    run.join()
    gen.start()
    gen.join()

3.10 自動(dòng)化執(zhí)行生成結(jié)果

在windows下,右鍵執(zhí)行main下面的run_test_allure_html.py(就是上一個(gè)步驟的python文件),然后打開report/allure_report/index.html看看報(bào)告是否生成成功

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

4. jenkins環(huán)境搭建(linux環(huán)境)

好了,到這一步,在windows下我們已經(jīng)執(zhí)行成功,現(xiàn)在我們要集成到j(luò)enkins環(huán)境去,并搭建在linux環(huán)境下。
1、將代碼上傳到公司的git(沒有g(shù)it的自己搭建一套吧)
2、找一臺(tái)linux機(jī)器(自己去自己公司找資源)
3、在linux下安裝jenkins(我是防止到tomcat中)、python3、pytest、allure、openpyxl(這些步驟在網(wǎng)上可以搜索到,這里不贅述了)
4、啟動(dòng)linux下的tomcat,然后在window下打開jenkins的服務(wù)地址

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

5、創(chuàng)建一個(gè)自由風(fēng)格的job

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

6、Job需要填寫的具體內(nèi)容有:

  • A、選擇丟棄舊的構(gòu)建(保留的構(gòu)建天數(shù)依據(jù)自己的情況選擇)

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

  • B、“限制項(xiàng)目的運(yùn)行節(jié)點(diǎn)”依據(jù)自己的情況選擇(我這里給我的jenkins主服務(wù)器取了一個(gè)叫l(wèi)inux的標(biāo)簽,我的機(jī)器也是linux機(jī)器)

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

  • C、git--將git上的代碼拉下來

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

  • D、“執(zhí)行shell”,這里把代碼從git拉到了jenkins的執(zhí)行目錄里,一般在linux下的root/.jenkins里,在執(zhí)行shell時(shí),最好chmod修改下整個(gè)工程的目錄權(quán)限,因?yàn)橛锌赡芤驒?quán)限問題執(zhí)行不了

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

  • E、構(gòu)建后的操作:這里需要再jenkins里安裝allure插件才能看到allure Report,第一個(gè)Path,這里寫的是allure生成的json文件的目錄,所以是report/allure_result,第二個(gè)Report path指的是生成的index.html文件的目錄,所以是report/allure_report

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

4.2 立即構(gòu)建并查看報(bào)告

上面的job建成后,就可以點(diǎn)擊立即構(gòu)建,執(zhí)行了。執(zhí)行完后,點(diǎn)擊allure Report查看最終的報(bào)告。

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

5. 小結(jié)

今天的分享其實(shí)也只是全棧測(cè)開訓(xùn)練營(yíng)代碼級(jí)測(cè)試框架這個(gè)技能版塊中,很小的一部分知識(shí)點(diǎn),里面涉及到的知識(shí),在工作中都非常實(shí)用,非常值得深入學(xué)習(xí)。

此次分享就到這里了,算是一個(gè)階段學(xué)習(xí)總結(jié)吧。。雖然我是一只步入中年的測(cè)試?yán)媳?,但仍阻擋不了我持續(xù)學(xué)習(xí)前進(jìn)的步伐,希望和那些有著同樣學(xué)習(xí)熱情的同學(xué)共勉。

如果覺得有用,幫忙點(diǎn)個(gè)好看朋友圈轉(zhuǎn)發(fā)分享一下就行。

綿薄之力

最后感謝每一個(gè)認(rèn)真閱讀我文章的人,看著粉絲一路的上漲和關(guān)注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享

這些資料,對(duì)于從事【軟件測(cè)試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個(gè)倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!凡事要趁早,特別是技術(shù)行業(yè),一定要提升技術(shù)功底。希望對(duì)大家有所幫助……

月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享文章來源地址http://www.zghlxwxcb.cn/news/detail-406259.html

到了這里,關(guān)于月薪40K+銀行測(cè)試經(jīng)理,自動(dòng)化測(cè)試實(shí)踐經(jīng)驗(yàn)分享的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 接口自動(dòng)化測(cè)試實(shí)踐指導(dǎo)(下):接口自動(dòng)化測(cè)試斷言設(shè)置思路

    接口自動(dòng)化測(cè)試實(shí)踐指導(dǎo)(下):接口自動(dòng)化測(cè)試斷言設(shè)置思路

    作者 : 石臻臻 , CSDN博客之星Top5 、 Kafka Contributor 、 nacos Contributor 、 華為云 MVP , 騰訊云TVP , 滴滴Kafka技術(shù)專家 、 KnowStreaming 。 KnowStreaming 是滴滴開源的Kafka運(yùn)維管控平臺(tái), 有興趣一起參與參與開發(fā)的同學(xué),但是怕自己能力不夠的同學(xué),可以聯(lián)系我,當(dāng)你導(dǎo)師帶你參與開源! 。 在

    2024年01月18日
    瀏覽(30)
  • 前端單元測(cè)試與自動(dòng)化測(cè)試實(shí)踐

    在前端開發(fā)中,單元測(cè)試和自動(dòng)化測(cè)試是保證代碼質(zhì)量和穩(wěn)定性的重要手段。通過編寫和執(zhí)行測(cè)試用例,可以及早發(fā)現(xiàn)代碼中的問題,并確保代碼在不同環(huán)境下的正確運(yùn)行。本文將介紹前端單元測(cè)試和自動(dòng)化測(cè)試的實(shí)踐,并通過一個(gè)示例說明其重要性和具體操作。 前端單元測(cè)

    2024年02月12日
    瀏覽(24)
  • 接口自動(dòng)化測(cè)試工程實(shí)踐分享

    接口自動(dòng)化測(cè)試工程實(shí)踐分享

    本文作者:歐海鋒,碧桂園服務(wù)高級(jí)測(cè)試工程師,致力于研究測(cè)試技術(shù)。 一、前言 接口自動(dòng)化測(cè)試是一種軟件測(cè)試技術(shù),它通過模擬用戶系統(tǒng)操作來對(duì)系統(tǒng)的接口進(jìn)行自動(dòng)化測(cè)試。接口自動(dòng)化測(cè)試的目的是為了提高測(cè)試效率和準(zhǔn)確性,同時(shí)降低測(cè)試成本和周期。以下是為什

    2024年04月17日
    瀏覽(25)
  • 朝夕光年游戲自動(dòng)化測(cè)試實(shí)踐

    朝夕光年游戲自動(dòng)化測(cè)試實(shí)踐

    朝夕光年是面向全球用戶與開發(fā)者的游戲研發(fā)與發(fā)行業(yè)務(wù)品牌,致力于服務(wù)全球玩家,幫助玩家在令人驚嘆的虛擬世界中一起玩耍與創(chuàng)造。 在游戲的研發(fā)過程中,游戲自動(dòng)化一直是開展難度較大的工程,具體包括機(jī)房機(jī)架、設(shè)備調(diào)度、軟件框架、算法調(diào)校這些中臺(tái)建設(shè),復(fù)雜

    2024年02月10日
    瀏覽(16)
  • 低代碼自動(dòng)化測(cè)試的實(shí)踐

    低代碼自動(dòng)化測(cè)試的實(shí)踐

    何為低代碼測(cè)試 傳統(tǒng)上,功能、 UI、端到端等測(cè)試自動(dòng)化的實(shí)現(xiàn)都涉及編寫測(cè)試腳本,代替測(cè)試人員執(zhí)行重復(fù)的手動(dòng)測(cè)試任務(wù)。自動(dòng)化腳本的開發(fā)工作通常由 QA 工程師或開發(fā)人員完成,這需要編寫大量代碼。 而低代碼甚至無代碼的理念也是在自動(dòng)化測(cè)試技術(shù)比較成熟之后出

    2024年01月17日
    瀏覽(19)
  • SoapUI實(shí)踐:自動(dòng)化測(cè)試、壓力測(cè)試、持續(xù)集成

    SoapUI實(shí)踐:自動(dòng)化測(cè)試、壓力測(cè)試、持續(xù)集成

    因?yàn)轫?xiàng)目的原因,前段時(shí)間研究并使用了?SoapUI?測(cè)試工具進(jìn)行自測(cè)開發(fā)的 api。下面將研究的成果展示給大家,希望對(duì)需要的人有所幫助。 SoapUI 是一個(gè)開源測(cè)試工具,通過 soap/http 來檢查、調(diào)用、實(shí)現(xiàn) Web Service 的功能/負(fù)載/符合性測(cè)試。該工具既可作為一個(gè)單獨(dú)的測(cè)試軟件使

    2024年02月05日
    瀏覽(33)
  • 持續(xù)集成下接口自動(dòng)化測(cè)試實(shí)踐

    持續(xù)集成下接口自動(dòng)化測(cè)試實(shí)踐

    目錄 :導(dǎo)讀 引言 接口自動(dòng)化測(cè)試工具介紹 接口自動(dòng)化測(cè)試在持續(xù)集成中的運(yùn)用 小結(jié) 目前很多持續(xù)集成項(xiàng)目都需要執(zhí)行接口層的測(cè)試,當(dāng)你了解其基本概念,理解了接口協(xié)議、如何傳參、測(cè)試原理后,無需 掌握程序語言,使用 行業(yè) 內(nèi)成熟的接口測(cè)試 工具,就 可 以快速地

    2023年04月26日
    瀏覽(20)
  • 測(cè)試自動(dòng)化的 10 個(gè)最佳實(shí)踐

    測(cè)試自動(dòng)化的 10 個(gè)最佳實(shí)踐

    *以下內(nèi)容為本人的學(xué)習(xí)筆記,如需要轉(zhuǎn)載,請(qǐng)聲明原文鏈接 微信公眾號(hào)「ENG八戒」https://mp.weixin.qq.com/s/qavI7z8IAy8qaiQvuQgURQ 雖然大家都知道堅(jiān)果是非常健康和有營(yíng)養(yǎng)的,但是,當(dāng)你嘗試吃它的時(shí)候,我猜測(cè)過程都不會(huì)很順利。 現(xiàn)實(shí)就是那么相似,我們都知道測(cè)試自動(dòng)化對(duì)軟件

    2024年02月02日
    瀏覽(21)
  • 高效自動(dòng)化測(cè)試框架-優(yōu)秀實(shí)踐02-接口

    編寫接口的操作的時(shí)候只需要編寫接口的url,請(qǐng)求方法,請(qǐng)求體的樣例 其他的將接口封裝成服務(wù)或者的操作,全部使用裝飾器來封裝,能做到高效的解耦 在表示層編寫業(yè)務(wù)測(cè)試用例的時(shí)候,可以使用函數(shù)式的編程方式,非常易讀,還非常易于copy,提升編寫效率 業(yè)務(wù)測(cè)試用例編寫

    2023年04月08日
    瀏覽(25)
  • Selenium Web自動(dòng)化測(cè)試框架實(shí)踐

    Selenium Web自動(dòng)化測(cè)試框架實(shí)踐

    目錄 ? ? ? ?前言: 項(xiàng)目背景 功能實(shí)現(xiàn) 項(xiàng)目架構(gòu) 瀏覽器driver定義 用例運(yùn)行前后的環(huán)境準(zhǔn)備工作 工具方法模塊 Pageobject頁面對(duì)象封裝 執(zhí)行測(cè)試用例 ? ? ? ?前言: ? ? ? ? ?Selenium是一個(gè)基于Web的自動(dòng)化測(cè)試框架,可以通過模擬用戶在瀏覽器上的操作,來自動(dòng)化地測(cè)試Web應(yīng)

    2024年02月10日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包