自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 ios webkit自动化测试工具之Iwdp -adapter

官网:https://github.com/RemoteDebug/remotedebug-ios-webkit-adapter安装:npm install remotedebug-ios-webkit-adapter -g然后运行,更新到最新版本:npm install -g [email protected]

2021-05-27 11:29:51 298

原创 chromedrive驱动webview

一些前提条件:1.手机必须安装chrome浏览器,并且Chromebrowser(version30+);2.电脑必须安装chrome浏览器,并且Chromebrowser(version33+);3.开发必须将webview设置为debug模式,webview.setWebContentsDebuggingEnabled(true);即调试模式。4.安卓手机必须4.4以上系统。一、最新的webdriver 协议版本中(W3C Editor's Draft 19 Feb...

2021-05-24 13:32:17 5598

原创 Android中Service的两种启动方式区别与适用场景

Service 作为Android中四大组件之一,日常开发中经常会使用到,本文主要讲解Service的两种启动方式,以及两种启动方式的区别,生命周期,以及适用的场景。Service是运行在主线程上的,是要依托android程序运行的,所以不能做耗时操作。分别有两种启动方式:一种startService() ,一种是bindService()。两种启动方式的生命周期不同:1、startService() 的生命周期 :onCreate() -> onStartCommand() (.

2021-04-02 20:47:09 3085

原创 Jenkins插件开发进阶篇之扩展插件功能

之前写过一篇文章是关于如何开发jenkins插件,主要讲述了开发jenkins插件时需要准备的环境,如何新建一个jenkins插件工程,以及对工程项目目录结构的解析。本文是jenkins插件开发的进阶篇,主要讲述如何扩展jenkins插件的功能。如下图所示:(1)Job任务侧边栏添加选项(2)在Job任务中添加新页面实现Jenkins插件以上两个功能,需要关注以下两个问题。1、  如何向Job项目...

2018-02-08 20:00:15 2456 4

原创 火线教你如何开发Jenkins插件

提到Jenkins,做测试工作的无论是小伙伴、大伙伴还是老司机都是比较熟悉的。网上大部分资料无非三种:Jenkins简介、如何启动Jenkins、如何安装和使用Jenkins插件。本文作为一个jenkins的进阶:教你如何开发一个jenkins插件。话不多说,让我们直接切入正题。如本文题目所示,我会以火线为例,逐步讲述一个jenkins插件从无到有的整个过程。有些细心的小伙伴可能就疑惑了,jenk

2017-04-17 18:35:55 8323 1

原创 使用Maven运行Java Main的三种方式

maven使用exec插件运行java main方法,以下是3种不同的操作方式。一、从命令行运行1、运行前先编译代码,exec:java不会自动编译代码,你需要手动执行mvn compile来完成编译。mvn compile2、编译完成后,执行exec运行main方法。不需要传递参数:mvn exec:java -Dexec.mainClass="com.v

2021-05-31 11:07:05 2222

原创 MAC远程桌面控制Ubuntu

1、ubuntu上安装x11vnc 服务$sudoapt-getinstallx11vnc2、配置vnc密码$x11vnc-store 1234563、启动vnc服务$x11vnc-forever-shared-rfbauth~/.vnc/123456ubuntu相关配置:进入系统的 desktop sharing 设置MAC上下载realVNC客户端下载链接:https://www.realvnc.com/en/connect/dow...

2021-05-31 11:05:32 2212

原创 后台启动appium服务

https://www.cnblogs.com/testway/p/9399456.htmlnohup appium --command-timeout 1000 -p 4723 -U bd3ea87f --log-timestamp --local-timezone >> appium.log 2>&1&nohup: 后台运行--log-timestamp: 日志中增加时间戳信息--local-timezone: 日志中增加时区信息>&g..

2021-05-31 11:04:50 724

原创 adb forward PC端向移动端通讯

adb forward tcp:8888 tcp:9999执行完该命令后,转发PC机8888端口的数据到手机的9999端口。adb forward --list查看一下转发是否成功,只有通过USB成功连接了手机该命令才能成功在PC端,adb forward创建了一个监听本机8888端口的server。通过adb 转发的数据,需要先发到8888端口,8888端口是约定好的,你也可以改成其他端口。netstat -a |findstr 8888查看8888端口的状态adb forw...

2021-05-31 11:04:14 427

原创 adb 命令查找app的包名

1.adbshellpm list package -f |grep 'appname'1、打开 app2.adb shell dumpsys window | grep mCurrentFocus3.adb shell dumpsys activity activities |grep app-package-name | grep realActivity找到realActivity对应的一项内容

2021-05-28 11:35:21 387

原创 adb命令 激活并设置默认输入法

1、安装输入法apkadb -sbd3ea87f install keyboard.apk2、检查是否安装成功adb -s bd3ea87f shell ime set com.android.adbkeyboard/.AdbIME当未安装adbkeyboard输入法时,会出现如下信息:Error: Unknown id: com.android.adbkeyboard/.AdbIME当已安装adbkeyboard输入法时,会返回为空:Input method com.a..

2021-05-28 11:35:03 1977

原创 adb 命令获取点击位置坐标

0035(宽) max 16020036(高) max 2503adb -s bd3ea87f shell getevent -p | grep -e "0035" -e "0036"0035 : value 0, min 0, max 1080, fuzz 0, flat 0, resolution 00036 : value 0, min 0, max 1920, fuzz 0, flat 0, resolution 0adb -s bd3ea87f shell wm size.

2021-05-28 11:34:39 3004

原创 python 如何将py脚本文件编译成so文件

1、使用setup.py文件文件内容:from distutils.core import setupfrom Cython.Build import cythonize setup(ext_modules = cythonize(["your_file.py"]))运行命令:python setup.py build_exttips:使用python3时会不兼容2、安装Cython、Gcccython -3 setting.py//生成setti...

2021-05-28 11:34:12 538

原创 UI设计图参数转换工具

2021-05-28 11:31:15 166

原创 Android 如何反编译apk查看源码

01 所需要的软件Apktool 反编译 xml 文件和 dex 文件,并可以将编译后的项目重新打包成 apk。 官方下载地址:Apktool 官方的速度有时候不稳定,也可以从我的网盘中下载:链接密码:xkao dex2jar 将 classes.dex 转换为「.jar」文件) 官方下载地址:dex2jar 我的网盘:链接密码:xkao jd-gui 查看「.jar」文件 官方下载地址:jd-gui 我的网盘:链接密码:xkao02 - 1 安装 Apktoo...

2021-05-28 11:30:47 1816

原创 chromedriver不支持哪些appium协议接口

// This is a set of methods and paths that we never want to proxy to Chromedriver. const CHROME_NO_PROXY = [ ['GET', new RegExp('^/session/[^/]+/appium')], ['GET', new RegExp('^/session/[^/]+/context')], ['GET', new RegExp('^/session/[^/]+/e.

2021-05-28 11:29:59 122

原创 uiautomator2-server 不支持哪些appium协议接口

const NO_PROXY = [ ['GET', new RegExp('^/session/(?!.*/)')], ['GET', new RegExp('^/session/[^/]+/alert_[^/]+')], ['GET', new RegExp('^/session/[^/]+/alert/[^/]+')], ['GET', new RegExp('^/session/[^/]+/appium/[^/]+/current_activity')], .

2021-05-28 11:29:17 142

原创 mysql 遇到hosts blocked

【错误】Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts';【原因】同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞;【解决】1、提高允许的max_connection_errors数量(治标不治本):① 进入Mysql数据库查看max_connection_errors: show vari.

2021-05-28 11:28:12 638

原创 Android 拨号键盘指令索引

不是所有手机都适用https://www.cnblogs.com/hellokitty2/p/11095925.html常见机型进入工程模式的指令码华为:*#*#121314#*#*努比亚:*#8604#魅族:*#*#3646633#*#*小米:*#*#6484#*#* 或 *#*#64663#*#*三星:*#0*#HTC:*#*#3424#*#*联想:####1111#中兴:*983*3640#索尼:*#*#7378423#*#*vivo:*#558#.

2021-05-28 11:27:29 3826

原创 appium中相关ios自动化测试框架说明

IOS相关驱动name:Instrument:为了支持ios 9.3以前的系统底层框架使用的是uiautomation框架,最大的弊端就是每台mac只能挂载一台设备。XCUITest:(iOS 9.3+) 驱动链接:https://github.com/appium/appium-xcuitest-driver#desired-capabilitiesappium-xcuitest-driver中:native相关的操作使用的是WDA框架,web view相关的操作使用的是ios-webki

2021-05-27 11:32:45 231

原创 ios-webkit-debug-proxy 说明

支持IOS 13.0以下参考:https://github.com/google/ios-webkit-debug-proxy工作原理图:启动命令,直接:ios_webkit_debug_proxy--debugfor verbose output. --frontendto specify a frontend --helpfor more options. Ctrl-Cto quit. Also, the proxy can be left running as a b...

2021-05-27 11:31:39 1455 3

原创 IOS自动化测试

Appium 在 iOS 下工具的变革iOS 9 之前一直以 instruments 下的 UIAutomation 为驱动底层技术(弊端由于 instruments 的限制,单台 mac 只能对应单台设备); iOS 9.3 时代推出 XCUITest 工具,用以替代 UIAutomation; iOS 10 时代苹果直接废弃了 UIAutomation、Facebook 推出 WebDriverAgent(实现的 server 能够支持单台 mac 对应多个设备); Appium 在 iOS

2021-05-27 11:30:52 909 6

原创 maven工程获取resource中的文件路径

String root = WebkitDriver.class.getResource("").getPath();file:/Users/**/.m2/repository/com/test/mytest/test.1.0-SNAPSHOT.jar!/com/test/mytest/WebkitDriver.class.getResource("").getFile()file:/Users/**/.m2/repository/com/test/mytest/test.1.0-SNAP.

2021-05-27 11:26:53 435

原创 rpc 原理

1、基本概念以及简单例子介绍:https://www.jianshu.com/p/7d6853140e132、java 相关的框架与使用方式:https://www.cnblogs.com/crazylqy/p/7995395.html

2021-05-27 11:26:12 110

原创 获取jar包中资源文件的内容

1、现货区文件的输入流eg.静态资源的路径在/rootProject/resource/atoms/clear.jsWebkitDriver.class.getClassLoader().getResourceAsStream("atoms/clear.js"));2、直接读取输入流。

2021-05-27 11:25:47 139

原创 python-web项目打包部署方式

第一种方式:1.1 导出项目依赖包:pip freeze > requirements.txt1.2 先将本地包打包到packages目录下:pip download -d packages/ -r requirements.txt1.3 然后到将包离线安装到执行环境:pip install --no-index --find-links=packages/ -r requirements.txt第二种方式:使用setup.py文件,配置依赖包:然后到执.

2021-05-27 11:23:42 2936

原创 python 各种虚拟环境工具对比

1、conda分为anaconda和miniconda,anaconda包含一些软件包,miniconda为精简版。适用于 Linux,OS X 和Windowsconda与venv区别:如果说venv是虚拟环境管理器,pip是包管理器,那么conda则是两者的结合。遗憾的是conda的包管理器做的一般且会安装过多依赖如TensorFlow自动安装cudnn(在主机配置了cudnn的情况下),大多数时候还是使用pip安装包。但是,注意,pip只能安装Python的包,conda可以安装.

2021-05-27 11:22:02 1532

原创 移动端cpu、内存的获取方式

cpu:1、top命令Usage: top [-m max_procs] [-n iterations] [-d delay] [-s sort_column] [-t] [-h]-m num Maximum number of processes to display. //最多显示多少个进程-n num Updates to show before exiting.//刷新次数-d num Seconds to wait between updates. ...

2021-05-26 16:37:24 459 3

原创 adb unauthorized 解决方案

查看Android设备的vid和pid方式adb shell查看VID:(oppo r9sk:22d9)cat/sys/class/android_usb/android0/idVendor查看PID:(oppo r9sk:276c)cat/sys/class/android_usb/android0/idProduct在PC端~/.android/目录下新建adb_usb.ini文件,有则不用新建。打开输入VID。...

2021-05-26 16:35:58 11964

原创 日常开发工作中,git的常用命令

1.本地提交后,未提交到远程仓库,撤销最近一次提交git log 查看最近提交的日志git reset HEAD~git status查看最新的文件状态,重新做提交2. 更改本地仓库的提交链接git remote -v 查看仓库链接地址git remote set-urloriginssh://[email protected]:8888/test/code/project3.更改仓库提交用户和emailgit config --list 查看当前的配置...

2021-05-26 11:03:38 82

原创 docker 常见命令

1.增加本地用户到docker组sudo groupadd dockersudo usermod -aG docker $(whoami)2、启动docker后台服务,命令如下:sudo service docker start3、测试docker安装成功,命令如下:docker run hello-world4、常用命令1)查看已经运行的容器:docker ps2)登录容器,执行bash命令:docker exec -it container_name.

