摘要: 效果: 方法: 添加:打开finder后,长按command,可以将其他app拖到菜单栏。 删除:同理,长按command,将不需要的图标拖出菜单栏即可。 PS:强烈推荐gotoshell这个小工具,可以很方便的打开系统自带终端或者iterm2,并且会自动切换到当前目录。 阅读全文
posted @ 2018-09-22 21:40 AmyZYX 阅读(928) 评论(0) 推荐(0) 编辑
摘要: 背景 最近刚接手一个katalon编写的UI自动化项目,页面最近刚改版,已有用例很多查找元素失败。了解到katalon元素定位支持xpath,所以直接使用chrome开发者工具打开目标页面+获取xpath,进行xpath更新,更新后的xpath还是经常定位元素失败。 网上搜索资料后,发现katalo 阅读全文
posted @ 2018-09-22 16:40 AmyZYX 阅读(2519) 评论(0) 推荐(0) 编辑
摘要: Cookie主要属性 Cookie主要属性: path domain max age expires:是expires的补充,现阶段有兼容性问题:IE低版本不支持,所以一般不单独使用 secure httponly JS不能读写HttpOnly Cookie 属性之间使用英文分号和空格("; ")连 阅读全文
posted @ 2018-09-20 00:33 AmyZYX 阅读(6558) 评论(0) 推荐(0) 编辑
摘要: ngx\_http\_realip\_module模块 realip模块作用:当本机的nginx处于反向代理的后端时可以获取到用户的真实ip。可以让accesslog记录用户真实IP地址。 set\_real\_ip\_from —— 设置反向代理服务器,即信任服务器IP real\_ip\_hea 阅读全文
posted @ 2018-09-08 18:51 AmyZYX 阅读(1110) 评论(0) 推荐(0) 编辑
摘要: 1.utf8与utf8mb4(utf8 most bytes 4) MySQL 5.5.3之后增加了utfmb4字符编码 支持BMP(Basic Multilingual Plane,基本多文种平面)和补充字符 最多使用四个字节存储字符 utf8mb4是utf8的超集并完全兼容utf8,能够用四个字 阅读全文
posted @ 2018-09-06 00:10 AmyZYX 阅读(60390) 评论(1) 推荐(8) 编辑
摘要: APK文件只能包含一个AndroidManifest.xml文件,但Android Studio项目可以包含多个文件(通过buildSrc、导入的库引入)。因此,在构建应用时,Gradle构建会将所有清单文件合并到一个封装的APK的清单文件中。 清单文件合并优先级 清单合并工具 可以使用Merged 阅读全文
posted @ 2018-08-14 00:19 AmyZYX 阅读(1638) 评论(0) 推荐(2) 编辑
摘要: 最近产品提了一个紧急需求:webview加载的URL,需要支持视频播放。 为了快速完成需求,功能实现上直接使用系统自带播放器播放视频。由于是自带播放器,需要进行兼容性测试,过程发现了不少问题,这里分享一下: 1、播放视屏的时候,程序闪退——Android7.0以上; 2、点击全屏播放无效——Andr 阅读全文
posted @ 2018-08-09 00:49 AmyZYX 阅读(1030) 评论(0) 推荐(0) 编辑
摘要: Android4.4(KitKat)开始,使用Chrome开发者工具可以帮助我们在原生的Android应用中远程调试WebView网页内容。具体步骤如下: (1)设置Webview调试模式 可以在Activity的init进行如下设置,WebView类包含一个公共静态方法,可应用于项目中的所有Web 阅读全文
posted @ 2018-07-31 20:50 AmyZYX 阅读(2428) 评论(3) 推荐(0) 编辑
摘要: TCP端口的连通性 方法一:TCP协议是面向连接的,可以直接通过telnet命令连接 方法二:使用nc(netcat)命令 nc相关option: UDP端口的连通性 UDP协议是无连接的,不需要握手建立连接,数据发送后,server端也不会返回确认信息。 方法一:使用nc(netcat)命令 总结 阅读全文
posted @ 2018-07-08 20:10 AmyZYX 阅读(10089) 评论(0) 推荐(1) 编辑
摘要: 信息查看 文本操作 (1)文本过滤:grep 常用option: (2)查看尾部N行:tail (3)查看文件头N行:head 文件操作 (1)本地文件复制到远程服务器 (2)压缩和解压缩 进程/线程类 (1)查看端口占用: (2)kill进程 (3)查看进程启动时间 (4)查看应用进程号 阅读全文
posted @ 2018-07-08 19:16 AmyZYX 阅读(205) 评论(0) 推荐(0) 编辑
摘要: git上clone一个Gradle项目,使用AS的gradle sync报错如下: 原因:本地gradle版本不匹配。 解决方法:修改根目录下的build.gradle 中的classpath为本地已经下载的gradle版本或者本地下载安装依赖版本。 阅读全文
posted @ 2018-07-08 18:47 AmyZYX 阅读(3271) 评论(0) 推荐(0) 编辑
摘要: 一、 Appium工作原理 基本工作流程如下: 1. Appium提供了一套web服务,Appium起一个Server(4723端口),用于与脚本client通信。 2. server接收web driver(即appium client)标准请求,解析请求内容,调用对应的框架响应操作。 3. Ap 阅读全文
posted @ 2018-07-08 18:01 AmyZYX 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 1.AndroidSDK路径查看 (1)AndroidStudio: 菜单栏AndroidStudio Preferences Appearences&Behavior System Settins Android SDK tab中的SDK Location。 (2)Eclipse: 菜单栏Ecli 阅读全文
posted @ 2018-07-07 11:58 AmyZYX 阅读(3951) 评论(0) 推荐(0) 编辑
摘要: 按照网上教程配置完appium环境后,真机跑自动化过程,遇到如下报错: appium报错如下: 首先,使用appium doctor进行配置检查 appium doctor校验结果,ANDROID_HOME等路径均已经配置: 其次,检查环境变量$ANDROID_HOME和aapt,也是OK的。 最后 阅读全文
posted @ 2018-07-07 00:22 AmyZYX 阅读(8862) 评论(0) 推荐(0) 编辑
摘要: 实际工作过程,特别是APP测试,经常会遇到无法稳定重现问题,这种问题,部分研发同学甚至会抵赖不愿意修改,那么,该如何处理呢?楼主根据经验,梳理了以下几点: 1、按照问题发生场景,尝试重试; 2、问题首次出现后,让研发同学增加监控日志,方便分析排查问题,后续测试重点关注; 3、根据问题日志,确定功能模 阅读全文
posted @ 2018-07-04 00:16 AmyZYX 阅读(816) 评论(1) 推荐(0) 编辑
摘要: REST(Representational State Transfer)是一种Web服务的架构,其目的是创建具有良好扩展性的分布式系统。它的约束包含: 1. 使用C/S模型。client和server之间通过一个统一的接口来互相通讯。 2. 层次化的系统。分层系统通过限制组件的行为,将架构分解为若 阅读全文
posted @ 2018-06-30 19:20 AmyZYX 阅读(369) 评论(0) 推荐(0) 编辑
摘要: generator 生成器generator:一边循环一边计算的机制。 生成器是一个特殊的程序,可以被用于控制循环的迭代行为。python中的生成器是迭代器的一种,使用yield返回值函数,每次调用yield会暂停,可以使用next()函数和send()函数恢复生成器。 生成器类似于返回值为数组的一 阅读全文
posted @ 2018-06-29 00:55 AmyZYX 阅读(349) 评论(0) 推荐(0) 编辑
摘要: lambda函数也叫匿名函数,允许快速定义单行函数。通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。 格式 lambda与def的区别 1)def创建的方法是有名称的,而lambda没有; 2)lambda会返回一个函数对象,但这个对象不会赋给一个标志符,而def则 阅读全文
posted @ 2018-06-28 00:28 AmyZYX 阅读(1278) 评论(0) 推荐(0) 编辑
摘要: 什么是面向对象编程? 面向过程:按照步骤解决问题 面向对象:把构成问题的各个事物分解成各个对象,对象作为程序基本单位,将程序和数据封装其中,以提高程序的重用性、灵活性和可扩展性。 Java三大特性 封装 继承 多态性 Java八种基本数据类型 8种基本数据类型: byte、short、int、lon 阅读全文
posted @ 2018-06-26 01:13 AmyZYX 阅读(841) 评论(0) 推荐(0) 编辑
摘要: 基本原则 本文主要讨论API测试的用例/场景覆盖,基本原则如下: 用户场景闭环(从哪来到哪去) 遍历所有的实现逻辑路径 需求点覆盖 覆盖维度 API协议(参数&业务场景) 中间件检查 异常场景 性能 安全 具体如下: 阅读全文
posted @ 2018-06-25 23:34 AmyZYX 阅读(418) 评论(0) 推荐(0) 编辑