首页 > 编程语言 >34.Appium 源码修改定制

34.Appium 源码修改定制

时间:2023-12-26 11:12:20浏览次数:39  
标签:Appium 项目 改造 代码 appium 34 开源 源码 构建

为什么需要改造开源框架

  • bug fix
  • 增强功能
  • 提升性能

改造方式

  • 直接改造:直接改造开源框架,创建特性分支
  • 二次封装:不修改原有项目,直接进行上层封装
  • 插件改造:利用已有项目的插件或者扩展机制进行定制
  • 外挂改造:不修改原有代码的情况打补丁,利用 mock、hook 方法

维护开源项目的方式

  • fork 原有项目
  • 拉出新的分支进行修改
  • 通过 github、gitlab 平台发起 merge/pull request

appium 改造实例

  • fork 原始项目到远程个人仓库
  • clone 原始项目到本地
  • checkout 新的 feature 分支进行代码更新维护
  • push 到远程个人仓库进行代码版本化管理
  • 重新构建打包
  • 使用定制版本的 appium 完成自动化测试
  • 发起 pull/merge request 给原始仓库(可选)

底层结构

appium 的核心代码

  • appium: appium的核心代码,负责与底层引擎通讯,nodejs项目,npm构建
  • appium-uiautomator2-server: Android自动化引擎,java项目,gradle构建
  • wda: iOS自动化引擎

appium 项目

Java 项目

构建 npm 项目

npm run build

构建 gradle 项目

./gradlew clean assembleServerDebug assembleServerDebugAndroidTest

如何提升代码改造能力

  • 静态分析:深入阅读开源框架的源代码
  • 动态分析:掌握动态分析代码执行的能力
  • 设计经验:了解经典设计模式、数据结构与算法

标签:Appium,项目,改造,代码,appium,34,开源,源码,构建
From: https://www.cnblogs.com/csfsz/p/17927698.html

相关文章

  • 33.Appium 源码分析
    Appium所有的源代码AppiumserverNode.js系列包adbshellChromeDriver底层引擎UiautomatorjavaWDAseleniumAppiumclient:Python、JavaAppium体系 了解appium/package.json官方git仓库:https://github.com/appium/appium梳理调用......
  • SUS-Chat-34B领先一步:高效双语AI模型的突破
    引言在人工智能领域,模型的规模和效能一直是衡量其先进性的关键指标。南方科技大学联合IDEA研究院CCNL团队最新开源的SUS-Chat-34B模型,以其340亿参数的庞大规模和卓越的双语处理能力,在AI界引起了广泛关注。模型概述SUS-Chat-34B是基于01-ai/Yi-34B预训练模型,经过数百万高质量多语言......
  • 代码随想录算法训练营第二天 | 239. 滑动窗口最大值,347.前 K 个高频元素
    一、239.滑动窗口最大值题目链接:LeetCode239.滑动窗口最大值学习前:思路:无学习后:自定义双端队列,实现push、pop、peek方法,使得队列单调非增。peek方法不变;当入队时,若当前元素比队尾元素大,则pop队尾,直到队列为空或当前元素不大于队尾元素;当出队时,若队列非空且队首元素和窗......
  • Halcon 5分钟学会9点标定 带图片示例、示例源码
    9点标定应用流程如果没有9个点,其实只需要一个点就可以,移动机械手,只需将这个点在视野内不同坐标即可,前置条件,相机焦距,视野固定高度和角度,光源光强度固定。移动机械手,使用螺丝批头,在视野范围内的白纸上,点九个点,记录每个点位的位置,每个点位的顺序要和图像上获取的圆心数组顺序一致,此时......
  • JavaScript读写FM1208 CPU卡源码
    本示例使用的发卡器:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv=&quo......
  • JavaScript读写15693 ICod2 卡源码
    本示例使用设备:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="......
  • LIMS源码,规范样品化验分析的工作流程,对样品分析的环节进行监控和管理
    LIMS将样品管理、数据管理、资源管理、业务管理、报告管理等功能融为一体,组成一套完整的实验室综合管理和产品质量监控体系。其核心是规范样品化验分析的工作流程,对样品分析的每一个环节进行监控和管理,在提高样品分析质量和人员工作效率的同时,帮助实验室建立起一套完善的质量保证体......
  • 同城代厨做饭预约到家做饭做菜系统家宴app源码厨师入住+厨师端源码
    技术栈:thinkphp+vue后端、uniapp用户端+uniapp厨师端、mysql数据库预约厨师上门做饭系统·常用功能1、预约私厨2、查看订单3、服务评价4、在线支付预约厨师做菜系统·产品优势1、多种行业适配适用多种行业、不同场景。“不止做饭”:系统模式也支持其他类型的同城O2O行业进行管理,......
  • 【练习】爬虫-基础1 - GlidedSky 源码参考!
    网上有很多大佬为了帮助渣渣爬虫提升,都有搭建爬虫练习平台网站,这种网站的好处是可以练习爬取,同时网上也有很多参考教程,尤其适合学习练手使用。爬虫练习网站,镀金的天空-GlidedSky,爬虫-基础1,爬取网页上的数据,计算求和。爬虫-基础1“爬虫的目标很简单,就是拿到想要的数据。这里有一个网......
  • Python 爬虫,gk-design 网站作品信息采集爬虫源码!
    一个比较简单的爬虫源码,爬取gk-design网站作品信息,包括图片及文字内容信息,几乎没有限制,适合新人学习练手使用,文末附上源码供参考学习。小日子的网站随便爬,加大力度,使劲搞,适合Python爬虫新人练手使用和学习,如果你正在找练手网站,不妨尝试爬取下载数据。这里分享几个简单的数据整......