2021-05-26 11:02:23 667

原创 如何使用docker创建镜像

TIPS:本文只作个人记录,后续空闲时间会整理文章逻辑,更新内容。1、docker的运行过程到仓库下载拉取对应的image,启动一个容器,类似镜像的一个实例,项目代码运行在容器中。使用docker服务,首先启动docker服务sudo service docker start2、docker的基本命令1)查看已经运行的容器:docker ps2)登录容器,执行bash命令:docker exec -it container_name /bin/bash3)显示本地的镜像:dock

2021-05-26 11:00:31 551

原创 python中查看导入模块的版本

版本查看方式:1、打开终端,输入python3,进入python3.7的环境2、输入以下内容:import skimageskimage.__version__

2021-05-24 13:30:55 601

原创 *args和** kwargs中*号的意义Python

*和 **用于解包字典时的不同:*解包得到字典的key ,**把字典解包成 key=value 的格式*args 用来将参数打包成tuple给函数体调用args是tuple类型deffunction(x,y,*args):print(x,y,args)function(1,2,3,4,5)**kwargs的使用方法**kwargs 打包关键字参数成dict给函数体调用注意点:参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是...

2021-05-24 13:30:13 111

原创 ffmpeg 常见操作命令

1、视频剪切经常要测试视频,但是只需要测几秒钟,可是视频却有几个G,咋办?切啊!下面的命令,就可以从时间为00:00:15开始,截取5秒钟的视频。ffmpeg -ss 00:00:15 -t 00:00:05 -i input.mp4 -vcodec copy -acodec copy output.mp4-ss表示开始切割的时间,-t表示要切多少。上面就是从开始,切5秒钟出来。2、抓取视频的一些帧,存为jpeg图片ffmpeg -i input.mp4 -ss 00:00:20 -t 10

