软件测试|一键搞定centos7的docker+selenium+appium+jenkins+android_app源码打包成apk的环境搭建

简介: 软件测试|一键搞定centos7的docker+selenium+appium+jenkins+android_app源码打包成apk的环境搭建

一键搞定centos7的docker+selenium+appium+android apk包+jenkins搭建

git源码:

https://github.com/a376230095/centos7_apkbuild/tree/master

简介

  • 启动项目的start_all.sh,一键构建环境
  • 安装完包含的环境

    • docker-ce最新版本
    • selenium运行环境

      • chrome无头运行
      • chromedriver是84
    • appium运行环境

      • appium 1.18版本
      • 包含appium-docker
    • sdk运行环境

      • adb 1.0.41
      • sdk build有29.0.3和28.0.3 - sdk编译环境是28 29
    • jenkins运行环境

      • 集成大量插件

项目运行的前提条件:

  • 仅支持centos7的系统
  • 系统内核要大于3.10
  • 需要root权限下运行
  • 运行前建议弄好快照
  • 一键运行可能需要1小时的时间,请耐心等待,断网了,需要恢复快照
  • 网络要通,具备基础的命令
  • ==运行完毕后需要重启电脑,并手动启动jenkins,docker start jenkins==
  • 如果不运行docker.sh,先安装如下命令
yum install -y unzip
yum install -y wget
yum install -y exepct
yum install -y net-tools
yum install -y lrzsz
yun install -y zip

项目的一些bug

  • ==如果jenkins无法启动,运行命令:docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /root/jenkins:/var/jenkins_home jenkins/jenkins:lts==
  • 构建apk如果出现licenses 29的问题,解决方法,运行sh_file的install_sdk.sh
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
> Failed to install the following Android SDK packages as some licences have not been accepted.
     platforms;android-29 Android SDK Platform 29
  To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
  Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html
  
  Using Android SDK: /usr/local/android-sdk-linux

项目文件结构以及运行顺序

  • sh_file 存放环境搭建的shell脚本

    • docker.sh 搭建docker环境
    • python.sh 搭建python3和pip环境
    • selenium.sh 搭建selenium无头运行环境
    • android.sh 搭建sdk环境
    • appium.sh 搭建appium环境
    • jenkins.sh 搭建jenkins环境
    • ssh.sh 获取ssh的的公钥和私钥
    • build_app_installGit.sh 打包app的源码为apk,并安装git,只能重启后才能运行
  • py_file

    • selenium_test.py 是测试selenium是否成功运行
    • appium_test.py 是测试selenium是否成功运行
  • start_all.sh 一键启动项目

项目资料补充

  • sdk的路径:/usr/local/android-sdk-linux
  • java路径:/usr/lib/jvm/java-1.8.0-openjdk
  • build_app_installGit.sh脚本介绍

    • 由于子shell中source /etc/.bashrc在其他shell中无效,所以只能重启linux,才能找到ANDROID_HOME的环境变量
    • 项目源码来源于佘哥,感谢指点提供
    • 用的是29.0.3的build
    • gradlew是个好东西,都不用我们去配置gradle了
  • appium_test.py 文件

    • 需要修改里面的devicename
    • 需要安装雪球apk,或者自行修改package和activity
    • 只要能进入雪球,就判断ok
    • 运行:pytest appium_test.py
  • jenkisn项目

    • 账号:amdin,密码:1234
    • slave是本机,名字为linuxenv,但需要修改,修改成自己的ip地址,配置好ssh
    • linuxenv的工作目录是/root/slave
    • build_app_test任务直接在slave运行,已经配置好git和构建后apk的产出,运行后就会把apk放到jenkins上了
  • 运行了ssh.sh后,会在项目中生成key文件,直接复制粘贴到jenkins配置的ssh的秘钥上即可,包含公钥和私钥信息
相关文章
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
630 5
|
12月前
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
1716 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
412 31
Selenium IDE:Web自动化测试的得力助手
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
431 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
|
Java 测试技术 应用服务中间件
Spring Boot 如何测试打包部署
本文介绍了 Spring Boot 项目的开发、调试、打包及投产上线的全流程。主要内容包括: 1. **单元测试**:通过添加 `spring-boot-starter-test` 包,使用 `@RunWith(SpringRunner.class)` 和 `@SpringBootTest` 注解进行测试类开发。 2. **集成测试**:支持热部署,通过添加 `spring-boot-devtools` 实现代码修改后自动重启。 3. **投产上线**:提供两种部署方案,一是打包成 jar 包直接运行,二是打包成 war 包部署到 Tomcat 服务器。
380 10
|
JavaScript 测试技术 Windows
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)
本文介绍了如何使用vue-cli和webpack为Vue项目配置不同的生产和测试环境,包括修改`package.json`脚本、使用`cross-env`处理环境变量、创建不同环境的`.env`文件,并在`webpack.prod.conf.js`中使用`DefinePlugin`来应用这些环境变量。
1338 2
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)
|
JavaScript 前端开发 测试技术
精通Selenium:从基础到高级的网页自动化测试策略
【10月更文挑战第6天】随着Web应用变得越来越复杂,手动进行功能和兼容性测试变得既耗时又容易出错。自动化测试因此成为了现代软件开发不可或缺的一部分。Selenium是一个强大的工具集,它支持多种编程语言(包括Python),允许开发者编写脚本来模拟用户与Web页面的交互。本文将带领读者从Selenium的基础知识出发,逐步深入到高级的应用场景,通过丰富的代码示例来展示如何高效地进行网页自动化测试。
2196 5
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
195 3
|
Web App开发 缓存 Linux
高效Selenium测试技巧:轻松控制已开启的浏览器
【10月更文挑战第13天】在进行Selenium测试时,通常会启动新浏览器实例,但有时需要控制已开启的浏览器,以节省时间并更真实地模拟用户行为。这可通过设置Chrome为可远程控制并使用`Remote WebDriver`连接实现。需在启动Chrome时添加`--remote-debugging-port`参数,并通过Python脚本中的`webdriver.Remote`连接至指定端口。此外,还可利用会话ID(Session ID)重新连接浏览器,提高测试灵活性。需要注意浏览器版本兼容性及元素定位稳定性等问题,确保测试准确性和一致性。
1236 1