Appium修改源码后重新编译
按照官方的说明下载源码,安装依赖库,具体可从这来:
https://github.com/appium/appium/blob/master/docs/en/contributing-to-appium/appium-from-source.md
基本上只要三条命令就可以了:
git clone https://github.com/appium/appium.git
cd appium
npm install
gulp transpile
node .
这样就可以起起来appium server:

这时修改了appium/node_modules/appium-base-driver/lib/mjsonwp/mjsonwp.js 里的路由部分,加入一条console.log语句:

要想生效,需要在appium/node_modules/appium-base_driver目录下运行:
gulp transpile
会生成build目录,这才可以生效。
想到在最外层的appium目录下的gulpfile.js中定义一个可以重新编译的task:
// rebuild所有gulpfile.js
var exec = require('child_process').exec
gulp.task('rebuildAll', function () {
// 当前build
exec('gulp transpile', function (err, stdout, stderr) {
exec('gulp transpile', function (err, stdout, stderr) {
console.log(__dirname + 'build done')
})
})
fs.readdirSync(path.join(__dirname, 'node_modules')).forEach(function (dir) {
var modulePath = path.join(__dirname, 'node_modules', dir)
if(fs.existsSync(path.join(modulePath, 'gulpfile.js'))) {
exec('gulp transpile', {cwd: modulePath}, function (err, stdout, stderr) {
console.log(modulePath + ' build done')
})
}
})
})
对gulp不太熟,写的有点糙,可以只编译改动的部分,但这里一律重编译.
这样,在WebStorm,只要跑这个gulpfile.js里的rebuildAll就可以让修改的代码生效了.
Appium修改源码后重新编译的更多相关文章
- openvswitch2.11.0修改源码后重新编译(2)
一:前提 已经正常安装了SDN环境(mininet和openswitch2.11.0和Ryu) 使用前面教程安装环境SDN实验---使用git安装Mininet (一)测试ovs是否正常使用 1.ry ...
- openvswitch2.11.0修改源码后重新编译
一:推文 https://www.jianshu.com/p/923f49c290f5(可以删除运行当中的DataPath内核) https://github.com/ebiken/doc-netwo ...
- [delphi]修改indy源码后重新编译
http://blog.csdn.net/nerdy/article/details/8702568 虽然indy有一身的毛病,但是一般情况下使用起来还是多方便的. 今天在做一个使用到indy的程序的 ...
- 利用src.rpm包修改源码后重新制作rpm包
1. 下载 .src.rpm包.例:https://repos.fedorapeople.org/repos/openstack/EOL/openstack-grizzly/epel-6/openst ...
- 下载Dubbo源码后的编译安装启动
1:安装jdk,maven 配制环境变量: 2:安装zookeeper 配制zookeeper环境变量 3:把dubbo源码编译成war包 启动cmd黑窗口 ,进入 源码文件 ...
- Tomcat修改源码,重新编译
源码和编译的区别:源码不能直接运行,是人读的,而编译后的程序是计算机可以读的.所以它们是不同的语言.
- 修改Electron的libcc(libchromiumcontent)源码,重新编译electron, 设置event.isTrusted为true
VPN非常注意: 编译的过程需要使用VPN, 否者chromium的源代码无法下载, 后面会出现总总问题 Electron的编译环境, 推荐使用物理机: win10 64位 英文版, 为了避免后期出现 ...
- Hadoop 修改源码以及将修改后的源码应用到部署好的Hadoop中
我的Hadoop版本是hadoop-2.7.3, 我们可以去hadoop官网下载源码hadoop-2.7.3-src,以及编译好的工程文件hadoop-2.7.3, 后者可以直接部署. 前者hadoo ...
- Sentinel控制台1.8.3修改源码,修改配置后推送到Nacos
目录 1. 接着上一篇 2. 思路 3. 下载Sentinel源码 4. 看Gateway里面读取的配置信息 5. 修改Sentinel控制台源码 6. 熔断规则测试 7. 限流规则测试 8. 打包使 ...
随机推荐
- OA_1界面
<%@ page language="java" contentType="text/html;charset=GB18030" pageEncoding ...
- Java throw try catch
public class Runtest { public static void main(String[] args) { // TODO Auto-generated method stub T ...
- 使用qemu-img创建虚拟磁盘文件
# 安装qemu-img yum install -y qemu-img # 获取帮助 qemu-img --help # 支持的虚拟磁盘文件格式 Supported formats: vvf ...
- 数学口袋精灵感受与BUG
232朱杰 http://www.cnblogs.com/alfredzhu https://github.com/alfredzhu/ 组长,团队 230蔡京航 http://www.cnblogs ...
- WordPress使用淘宝IP地址库的API显示评论者的位置信息(二)
1 淘宝IP地址库的接口说明 在上一篇文章<WordPress使用淘宝IP地址库的API显示评论者的位置信息(一)>中,vfhky使用了新浪工具提供的这个IP接口显示博客评论者的位置信息. ...
- 大型Java web项目分布式架构演进-分布式部署
http://blog.csdn.net/binyao02123202/article/details/32340283/ 知乎相关文章https://www.zhihu.com/question/2 ...
- Viewpoint Meta标签
移动web Viewpoint常用得设置方式: [布局viewpoint] = [设备宽度] = [度量viewpoint] <meta name="viewport" co ...
- JMeter脚本强化之检查点
上一篇讲述了对脚本做参数化的两种方法,并对参数化设置结果做了简单的验证,就是通过添加断言.本篇将详细一点介绍怎么使用断言做文本检查,或者叫做设置检查点. 首先来看看下面的三个图,这三个图是用查看结果树 ...
- 【Python】Python 猜年龄的游戏
游戏规则: 允许用户最多尝试3次 每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序 如何猜对了,就直接退出 age= cou ...
- "流量监管"和"流量整形"的区别
"流量监管" (Traffic Policing) 就是对流量进行控制,通过监督进入交换机端口的流量速率,对超出部分的流量进行"惩罚" (采用监管方式时是直接丢 ...