搭建禅道环境作为练习UI和接口自动化测试对象

news2024/9/29 17:26:48

搭建禅道环境作为练习UI和接口自动化测试对象

  • 1 目的
  • 2 禅道下载
  • 3 禅道安装
  • 4 禅道运行
  • 5 接口查看
  • 6 验证接口测试
  • 7 验证UI测试

1 目的

  • UI和接口自动化练习时,有时候找不到合适的对象,我们可使用禅道来联系;
  • 因为禅道有开源版,可以二次开发,并有详细的API手册;
  • 本文的目的是整理并分享,使用禅道来作为测试对象的过程,便于学习自动化测试使用。

2 禅道下载

  • 直接进入官网,选择开源版进行下载:
    https://www.zentao.net/page/download.html
  • 根据自身电脑环境选择合适的版本,本文是Windows版本:
    在这里插入图片描述
  • 选择“Windows一键安装”下载即可。

3 禅道安装

  • 下载后如下:
    在这里插入图片描述
  • 双击运行,选择安装目录,我们安装在如下目录:
    在这里插入图片描述
  • 点击Extract,等待安装:
    在这里插入图片描述

4 禅道运行

  • 安装完后,在安装目录下有个exe文件双击打开:
    在这里插入图片描述
  • 双击后会打开如下页面:
    在这里插入图片描述
  • 点击“访问禅道”,或者输入:http://127.0.0.1/index.php
    在这里插入图片描述
  • 点击【开源版】,进入登陆页面:
    在这里插入图片描述

5 接口查看

  • 首次登录时,登录信息如下:
# 账号:admin
# 密码:123456
  • 首次登录需要修改密码,修改成功后进入系统首页,如下:
    在这里插入图片描述
  • 点击左侧的导航栏中的【后台】,点击【二次开发】:
    在这里插入图片描述
  • 可以看到相关的API接口:
    在这里插入图片描述

6 验证接口测试

  • 接口公共地址为:
http://127.0.0.1/zentao/api.php/v1/对应API接口名称
  • 接口调试,我们使用登录获取token接口来看下请求数据:
    在这里插入图片描述
  • 可以看到接口是OK的,那我们在练习接口自动化时可以尝试用这个来练习了;
  • 接单写一个脚本看下:
# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2023/7/25 
# 文件名称:test03.py
# 作用:验证登录接口
# 联系:VX(NoamaNelson)
# 博客:https://blog.csdn.net/NoamaNelson


import requests
import json
import time

header = {"Content-Type": "application/json"}
url = "http://127.0.0.1/zentao/api.php/v1/tokens"
data = {"account": "admin", "password": "123456"}

r_data = json.dumps(data)
r = requests.post(url=url, data=r_data, headers=header)
print(f"返回的token为:{r.text}")
  • 返回数据为:
D:\Python37\python.exe F:/python_study/test03.py
返回的token为:{"token":"d0062b99d36103950765f6a5d72286a9"}

7 验证UI测试

  • 简单试下,不用看代码是否美观,哈哈:
from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("http://127.0.0.1/zentao/user-login.html")
time.sleep(1)
driver.maximize_window()
driver.find_element_by_id("account").send_keys("admin")
time.sleep(0.5)
driver.find_element_by_xpath("/html/body/main/div/div[1]/div/div[2]/form/table/tbody/tr[2]/td/input").send_keys("123456")
time.sleep(0.5)
driver.find_element_by_id("submit").click()
time.sleep(1)
driver.quit()

  • 经过尝试,也是可以的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/788939.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

three.js-解决外部模型太暗的问题

先看效果 优化前 优化后的效果 在网上找了好久,好多方法都过时了,还有调整自发光都不行,后来又调金属度的,试了下很ok, child.material.metalness 0.58;,完整例子看下边。 解决方案 调整模型的金属度 loader.lo…

git 提示 不能合并

今天A分支合并B分支,提示“不能合并” 最终发现,是另一个分支的版本落后导致,但是git并未提示出来 有遇到这种问题可以先检查下版本

go-zerogo web集成JWT和cobra命令行工具实战

前言 上一篇:从零开始基于go-zero的go web项目实战-01项目初始化 从零开始基于go-zero搭建go web项目实战-02集成JWT和cobra命令行工具 源码仓库地址 源码 https://gitee.com/li_zheng/treasure-box JWT JWT(JSON Web Token)是一种开放标…

一起学SF框架系列5.8-spring-Beans-注解bean解析4-bean解析

前面三节主要讲了如何加载注解Bean的BeanDefinition,执行环节是在DefaultBeanDefinitionDocumentReader.parseBeanDefinitions中用BeanDefinitionParserDelegate.parseCustomElement(ele)加载的,实际上没对注解真正进行解析。本节主要讲述注解bean如何被…

性能测试过程有哪些?都要做什么

13.1 性能测试过程概述 13.2 性能测试设计 需要关注的问题:事务需求、技术需求、系统要求、团队要求 分析从五个方面分析:需求调研、事务模型、场景模型、数据设计、环境设计 13.2.1 需求调研 ① 测试系统预研:系统相关知识、系统目的、…

MinIO在Linux环境下单机安装部署

1、MinIO是什么? MinIO 是一个基于 Go语言实现的高性能对象存储。它采用AGPL(GNU Affero General Public License) 开源协议并兼容 S3 协议。 官网地址:https://min.io/ github地址:https://github.com/minio/minio …

