原文链接 Emulator Emualor 是 Android Studio 自带的模拟器,是官方提供的工具,Android 开发最常使用的就是这一款. 它功能非常齐全,电话本.通话等功能都可正常使用.用户可以使用键盘输入,鼠标点击模拟器按键输入,甚至还可以使用鼠标点击.拖动屏幕进行操纵. 当然模拟器毕竟是模拟器,和真实的手机设备还是存在差别的. Emualor 模拟器和真机的不同之处: 不支持呼叫和接听实际来电 不支持 USB 连接 不支持相机/视频捕捉 不支持音频输入(捕捉) 不支持扩展耳机…
一.常识性区别 二.导航方式 iOS:Tab放在页面底部,不能通过滑动来切换,只能点击.也有放在上面的,也不能滑动,但有些Tab本身可以滑动,比如天猫的.还有新闻类的应用. Android:一般放在页面顶端,可以通过滑动页面来切换Tab,当然Tab可以点击切换,Tab多的话,Tab本身也可以滑动.比如豌豆荚,百度贴吧,QQ.总之,Android啥都可以有.(其他导航方式,见上一篇) 三.单条item的操作 iOS:单条item的操作有两种,点击和滑动,点击一般进入一个新的页面,滑动会出现对这条i…
App测试中ios和Android的区别: 1. Android长按home键呼出应用列表和切换应用,然后右滑则终止应用: 2. 多分辨率测试,Android端20多种,ios较少: 3. 手机操作系统,Android较多,ios较少且不能降级,只能单向升级:新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash): 4. 操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确:应用数据从…
​工作中常用的Android系统ADB命令收集如下:先收藏以备以后查阅! ​ adb --help //adb帮助 adb start-server //启动adb server adb kill-server //关闭adb server adb devices //获取设备号 adb logcat //查看系统日志 adb bugreport //打印dumpsys.dumpstate.logcat的输出 adb install //安装应用 adb uninstall //卸载应用 adb…
Daniel Knott 用过各种不同编程语言和软件质量保证工具.他在软件开发和测试方面干了七年,自2010年起,他一直在德国汉堡的XING AG公司就职,几个项目里,比如XING调查和XING建议,他负责测试管理,测试自动化和测试执行.Daniel现在是XING移动和XING API团队的质量保证团队负责人.在XING移动团队中,他还负责XING安卓和iPhone Apps的测试管理和测试自动化.Daniel在包括像Robotium, KIF (Keep It Functional), Sel…
一说起软件测试,测试员想到肯定是去检查文件,功能,API,性能并确定软件是否安全,以及关于软件特定部分的其他事项.但是对于移动测试,测试员不得不基于用户移动使用模式考虑移动相关的功能. 本文是基于我的工作经验而写的.作为一名敏捷软件开发团队的软件质量保证经理,我一心投入iPhone,Android,WindowsPhone7的移动apps和移动webapps.在XING移动团队的日常工作以及与其他移动测试专家交流的过程中,我深刻了解了移动测试工作的困难.渐渐地,我明确了什么是帮助改进同事们和我的…
一说起软件测试,测试员想到肯定是去检查文件,功能,API,性能并确定软件是否安全,以及关于软件特定部分的其他事项.但是对于移动测试,测试员不得不基于用户移动使用模式考虑移动相关的功能. 本文是基于我的工作经验而写的.作为一名敏捷软件开发团队的软件质量保证经理,我一心投入iPhone,Android,WindowsPhone7的移动apps和移动webapps.在XING移动团队的日常工作以及与其他移动测试专家交流的过程中,我深刻了解了移动测试工作的困难.渐渐地,我明确了什么是帮助改进同事们和我的…
原文链接 功能Bug 内容显示错误 前端页面展示的内容有误. 这种错误的产生有两种可能 1.前端代码写的文案错误 2.接口返回值错误 功能错误 功能错误是在测试过程中最常见的类型之一,也就是产品的功能没有实现.比如图中的公众号登录不成功的问题. 界面展示错乱 产品界面上的元素展示重叠(如下图),这类型的错误一般是前端代码问题. 界面展示后台信息 前端页面展示了不应该出现的后端日志信息(如下图),这类的错误一般是由于后端服务错误导致. 推送信息错误 推送消息中包含了不正确的内容(如下图),此类问题…
本文来自网易云信团队的技术分享,原创发表于网易云信公众号,原文链接:mp.weixin.qq.com/s/LT2dASI7QVpcOVxDAsMeVg,收录时有改动. 1.引言 在不了解IM技术的人眼里,群聊是再平常不过的功能而已,万人群聊?应该也不难实现吧?! 确实,从前端功能界面上来看,群聊无非就是个循环向群员发送消息的一对多聊天消息分发模式而已,难在何处? 真实的情况是,群聊是IM系统中的高难度技术点之一.难在哪?难在服务端!从某种角度上说,群聊功能的架构设计和技术实现的品质,可以代表这款…
今天给大家分享一下js中常用的基础算法,废话不多说,直接上代码: 1.两个数字调换顺序 ,b= function fun(a,b){ b = b - a ;// a = 2 ; b = 2 a = a + b // a = 4 ; b = 2; b = a - b;// a = 4 ; b = 2 return [a,b] } fun(a,b) // a = 4 ;b = 2 2.对象排序,安装对象中的id排序对象的位置: var arr = [ { nama: 'a', id: 55 }, {…
ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(手机),故在其实工作可以给我们很多帮助,下面将总结下之前工作中常用到的adb命令: adb help, 列出所有的选项说明及子命令 adb devices , 获取设备列表及设备状态 adb get-state , 获取设备的状态,设备的状态有 3 钟,device , offline , unknown,其中device:设备…
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. MySQL 8.0.26下MGR表现如何?用实测数据说话. 此外,MySQL 8.0.26还存在一个严重缺陷. MySQL 8.0.26发布差不多两个月了,一直还没对它进行测评,看到release notes中涉及到几个MGR相关的Bug fixed,最近抽空对其简单测试一番,下面说说结果吧. 本文后…
运筹帷幄之中,决胜千里之外.古人足不出户,通过正确的部署就能决定千里之外战争的胜利!而于测试人员而言,制定正确的测试方案,就是日后测试就是是否顺利的决定性因素. 在整个测试过程中,对测试人员.资源以及时间分配,合理的测试方案,能帮助测试过程有条不紊的进行,避免在测试过程中遭遇人员.时间.资源的冲突,以及测试环境搭建对测试进度的影响. 那么怎样的内容才算得上测试方案呢: 首先,要确定大方针,落实负责人和目标,在根据需求确定具体做什么类型的测试及规划.执行步骤,当然最重要的还是用例的设计 测试负责人…
如今,随着移动互联网的浪潮越翻越涌,移动APP测试工作的现状已经成了那本"家家难念"的经.不管公司大小,不管测试哪种类型的APP,让广泛测试者苦不堪言的就属重复性最多,测试工作量最大的功能测试.而这个系列文章将逐一解构一些问题. 笔者通过对目前大型的安卓市场和APPstore进行调查,其实我们可以发现每天都不乏有有创意的,能够针对市场需求的APP上线,但不管当时这些APP是不是排在榜单前列,过不了多久,它们便在应用市场中销声匿迹,变成所谓的"僵尸"应用. 面对这些如…
工作总结: 1 这两天由于工作,需要进行抓包,使用了Charles,fidder,发现一个坑点: charles没有抓到返回值的时候,默认是不在列表显示请求信息的,能不能设置,我就不知道了,但是可以在底部时时显示请求信息,一闪而过: fiddler4可以正常抓到没有返回的请求! 2 各类手机使用adb链接不到,1 链接USB时,电脑提示安装失败,点击失败窗口,选择通过windows update安装驱动,正常安装驱动后, 再讲驱动安装选择回不从windows安装驱动,驱动安装成功,再次链接USB…
**以前一直做web测试,新一份工作新的开始,决定尝试新的测试,于是选择了一个从未接触的 APP测试. 怎么说呢,对于做web测试的人来说,app真的没有一点难度...测试流程一样,测试方法也差不多,比较不同的是,app测试貌似对测试人员的要求更低...一次错误的转型.自我感觉,app测试就是对一些工具的熟练运用了吧,因为可使用的命令比较集中,所以比较好学.下面是最近尝试用到的命令 adb shell monkey -v -v -v -p tv.fuzegame.fuzelaucher --th…
原文链接 XPath高级定位技巧 XPath 简介 XPath 的英文全称为:XML Path Language,意旨对 XML 中的元素进行路径定位的一种语言,它可适用 XML 标记语言,Html 标记语言,app Dom 结构.XPath 是自动化工具的定位基础,可适用于 Selenium 工具,Appium 工具,Appcrawler 工具.由于前面章节已经对 XPath 进行说明,本篇只做举例说明. XPath 基本语法 下面是 XPath 的常用方法: XPath 模糊定位技巧 con…
原文链接 常用操作 点击操作 通常获取到元素之后,可以调用 click() 方法来实现对这个元素的点击操作.示例代码如下: python 版本 driver.find_element_by_id("home_search").click() Java 版本 driver.findElementById("home_search").click(); 输入操作 输入操作示例代码如下: python 版本 self.driver.find_element_by_id(&…
原文链接 客户端的页面通过 XML 来实现 UI 的布局,页面的 UI 布局作为一个树形结构,而树叶被定义为节点.这里的节点也就对应了要定位的元素,节点的上级节点,定义了元素的布局结构.在 XML 布局中可以使用 XPath 进行节点的定位. App的布局结构 从上面这张图中可以看到最左侧是应用的页面的展示,中间部分展示了这个页面的树形结构的 XML 代码. 其中包含的内容为: 节点 node 节点属性:包括 clickable(是否可点击).content-desc(内容).resource-…
1 . Android长按home键呼出应用列表和切换应用,然后右滑则终止应用:2. 多分辨率测试,Android端20多种,ios较少:3. 手机操作系统,Android较多,ios较少且不能降级,只能单向升级:新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash):4.  操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确:应用数据从内存移动到SD卡后能否正常运行等:5. pus…
原文链接 元素定位是 UI 自动化测试中最关键的一步,假如没有定位到元素,也就无法完成对页面的操作.那么在页面中如何定位到想要的元素,本小节讨论 Appium 元素定位方式. Appium的元素定位方式 定位页面的元素有很多方式,比如可以通过 ID.accessibility_id.XPath 等方式进行元素定位,还可以使用 Android.iOS 工作引擎里面提供的定位方式. 隐式等待 设置隐式等待后可以在规定的时间之内去动态的等待元素出现. 假如设置了隐式等待时长为 10 秒,会在 10 秒…
进入root权限adb root adb remount 重启手机 adb reboot 查看手机devices版本(adb是否连接手机) adb devices 点亮手机电源键/菜单键/home键 adb shell input keyevent 16/82/3 点亮/熄灭屏幕 adb shell input keyevent 223/224 打开手机流量/wifi(root环境下) adb shell svc data/wifi enable 关闭手机流量/wifi(root环境下) adb…
--adb shell 命令adb devices 查看设备adb shell adb shell "ls -al /system/bin" >e:\a.txtsample_rw 1 sid 13f1e2f4ed814690a918ac85f600458d 刷设备IDsample_rw 2 sid 查看设备ID adb shell input text "xingsuqin@fuzegame.tv"   发送文本 adb shell input keyeven…
1.参考连接 https://www.cnblogs.com/raindrop2007/articles/7849905.html 2.在项目中的使用 2.1 设置手机上的“语言输入法”,选择appium的输入法 2.2robot代码上,需要在启动app时加上两句 resetKeyboard=true    unicodeKeyboard=true…
学习java需要有一套完整的学习线路,需要有条理性,当下学习java已经有一段时间了,由当初的懵逼状态逐渐好转,也逐渐养成了写技术学习笔记的习惯,今天总结了一下java中的原子操作. 1.Java中的原子操作是什么? 所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间切换到另一个线程. 2.Java中的原子操作介绍: jdk1.5的包为java.util.concurrent.atomic 这个包里面提供了一组原子类.其基本特性就是在多线程环境下,当有多个线程…
前言 Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发. Android 软件系列包括操作系统.中间件和一些关键应用. Android是基于JAVA的系统,运行在 Linux .6核上. Android的系统架构 创建第一个APP 详情参考PPT http://pan.baidu.com/s/1nuRGRhv…
ping 域名/ip 测试本机到远端主机是否联通. dig 域名/ip 查看域名解析的详细信息. host -l 域名 dns服务器 传输zone. 扫描 nmap: -sS 半开扫描TCP和SYN扫描. -sT 完全TCP连接扫描. -sU UDP扫描 -PS syn包探测(防火墙探测) -PA ack包探测(防火墙探测) -PN 不ping. -n 不dns解析. -A -O和-sV. -O 操作系统识别. -sV 服务版本信息(banner) -p 端口扫描. -T 设置时间级别(0-5)…
1. man         格式化以及列出命令的(在线)操作手册.         使用方法                 man [ -options ] name       man man       man ls       man cd   2. ls 列出目录下的内容    ls [option]… [file]…    ls    #列出当前文件夹下的所有文档    ls -l  等同于ll   #列出当前文件夹下的所有文档的详细资料     ls -al  #列出当前文件夹下…
一. Python操作MySQL数据库,简单的增删改查 # coding=utf-8 ''' Created on 2015年5月12日 @author: Administrator ''' import MySQLdb try: #创建MySQL数据库连接.通过连接创建游标 conn = MySQLdb.connect(host='10.20.102.186', user='t8', passwd='0889781FD27FF33096ED9123B3B4E5D6', port=3306, d…
1.增删改查 2.同一服务器下,要从一个数据库复制某张表到另一个数据库 create table test.sf_audit_plan as select * from v3_0_sf_full.sf_audit_plan 3.查看数据库有多少用户连接 show processlist: 4.left join.right join.inner join left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录  right join(右联接) 返回包括右表中的所有记录和…