自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

harrain的博客

不要试图追求安全感,周遭环境从来都不会有绝对的安全感,如果你觉得安全,很可能暗藏危机。真正的安全感,来自你对自己的信心,是你每个阶段性目标的实现,而真正的归属感,在于你的内心深处,对自己命运的把控。

  • 博客(176)
  • 资源 (4)
  • 收藏
  • 关注

原创 阿里云运维记录

远程终端连接:ssh root@120.26.71.16nginx配置所在路径:/etc/nginx/nginx.conf停止nginxnginx -s stop重启nginxnginx -s reload

2022-03-05 15:27:24 2849

原创 创建ElasticSearch索引和修改Mapping及字段类型

Elasticsearch怎么修改索引字段类型? 由于ElasticSearch没有像mysql一样可以直接字段数据类型的方法,因此需要通过创建中间索引:data_index_1,备份数据到中间索引:data_index_1,然后删除原索引: data_index,重新创建正确数据类型索引:data_index,再把中间索引:data_index_1的数据备份到新创建索引:data_index。语句通过kibana的 dev_tools/console 执行。操作步骤如下:复制代码创建一个中间索

2022-01-12 15:20:01 1819

原创 webstorm merge合并工具在哪

使用webstorm的菜单栏VCS-git pull,或者在最下面菜单Git(老版本叫Version Control)里右键点击其他branch 点Merge into current; 以上触发 merge操作,会自动弹出冲突merge窗口。如果是在命令行git merge xxx。那么在左侧commit-localChanges(老版本在最下面Version Control菜单里Local Change)下会显示Confilct Merge, 点击后也会弹出冲突Merge窗口。...

2021-01-22 10:59:14 1133

原创 prepare debug support for iphone解决

当我们把真机调试包放到Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 下,重启xcode,后发现xcode还在prepare debug support for iphone。其实就是Xcode并没有将devicesupport的img正常解析出来。那么怎么办。进入到 /Users/用户/Library/Developer/Xcode/iOS DeviceSupport里面,把其他Mac上关于这个系统版本的目录及子文件拷贝过来就行

2021-01-08 17:23:21 245

原创 记一次Segmentationfault11的愚蠢错误

文章目录Segmentation fault: 11常见的几种情况:如何在程序中寻找段错误?错误:Segmentation fault: 11segmentation fault 即段错误,一般都是出现了非法的地址写法操作导致的。Segmentation fault: 11常见的几种情况:1、空指针访问。如果指针为空(NULL), 那么对空指针的读写操作都会导致segmentation fault。2、指针指向非法区域后的写操作。C语言的指针指向了非法区域,然后对其写入,会带来不可预知后果,

2021-01-04 11:16:04 11384

原创 c语言疑惑与解惑