2021-05-24 13:29:01 180

原创 ubuntu 防火墙常见操作命令

1、启动防火墙modprobe ip_tables2、关闭防火墙iptables -Fiptables -Xiptables -Ziptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPTmodprobe -r ip_tables

2021-05-24 13:27:36 275

原创 docker 连接外部移动设备adb+appium配置

adb连接:--privileged -v /dev/bus/usb:/dev/bus/usb1、首先主机杀掉adb 服务:adb kill-server2、docker中使用--privileged -v /dev/bus/usb:/dev/bus/usb重新启动容器

2021-05-24 11:56:01 1256

原创 ubuntu 安装docker

TIPS:本文只作个人记录,后续空闲时间会整理文章逻辑,更新内容。tips:1、Docker 要求 Ubuntu 系统的内核版本高于 3.10查看本系统的内核版本命令:uname -r安装步骤1、获取最新版本的docker安装包,命令如下:wget -qO- https://get.docker.com/ | sh2、当要以非root用户可以直接运行docker时,需要执行sudousermod-aGdocker$(whoami)命令,然后重新登陆,否则会有如下报错...

2021-05-24 11:54:44 5248 2

原创 Mac 安装旧版本Xcode教程以及出现文件已损坏的解决办法

MacOS mojave10.14.6如果Mac系统版本不是最新的,无法在Appstore中直接搜索xcode 安装最新版本。如何安装老版本呢?1、打开并登录自己的appleId账号,https://developer.apple.com/download/more/如下图,搜索xcode 11.3 ,点击右边【Xcode 11.3.1.xip】下载文件到本地。2、双击,已下载好的xcode文件,你可能会遇到如下错误:提示:Xcode_11.3.1.xip 已损坏,不能展...

2021-05-14 16:20:25 7211 6

原创 Mac配置环境变量后无法永久生效

前景,换了台新Mac,配置各种环境,发现执行完source ~/.bash_profile后,当前会话是可以生效的。重新开启新的session无法生效,重新启动电脑后依然无法生效。先简单介绍下Mac环境变量的加载相关的知识。Mac 一般以bash作为默认的shell。Mac加载环境变量的顺序如下:1、/etc/profile 系统级别2、/etc/paths 系统级别3、~/.bash_profile4、~/.bash_login5、~/.profile6、~/...

2021-04-09 17:46:02 782

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除