从零开始搭建自动化测试平台,构建自动化测试平台的最全指南!

2023-12-17

前言

随着软件开发的不断进步,测试工程师也需要跟上趋势并适应新的测试方法。自动化测试已成为现代测试领域中不可或缺的一部分。它可以提高测试效率、减少测试成本,并且可以避免人为错误对测试结果的影响。在这篇文章中,我们将介绍如何构建一个自动化测试平台,以便团队可以高效地开展自动化测试工作。

第一步:确定自动化测试框架

选择适合的自动化测试框架是非常重要的。在考虑选择框架之前,需要评估项目要求和技术能力,以选择最佳框架。目前比较流行的自动化测试框架有Selenium,Appium,TestNG等。在本文中,我们将使用Selenium框架进行自动化测试。

首先,需要安装Selenium WebDriver。WebDriver是Selenium的核心组件,用于控制浏览器。安装Selenium WebDriver时,需要根据浏览器类型下载相应的驱动程序。在我们的示例中,假设我们要使用Google Chrome浏览器进行测试,因此我们需要下载ChromeDriver。以下是ChromeDriver下载链接:

https://sites.google.com/a/chromium.org/chromedriver/downloads

接下来,按照以下步骤安装Selenium:

安装Python

首先,需要安装Python。Selenium支持Python语言,因此我们需要安装Python来运行自动化测试脚本。我们将使用Python 3.x版本,可以到Python官网下载最新版本的Python。

安装Selenium WebDriver

从Selenium官网下载Selenium WebDriver,并解压缩文件。将ChromeDriver放置在PATH环境变量下,这样我们就可以通过命令行启动Chrome浏览器。

安装依赖库

在开始编写自动化测试脚本之前,还需要安装必要的依赖库。可以使用pip工具安装依赖库。在命令行中输入以下命令以安装所需的依赖库:

pip install selenium

第二步:编写自动化测试脚本

现在,我们已经安装了Selenium框架并准备好编写自动化测试脚本。我们将编写一个简单的脚本,该脚本将打开Google首页并搜索“selenium”。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

首先,需要导入Selenium模块:

from selenium import webdriver

接下来,创建一个WebDriver实例,用于控制浏览器:

driver = webdriver.Chrome()

然后,使用get()方法打开指定的URL:

driver.get("https://www.google.com")

现在,我们将在搜索框中输入搜索关键字:

search_box = driver.find_element_by_name("q")
search_box.send_keys("selenium")
search_box.submit()

最后,我们可以关闭浏览器:

driver.quit()

完整代码如下:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.google.com")
search_box = driver.find_element_by_name("q")
search_box.send_keys("selenium")
search_box.submit()
driver.quit()

第三步:构建自动化测试平台

现在,我们已经准备好编写自动化测试脚本并使用Selenium框架运行它们。但是,在实际项目中,可能需要同时运行数百个测试脚本,并且需要对测试结果进行汇总和分析。为了实现这一点,需要搭建自动化测试平台。

自动化测试平台通常由以下几个组件构成:

1.测试管理工具

测试管理工具用于创建测试计划、测试用例和测试报告。目前比较流行的测试管理工具有JIRA,TestRail等。在本文中,我们将使用TestRail作为测试管理工具。

2.自动化测试执行工具

自动化测试执行工具用于执行自动化测试脚本,并生成测试结果。常见的自动化测试执行工具有Jenkins,TeamCity等。在本文中,我们将使用Jenkins作为自动化测试执行工具。

3.版本控制工具

版本控制工具用于存储和管理测试脚本代码。Git是一种流行的版本控制工具。在实际项目中,可能需要在测试脚本修改后进行版本控制,以便进行跟踪和回退。

4.虚拟化环境工具

虚拟化环境工具用于创建一个模拟的测试环境,可以在其中运行自动化测试脚本。Docker是一种流行的虚拟化环境工具,它可以轻松地创建和管理虚拟容器。

5.报告与分析工具

报告与分析工具用于分析自动化测试结果,并生成可视化报告。常见的报告与分析工具包括Allure和ExtentReport。

下面,我们将详细介绍如何搭建自动化测试平台。

1.安装Jenkins

a. 下载Jenkins并安装:

$ wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
$ sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
$ sudo apt-get update
$ sudo apt-get install jenkins

b. 在浏览器中打开http://localhost:8080。按照提示完成初始设置。

2.安装TestRail

a. 获取TestRail安装文件:

$ wget https://www.gurock.com/downloads/testrail/testrail-latest-ion53.zip

b. 解压缩文件并将TestRail安装到/var/www/html目录下:

$ unzip testrail-latest-ion53.zip
$ sudo mv testrail /var/www/html/