C 程序 运算符

文章目录 1、算术运算符2、关系运算符3、逻辑运算符4、位运算符5、赋值运算符6、杂项运算符 ↦ sizeof & 三元7、运算符优先级 1、算术运算符 #include <stdio.h>int main() {int a 21;int b 10;int c ;c a b;printf("Line 1 - c 的值是 %d\n", c );c …

Jenkins从配置到实战(一) - 实现C/C++项目自动化构建

前言 本文章主要介绍了&#xff0c;如何去安装和部署Jenkins&#xff0c;并实现自动拉取项目代码&#xff0c;自动化编译流程。 网站 官网中文网站 下载安装 可以下载这个 安装jenkins前先安装java yum search java|grep jdkyum install java-1.8.0-openjdk 安装jenkins j…

我是如何做性能测试 - 文档收集并深入学习

目录 前言&#xff1a; 1. 架构设计说明书 2. 需求说明文档/需求规格说明书 3. 接口设计文档 4. 接口详细设计文档 5. 数据库设计文档 前言&#xff1a; 性能测试是软件开发过程中的一个重要方面&#xff0c;它旨在评估软件在不同负载和压力条件下的性能表现。性能测试需…

Android10 调用相机 ( 涉及读写文件 ) 闪退

背景 按照 << 第一行Android代码>>写了一下调用摄像头和相册的案例, 页面是下面截图的样子, 拍照或者从相册选择图片后, 在下方的 imageView 里将图片显示出来. 点击 “从相册选择照片” 按钮的时候功能是正常的, 点击 “拍照” 按钮的时候会闪退并报告相机异常.…

Java训练三

一、数独 将1~9的数字放入一个3x3的数组中国&#xff0c;判断数组每行每列以及每个对角线的值相加是否都相同。 package haha; public class helloworld{public static void main(String[] args) {int arr[][] {{1,2,3},{4,5,6},{7,8,9}};//每行int arr1[]new int[3];for(int…

【uniapp学习之】uni-forms必填项校验

代码块 <uni-forms ref"baseForm" :modelValue"baseFormData" label-widthauto :rules"rules"><uni-forms-item label"企业名称" required name"principalName"><uni-easyinput v-model"baseFormData.…

数组中重复的数据(力扣)思维 JAVA

给你一个长度为 n 的整数数组 nums &#xff0c;其中 nums 的所有整数都在范围 [1, n] 内&#xff0c;且每个整数出现 一次 或 两次。 请你找出所有出现 两次 的整数&#xff0c;并以数组形式返回。 你必须设计并实现一个时间复杂度为 O(n) 且仅使用常量额外空间的算法解决此问…

QT实现用户登录注册功能

本文实例为大家分享了QT实现用户登录注册的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 1、login.h ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #ifndef LOGIN_H #define LOGIN_H #include <QWidget> namespace Ui { c…

git pull无效,显示 * branch master -> FETCH_HEADAlready up to date. pull无效解决方法

报错情况 本地文件夹中删除文件后&#xff0c;git pull无效。显示如下&#xff1a; **** MINGW64 ~/****/haha (master) $ git pull origin master From https://gitee.com/****/haha* branch master -> FETCH_HEAD Already up to date.解决 方法一 命令…

C++ —— STL容器【vector】模拟实现

本章代码gitee仓库&#xff1a;vector模拟实现、vector源码 文章目录 &#x1f608;0. 搭个框架&#x1f604;1. 成员&#x1f47b;2. 构造函数 & 析构函数 & 拷贝构造&#x1f63a;3. 迭代器&#x1f649;4. operator[] & operator&#x1f916;5. 容器的容量 &am…

Vue mixin 混入

可以复用的组件&#xff0c;我们一般会抽离&#xff0c;写成公共的模块。 可以复用的方法&#xff0c;我们一般会抽离&#xff0c;写成公共的函数。 那么 在 Vue 中&#xff0c;如果 某几个组件实例 VueComponent 中、或者 整个 Vue 项目中 都存在相同的配置&#xff0c;那就…

jmeter-断言

断言作用&#xff1a;让脚本自动化执行过程中&#xff0c;能够自动判定执行结果是否正确&#xff0c;需要添加断言 响应断言 添加方式&#xff1a;测试计划–》线程组–》HTTP请求–》(右键添加)断言–》响应断言 案例 请求:https://www.baidu.com 检查&#xff1a;让程序检查…

13.4 【Linux】使用者身份切换

使用一般帐号&#xff1a;系统平日操作的好习惯 尽量以一般身份使用者来操作Linux的日常作业。等到需要设置系统环境时&#xff0c; 才变换身份成为 root 来进行系统管理&#xff0c;相对比较安全。避免作错一些严重的指令&#xff0c;例如恐怖的“ rm -rf / ”。 用较低权限…

OpenTDF数据加密引擎

OpenTDF是Virtru公司的开源项目。 Virtru基于OpenTDF开发了用于google Workspace和Microsoft 365的相关数据安全产品。 简介 virtru公司基于opentdf开发挺多产品的,都是数据安全类产品。 能把opentdf开源,已经非常不容易了。 opentdf的代码看起来还是比较整齐和成熟的。…