char buffer[33333];sizeof是33333。当作为地址传递传入到函数中,在函数中再sizeof(buffer)就是8了,但不影响memcpy.char buffer[33333];int handlers(char *buffer, uint32_t *buffer_size) { printf("sizeof : buffer %d", sizeof(buffer)); //是8}int main(){ printf("sizeof : buffer %d", s

2020-12-29 21:09:38 157 1

原创 c报错pointer being freed was not allocated

itcpip(7718,0x700007d43000) malloc: *** error for object 0x10660cc67: pointer being freed was not allocateditcpip(7718,0x700007d43000) malloc: *** set a breakpoint in malloc_error_break to debug Abort trap: 6错误的将char *tarUdid = "82ed23013561d651a1de05

2020-12-29 21:04:39 2486

原创 rm除了某个文件和某个文件以外全部删除

find . ! \( -name SystemConfiguration.plist -o -name b691ac85a1654f608d1cab832baa45ea71a25f74.plist \) -exec rm -f {} \;括号内以 -o 串联留下需要保留的文件。 格式必须一样,其中的空格不能删

2020-12-14 16:49:15 1312

原创 特殊机型问题处理

魅族flyme支付保护会短暂关闭USB连接如何关闭flyme支付保护1、进入手机管家。2、右上方有一个设置按钮,点击进入。3、进入设置页面以后,找到“flyme支付安全”选项关闭即可。

2020-12-10 10:44:58 781 1

原创 node区分mac\linux系统查找空闲可用端口

/** * 获取可用端口 * @param ports 既定的端口范围,从该端口范围寻找空闲端口 */module.exports.getFreePort = function(ports) { if (ports.length === 0) { log.info('分配端口已达最大限额') return null } const os = require('os'); var port = ports.shift() const {execSync} = req

2020-11-24 14:27:57 794

原创 记一次stf开发中通过reply发消息后前台收不到的情况

没有崩溃,通过如下代码发消息router.on(wire.OpenMessage, function(channel, message) {//收到前台websocket/index层发送的OpenMessage,后,通过reply发送TransactionDoneMessage,(TransactinService的作用,返回应答给前台) var reply = wireutil.reply(options.serial) push.send([ channe

2020-11-19 20:30:16 170

原创 appium源码解读(一)之appium是如何定位元素的

当python脚本执行 find_element函数时,首先调用到 webdriver.py下的find_element函数。self.execute是在selenium/webdriver/remote/webdriver.py, def find_element_by_id(self, id_): """Finds an element by id. """ return self.find_element(by=By.ID, value=id

2020-11-19 01:05:04 923 1

原创 node获取可用端口的同步尝试

文章目录序第一种失败尝试第二种成功尝试序如果想直接用异步回调的方式, then这种,看这位兄台的博客就可以nodejs检查端口是否被占用(完美方案)而我是想用同步写异步的方式去做 (async+await)第一种失败尝试var Promise = require('bluebird')const net = require('net');async function getFreePort() { while (true) { var port = debugP

2020-11-18 11:49:41 699

原创 stf报错问题汇总

文章目录Cannot read property '$code' of undefinedCannot read property ‘$code’ of undefinedTypeError: Cannot read property '$code' of undefined at Object.transaction (/Users/renzhicheng/Documents/renzhicheng/mirage/lib/wire/util.js:35:34) at Socket.&l

2020-11-17 20:29:25 542

原创 stf问题混总

文章目录Command 'xcodebuild' not found. Is it installed?Command ‘xcodebuild’ not found. Is it installed?背景: xcodebuild在本地终端执行,没问题。猜测是node和系统某种微妙关系解决: So ,重启MAC。

2020-11-05 14:56:38 168

原创 WDA问题混总

文章目录unable to access DB:WebDriverAgentLib codesign失败WebDriverAgentLib codesign failure.unable to access DB:多个xcode线程在跑,杀掉xcode, 杀掉xcodebuild进程 , cleanWebDriverAgentLib codesign失败环境:mac 10.14.5xcode 10.3报错: Command Codesign failed with a no

2020-11-05 11:08:37 1058

原创 Mac终端Screen命令使用指南-起一个在后台不会被杀死的服务

文章目录创建会话运行作业与会话detach以及会话恢复查看会话状态更换窗口结束会话和作业创建会话使用命令“screen -S RunWork”来创建一个screen会话,命令执行之后,就会得到一个新的shell窗口,为了便于标示可以用快捷键Ctrl-a A(就是按下Ctrl+a键,然后按下shift+a),这样窗口上光标会提示给窗口重命名。输入名称“RunWorkWindow”之后,回车就完成了对该窗口的重命名。这里的重命名是为了避免混淆同一会话中的不同窗口,可以用Ctrl+a w快捷键来查看当前的窗口

2020-09-29 20:46:29 3811

原创 Android UiAutomator2 pinch捏合缩放手势源码探究

只能在AndroidTest里运行UiDevice myDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); try { myDevice.findObject(new UiSelector().text("element text to be found")).pinchIn(50, 10); //to zoom in myDevice.fi

2020-09-23 19:14:48 1376

原创 stf源码解读之ControlService-sendTwoWay(socket.io)双向通信

文章目录前言touchDown与installsendOneWay与sendTwoWay疑点TransactionService后台的消息发哪去了前言本文主要解读ControlService的sendTwoWay和sendOneWay的区别,sendTwoWay函数怎么实现双向通信的。touchDown与install我们看到 res/app/components/stf/screen/screen-directive.js有这样的调用方式control.touchDown(nextSeq(),

2020-08-30 13:14:28 486

原创 angularJS中service、factory、provider使用和区别

目录前言angular 三种ServiceFactoryServiceProvider总结致谢前言大家应该知道,AngularJS是后台人员在工作之余发明的,他主要应用了后台早就存在的分层思想。所以我们得了解下分层的作用,如果你是前端人员不了解什么是分层,那么你最好问问你后台的小伙伴。dao层:就是Model层,在后台时,这一层的作用,就要是写与数据库交互数据的一层,在angularJS里就主要是写ajax的。service层:主查写逻辑代码的,但在angularJS里也可以持久化数据(充当数据容器

2020-08-29 17:08:46 615

原创 stf二次开发之【日志优化】对某个单独的part加日志

目录前言logger使用解读重定向iproxy和wda的日志iproxywda前言开发和解读的stf代码基于Github mrx1203的代码wda代码基于Github mrx1203的代码我们都知道 nohup ./bin/stf local 可以让stf的日志重定向到nohup.out中,方便线上调试时查看日志。但有个问题就是一旦日志太多了,想查找iproxy或者wda的日志难上加难(iproxy、wda的日志太多,刷屏的那种)。所以对iproxy和wda的日志单独保存需要提上日程。

2020-08-28 16:28:55 440

原创 stf二次开发之集成highcharts绘制图表(js图表库)

目录简介必须要依赖的highcharts css必须要依赖的highcharts js文件如何使用highcharts API绘图高度定制查看get-start 和 api referencestf集成拷贝所需的highcharts js文件引用highcharts js文件定义一个div id为cpu-canvas最后效果图简介highcharts官网: https://www.highcharts.com/highcharts文档: https://www.highcharts.com/docs/

2020-08-25 13:30:23 325

原创 有关配置文件和签名问题

Provisioning profile “WebDriverAgentTestRunner_2020-08-04_dev” has app ID “cn.com.10jqka.WebDriverAgentTestRunner”, which does not match the bundle ID “cn.com.10jqka.WebDriverAgentTestRunner.xctrunner”.点击项目的通用配置下,点击WebDriverAgentTestRunner target, Build

2020-08-19 17:50:35 975

原创 Incompatible integer to pointer conversion

Incompatible integer to pointer conversion assigning to ‘NSInteger *’ (aka ‘int *’) from ‘NSInteger’ (aka ‘int’)用[NSNumber numberWithInteger:id]转换.Incompatible integer to pointer conversion assigning to ‘CGSize *’ (aka ‘struct CGSize *’) from ‘CGSize’ .

2020-08-19 17:37:41 6811

原创 不想更新系统和Xcode但想用ios13和14的朋友看过来

怎么用低版本xcode支持使用ios13和ios14的真机点击下载 ios 13.0 13.1 13.2 13.3 13.4 13.5 13.5.1 13.6 14.0 的 devicesupport 。解压后,把压缩包里面的所有文件夹拷贝到 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/ 下重启xcode...

2020-08-18 16:46:04 1487

原创 ERROR: Could not connect to lockdownd

执行 ideviceinfo -u 和 ideviceinstall -l时,报错ERROR: Could not connect to lockdownd解决办法先断开所有连接PC的iOS设备执行brew uninstall libimobiledevicebrew install --HEAD libimobiledevicebrew link --overwrite libimobiledevicebrew install --HEAD ideviceinstallerbre

2020-08-10 11:03:59 2781

原创 集线器、网桥、交换机、路由器、网关的区别

集线器 Hub如果每个设备只有一个对外接口,那么意味着只能建立一对点好点的通信。为了能够让通信“一对多”,需要将信号复制广播,于是,产生了集线器。集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。集线器与网卡、网线等传输介质一样,属于局域网中的基础设备,采用CSMA/CD(一种检测协议)介质访问控制机制.网桥 bridge多个集线器连接在一起,但是由于是广播通信,互相冲突

2020-08-09 19:14:04 2023

原创 /usr/local/share/fish/vendor_completions.d is not writable

在执行brew link carthage时,报错 如下Linking /usr/local/Cellar/carthage/0.35.0... Error: Could not symlink share/fish/vendor_completions.d/carthage.fish/usr/local/share/fish/vendor_completions.d is not writable.解决办法:1.sudo chown -R $(whoami) /usr/local/shar

2020-08-07 13:18:38 1198

原创 20200713

用XCode11新建一个工程支持的最小iOS版本小于iOS13的话,XCode控制台会爆出[Application] The app delegate must implement the window property if it wants to use a main storyboard file.的提示。遇到了这个问题,在打开APP内容的时候一片黑,如何解决呢?其实很简单啊。Apple对APP的生命周期略做了更改@synthesize window = _window;Unhandled r

2020-07-15 16:12:52 337

原创 stf二次开发之添加前端扫码并远程打开浏览器访问网页

需求在前端网页上传二维码图片,js解码后解析出网页链接控制远程手机启动浏览器访问该网页链接分析js解码库确定使用reqrcodejs,使用简单打开浏览器可以参考stf源码中的browseropen前端部分如图所示,在手机控制工具栏一侧增加扫码标签页。点击呈现扫码页。选择二维码文件上传点击解析二维码并打开手机浏览器访问网页链接 按钮,就可解析出二维码包含的链接并在手机浏览器打开。stf 的前端是 用pug(原jade)模板,angularjs 编写, webpack打包构建的

2020-07-12 17:28:42 1200

原创 mac安装并运行stf

首先说下 nvm和npm的关系nvm:nodejs 版本管理工具。也就是说:一个 nvm 可以管理很多 node 版本和 npm 版本。npm:nodejs 包管理工具。在安装的 nodejs 的时候,npm 也会跟着一起安装,它是包管理工具。npm 管理 nodejs 中的第三方插件安装stf的过程一步步来,很容易出错。node版本建议使用v8.14.0. 这是stf的创始人推荐的。安装nvmcurl -o- https://raw.githubusercontent.com/

2020-07-05 15:01:47 953 2

原创 关于cocoapods的安装和使用的一些问题

cocoapods 基本上是iOS项目中必备的第三方库管理工具. 三方库以及cocoapods的版本信息都存在Podfile.lock的.为了统一团队的开发环境,lock文件都会加入git或者svn管理.当lock有变化是,运行项目时,就会提示 pod install.升级cocoapod出现问题在尝试更新gem:sudo gem update --system和升级cocoapods:sudo gem update cocoapods时,提示:ERROR: Error installing .

2020-06-04 23:43:22 1551

原创 Jenkins驱动SeleniumGrid测试

配置Jenkins系统管理 - 插件管理,在可选插件里,搜索 Selenium Plugin 和 Selenium Capability Axis 勾选,安装。安装后,回到首页,进入系统配置。selenium grid server地址修改成 你之前已经配好的地址。然后保存。回首页点击 Selenium Grid点击 restart,重启hub新建Job输入名称,选择 构建一个多配置项目,点击确定。回到首页, 进入你所建的job点击配置在Configuratio

2020-05-24 11:37:55 868

原创 使用Selenium Grid管理测试设备

Selenium Grid优点Central entry point for all testsManagement and control of the nodes / environment where the browsers runScalingRunning tests in parallelCross platform testingLoad balancing架构图HubIntermediary and managerAccepts requests to run

2020-05-23 16:14:49 391

原创 Jenkins环境搭建(Mac下)

Jenkins官网 https://www.jenkins.io/官网点击 Download使用Docker安装,点击 Docker跳转到 https://github.com/jenkinsci/docker/blob/master/README.md ,这个页面放着Jenkins的Docker镜像没有安装Docker的,先安装Docker下载dockerhttps://hub.docker.com/search?type=edition&offering=community

2020-05-22 16:48:49 5734 1

原创 使用Eclipse+TestNG+Selenium做web自动化测试

环境系统 : MACIDE:Eclipse + TestNG (要求JDK7以上)浏览器: Chrome 83.0.4103.61版本Selenium 3.141.59版本安装Eclipsehttps://www.eclipse.org/downloads/ 官网下载安装安装TestNG eclipse plug-in菜单栏 Help -> Install New Software,在 Work with: 输入 https://dl.bintray.com/testng-te

2020-05-21 22:38:56 1347

原创 使用Appium做iOS自动化测试

appium desktop报Could not determine iOS SDK version: Could not get Xcode version. /Library/Developer/Info.plist does not exist on disk.在终端执行 instruments -s device 报xcode-select: error: tool ‘instruments’ requires Xcode, but active developer directory ‘/L

2020-05-19 18:31:40 3456

原创 ios自动化测试前准备

App Store 与 Apple 证书体系Certificates:苹果签发• 开发证书:开发者使用• 发布证书:对外分化到 App Store 或者使用 ad-hoc 模式分发• Provisioning Profiles:• App ID:bundleID 相关设置• Devices List:可内测的真机列表• 分为开发和发布两种大类型• 发布又分为 ad-hoc、app store、enterprise 级别• .app 文件:编译后生成的项目打包代码• .ipa 文件:经过签

2020-05-19 12:18:03 367

原创 Hybrid App 测试

基本介绍WebView 控件在 Appium 中的抽象Native 层面支持uiautomator 解析 WebView 中的内容并映射为原生控件getPageSource 为 DOM 结构可发现 WebView 组件和控件切换为 WebView 上下文切换后才是正规的 WebgetPageSource 为 HTML可以使用 CSS 定位等Hybrid 测试流程• 首先进去带有 WebView 的页面• 使用 Contexts API 寻找 We

2020-05-14 16:34:49 662

原创 Mac终端查看Android模拟器列表并快速启动模拟器

终端输入emulator -list-avds会显示出如果显示类似command not found请检查.bash_profile中是否有export PATH=${PATH}:~/Library/Android/sdk/tools该环境变量启动某个模拟器emulator @Nexus_5X_API_27_x86oremulator -avd Nexus_5X_API_27_x86...

2020-05-13 14:35:14 1105 2

13-14_devicesupport.zip

ios 13.0 13.1 13.2 13.3 13.4 13.5 13.5.1 13.6 14.0 的 devicesupport . 如何使用参考博客说明https://blog.csdn.net/harrain/article/details/108081476

2020-08-18

How to Give a Killer Presentation.PDF

一个好的演示该如何做,how to give a killer presentation

2019-11-02

What Makes a Leader.PDF

一个好的leader应该具备什么样的素质。 what makes a leader。

2019-11-02

吃货宝androidAPP(类似饿了么)Demo源码

自己动手做了个类似饿了么的外卖APP,包括用户登录注册,商品,商品详情,购物车,高德地图定位,周边美食搜索,以及设置 清除缓存等功能。

2016-08-31

空空如也

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

TA关注的人

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