c. 设置TestRail的目录权限:

$ sudo chmod 777 /var/www/html/testrail
$ sudo chmod 777 /var/www/html/testrail/installer

d. 在浏览器中打开http://localhost/testrail,按照提示完成TestRail的安装。

3.安装Git

a. 安装Git:

$ sudo apt-get install git

b. 配置Git:

$ git config --global user.name "Your Name"
$ git config --global user.email "youremail@domain.com"

4.安装Docker

a. 安装Docker:

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

b. 将当前用户添加到docker组:

$ sudo usermod -aG docker $USER

c. 重新登录以使更改生效。

5.安装报告与分析工具

a. 安装Allure:

$ sudo apt-add-repository ppa:qameta/allure
$ sudo apt-get update
$ sudo apt-get install allure

b. 安装ExtentReport:

$ sudo apt-get install maven
$ git clone https://github.com/extent-framework/extentreports-java.git
$ cd extentreports-java/
$ mvn clean install -DskipTests=true

6.配置自动化测试平台

a. 在Jenkins中安装测试插件:在Jenkins的“管理插件”页面中搜索“testng”和“junit”,并安装这些插件。

b. 创建Jenkins项目:在Jenkins主页上,单击“新建项目”,选择“自由风格软件项目”。输入项目名称并单击“OK”。

c. 配置Jenkins项目:在项目配置页面中,选择“源代码管理”,选择Git,并输入代码库的URL和凭据。然后添加下列构建步骤:

cd /path/to/project
mvn clean test
cp target/surefire-reports/*.xml /var/lib/jenkins/test-results/

d. 配置TestRail插件:在Jenkins的“管理插件”页面中搜索“TestRail”,并安装该插件。然后,在项目配置页面中,选择“构建后操作”,选择“TestRail Publisher”,并输入TestRail服务器的URL、用户名、密码和测试计划ID。

e. 配置报告与分析工具:在项目配置页面中,选择“构建后操作”,选择“Publish Allure Report”或“Publish ExtentReports”,并输入报告文件的路径。

7.运行自动化测试

现在,我们已经完成了自动化测试平台的搭建和配置,可以运行自动化测试了。在Jenkins主页上,单击项目名称以运行测试。Jenkins将执行自动化测试脚本,并将测试结果上传到TestRail和报告与分析工具中。

总结

本文介绍了如何构建一个自动化测试平台,以便团队可以高效地开展自动化测试工作。我们使用Selenium框架编写了一个简单的自动化测试脚本,并演示了如何在Jenkins中运行该脚本。此外,我们还介绍了其他组件,如测试管理工具、版本控制工具、虚拟化环境工具和报告与分析工具。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从零开始搭建自动化测试平台,构建自动化测试平台的最全指南! 的相关文章

  • 测开和测试平台是否有存在的必要?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Jmeter 性能-阶梯式性能指标监听

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 甜蜜而简洁 —— 深入了解Pytest插件pytest-sugar

    在日常的软件开发中 测试是确保代码质量的关键步骤之一 然而 对于测试报告的生成和测试结果的可读性 一直以来都是开发者关注的焦点 Pytest插件 pytest sugar 以其清晰而美观的输出 为我们提供了一种愉悦的测试体验 本文将深入介绍
  • 程序员找工作难!拿到外包公司的 offer 我应该去么?

    引言 前一阵子有一个帖子引起了非常广泛的讨论 描述的就是一个公司的外包工作人员 加班的时候因为吃了公司给员工准备的零食 被公司的HR当场批评 这个帖子一发出来 让现在测试行业日益新增的外包公司备受关注 那么外包公司和非外包公司有什么样的不一
  • Appium Doctor - 无法在 MacOS 10.12 上将 $JAVA_HOME/bin 设置为 PATH 变量

    在 MacOS 10 12 上使用 npm 安装了 appium doctor 它给了我一个错误 WARN AppiumDoctor Bin directory for JAVA HOME is not set 到目前为止我已经尽力了 请帮
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • 15:00面试,15:06就出来了,问的问题有点变态。。。

    从小厂出来 没想到在另一家公司又寄了 到这家公司开始上班 加班是每天必不可少的 看在钱给的比较多的份上 就不太计较了 没想到9月一纸通知 所有人不准加班 加班费不仅没有了 薪资还要降40 这下搞的饭都吃不起了 还在有个朋友内推我去了一家互联
  • 一文让你快速写出高效的软件测试用例

    前言 编写测试用例的目的就是确保测试过程全面高效 有据可查 但要编写出高效的测试用例 需要搞清楚什么是测试用例 以及如何编写出高效的测试用例 接下来将从以下几个部分来进行展开 1 什么是测试用例 2 如何编写测试用例 3 软件测试学习资源分
  • Airtest自动化测试工具

    一开始知道Airtest大概是在年初的时候 当时 看了一下官方的文档 大概是类似Sikuli的一个工具 主要用来做游戏自动化的 通过截图的方式用来解决游戏自动化测试的难题 最近 移动端测试的同事尝试用它的poco库来做自动化 看样子还不错
  • 软件测试面试:还没有自动化测试项目经验,3个项目帮你走入软测职场!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Appium服务器未检测到通过wifi连接的设备

    did adb tcpip 5555 and adb connect ipaddress The adb devices显示设备 但是当我运行 appium 服务器时 它显示没有连接 Android 设备 appium python代码是
  • mac下appium的安装目录

    我已经从 MAC 终端安装了 appium 1 5 1 安装没问题 但由于某种原因我需要安装它的路径 谁能告诉我安装目录在哪里 如果您安装了 GUI appium 应用程序 您可以在 Mac 的 Launchpad 中单击其图标的应用程序
  • Appium - 创建会话 - 错误:应提供 JSONWP 或 W3C 功能

    我无法让 Appium 启动 Android 会话 并且在网上搜索时没有找到与我收到的错误消息相关的任何内容 当我运行测试时 Appium 转储此日志 debug MJSONWP Calling AppiumDriver createSes
  • 无法使用Appium + Android Studio 3.0 + Java 8

    我正在尝试使用 appium java 客户端进行 Android UI 测试 但是 我无法让它运行 这是我的 build gradle 和错误消息 apply plugin com android application android
  • iOS 模拟器 - 以编程方式禁用连接硬件键盘

    我正在编写依赖于显示软件键盘的 UITests 由于 CI 每次都会在全新的模拟器上启动测试 该模拟器已连接硬件键盘 因此不会提供软件键盘 是否可以设置一些设置 可能在架构中 以强制禁用模拟器连接硬件键盘 我正在使用 Cucumber ap
  • 使用 Cucumber JVM 运行测试时出现 UndefinedStepException

    我使用 Cucumber Junit Appium 开发移动应用程序的测试 当我尝试使用 Cucumber 和 JUnit runner 运行测试时 我收到 io cucumber junit UndefinedStepException
  • React-Native:哪种自动化 CI 工具最好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 React Native 社区 你们使用什么 CI 工具 我们的团队构建了一个react native ios应用程序 我们还有一个单独的测试团
  • 如何升级appium的chromedriver版本?

    尝试在 Chrome 版本 65 上运行 Appium 脚本时出现以下错误 selenium common exceptions WebDriverException 消息 未知错误 调用函数结果缺少 值 会话信息 chrome 65 0

随机推荐

  • 讯飞AI算法挑战大赛-校招简历信息完整性检测挑战赛-三等奖方案

    前言 本文公开了 讯飞AI算法挑战大赛 校招简历信息完整性检测挑战赛 赛道的技术方案和代码 本次比赛主要采用 pdf解析 和 特征工程 的方法 通过使用 lightgbm 的树模型10折交叉验证进行 二分类 的任务 最终取得三等奖的成绩 一
  • 【万字长文】搭建企业级知识库检索增强的大模型对话系统

    01 背景 ChatGPT和通义千问等大语言模型 LLM 凭借其强大的自然语言处理能力 正引领着人工智能技术的革命 但LLM在生成回复时 在 事实性 实时性 等方面存在天然的缺陷 很难直接被用于客服 答疑等一些需要精准回答的领域知识型问答场
  • React脚手架搭建

    React脚手架 脚手架 可以快速构建项目的基本架构 脚手架安装命令 可全局安装脚手架 创建项目 来到当前目录下 create react app 项目名 不要大写字母 运行项目 进到项目里 在项目目录下 执行 npm start 启动完项
  • 62_Spring整合SpringMVC

    Spring整合SpringMVC Configuration ComponentScan basePackages com wnx springmvc useDefaultFilters false includeFilters Comp
  • 中国知网职称论文查重官网入口 papergpt

    大家好 今天来聊聊中国知网职称论文查重官网入口 希望能给大家提供一点参考 以下是针对论文重复率高的情况 提供一些修改建议和技巧 可以借助此类工具 中国知网职称论文查重官网入口 背景介绍 作为中国最大的学术文献数据库 中国知网 CNKI 提供
  • 揭秘光耦合器继电器:了解技术奇迹

    光耦合器继电器 是现代电子产品的关键部件 在确保电路安全和效率方面发挥着关键作用 了解它们的功能和意义对于工程师和爱好者理解它们的应用至关重要 本文旨在揭开光耦合器继电器技术方面的神秘面纱 深入了解其功能 应用以及在电子领域的重要性 什么是
  • Webpack5

    一 Webpack基础 打包工具 将框架 React Vue ES6 Less Sass等语法编译成浏览器能识别的JS CSS 压缩代码 兼容性处理 提升代码性能等 一 entry 入口 指示Webpack 从哪个文件开始打包 二 outp
  • GEE 24:基于GEE实现高空间分辨率物种分布模型的模拟

    高分辨率物种分布模型模拟 1 加载数据并定义网格大小和范围 2 预测变量 3 定义模型拟合和交叉验证的空间块 使用未分类的卫星图像作为预测变量 以高空间分辨率对物种分布进行建模 1 加载数据并定义网格大小和范围 对于本例 我们从 GBIF获
  • 计算机毕设项目 - 停车位租赁管理系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2 1 界面展示 3 设计方案 3 1 概述 3 2 系统业务流程 3 3 系统结构设计 4 项目获取
  • 59_Spring整合MyBatisPlus

    Spring整合MyBatisPlus
  • 数据结构与算法之递归: LeetCode 93. 复原 IP 地址 (Typescript版)

    复原 IP 地址 https leetcode cn problems restore ip addresses 描述 有效 IP 地址 正好由四个整数 每个整数位于 0 到 255 之间组成 且不能含有前导 0 整数之间用 分隔 例如 0
  • 6.【自动驾驶与机器人中的SLAM技术】鲁邦核函数的含义和应用

    目录 1 给ICP和NDT配准添加柯西核函数 1 1 代码实现 2 将第1部分的robust loss引入IncNDTLO和LooselyLIO 给出实现和运行效果 3 从概率层面解释NDT残差和协方差矩阵的关系 说明为什么NDT协方差矩阵
  • BP神经网络原理,基于BP神经网络的去噪算法,基于BP神经网络的调制信号去噪

    目录 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络的激活函数 BP神经网络的传递函数 遗传算法原理 遗传算法主要参数 遗传算法流程图 完整代码包含数据下载链接 基于BP神经网络的去噪算法
  • 论文润色机构哪个好 快码论文

    大家好 今天来聊聊论文润色机构哪个好 希望能给大家提供一点参考 以下是针对论文重复率高的情况 提供一些修改建议和技巧 可以借助此类工具 标题 论文润色机构哪个好 专业 高效 可靠的学术支持 一 引言 在学术研究中 论文的质量和原创性是研究结
  • Stable Diffusion 微调及推理优化实践指南

    随着 Stable Diffsuion 的迅速走红 引发了 AI 绘图的时代变革 然而对于大部分人来说 训练扩散模型的门槛太高 对 Stable Diffusion 进行全量微调也很难入手 由此 社区催生了一系列针对 Stable Diff
  • 【RBF分类】基于蜣螂算法优化径向基神经网络DBO-RBF实现故障诊断附matlab代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 代码获取 论文复现及科研仿真合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab完整代码及仿真定制内容点击 智能优化算法 神经网络预测 雷达通信
  • CNN-LSTM-Adaboost回归预测 | Matlab基于卷积神经网络-长短期记忆神经网络Adaboost回归预测

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 代码获取 论文复现及科研仿真合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab完整代码及仿真定制内容点击 智能优化算法 神经网络预测 雷达通信
  • 【计算机毕设文章】新闻资讯微信小程序开发后端+php

    摘 要 随着我国经济迅速发展 人们对手机的需求越来越大 各种手机软件也都在被广泛应用 但是对于手机进行数据信息管理 对于手机的各种软件也是备受用户的喜爱 新闻资讯被用户普遍使用 为方便用户能够可以随时进行新闻资讯的数据信息管理 特开发了基于
  • 【计算机毕设文章】基于微信小程序的科创微应用平台

    基于微信小程序的科创微应用平台 摘要 随着信息技术在管理上越来越深入而广泛的应用 管理信息系统的实施在技术上已逐步成熟 本文介绍了基于微信小程序的科创微应用平台的开发全过程 通过分析基于微信小程序的科创微应用平台管理的不足 创建了一个计算机
  • 从零开始搭建自动化测试平台,构建自动化测试平台的最全指南!

    前言 随着软件开发的不断进步 测试工程师也需要跟上趋势并适应新的测试方法 自动化测试已成为现代测试领域中不可或缺的一部分 它可以提高测试效率 减少测试成本 并且可以避免人为错误对测试结果的影响 在这篇文章中 我们将介绍如何构建一个自动化测试