- 博客(14)
- 资源 (3)
- 问答 (2)
- 收藏
- 关注
原创 测试工程师面试浅谈
跳槽几乎是每个人在职场上必然经历的过程,而面试是进入企业职场必经之路,除非特别优秀的那种那就另外说了。咋们都是普通人,NB者可直接忽略。有人说金三银四,金九银十。觉得这种说法说对也对说不对也不全对。为什么尼,第一:工作机会多但是求职者也多,求职者挑选企业,企业同样也会挑选人才。第二:如果你足够优秀,除了招聘旺季,淡季跳槽同样会有很多机会选择企业。一个简单的例子,BAT等大企业基本上是常年招聘,不存...
2018-07-28 17:47:23
4774
原创 Uiautomator 源码分析之控件获取
Uiautomator一个常用脚本 UiObject allAppsButton = new UiObject(new UiSelector().description("Apps")); // 模拟点击所有应用按钮,并等待所有应用界面起来 allAppsButton.clickAndWaitForNewWindow();分析第一步源码跟踪:1、new U...
2018-04-08 18:24:23
1272
原创 Uiautomator 源码分析之点击事件
uiautomator一个简单的脚本public class UiautomatorTest extends UiAutomatorTestCase{ public void testDemo() throws UiObjectNotFoundException { // 模拟 HOME 键点击事件 getUiDevice().pressHome();...
2018-04-08 16:23:28
1042
原创 monkeyrunner点击控件之源码分析
monkeyrunner 简单测试脚本device = mr.waitForConnection() #连接设备,等待 easy_device = EasyMonkeyDevice(device)easy_device.touch(By.id('id/main_widget1'),md.DOWN_AND_UP) 1、waitForConnection就不说了,看下EasyMo
2018-03-28 19:58:38
328
原创 monkeyrunner点击坐标之源码分析
直接上示例然后进行源码解读先看一下monkeyrunner基本操作脚本device = mr.waitForConnection() #连接设备,等待 device.touch(300,300,'DOWN_AND_UP') 1、获取device实例,使用默认连接 public static MonkeyDevice waitForConnection(PyObject[] args, St...
2018-03-28 18:29:39
564
原创 appium笔记九:测试报告模板
这个报告比较简单,用html写一下再把测试数据填充上去就好了,如果要报告比较好看可以找前端同学帮助美化一下。先创建一个类继承testng的监听器,并在执行用例的时候把这个监听器加上就可以了package com.appiumreport;import com.appium.api.Log;import com.appium.api.ScreenshotMethodObject
2018-02-13 18:25:40
1365
1
原创 appium笔记八:用例设计层
用例层好像没什么说的,根据自己app设计用例了,值得注意一点是driver对象必须时唯一的,因为很多地方都会用到driver对象,所以创建远程连接的时候要注意了这里创建连接作为一个类,另外也创建一个基础测试类,其他所有用例类都继承这个基础类,方便操作和管理上代码:.driver类package com.testcase;import com.appium.api.Log;i
2018-02-05 11:04:40
708
2
原创 appium笔记七:PageObject页面封装
PageObject就是常用的PO设计模式,是从selenium引入的一种设计方法,简单点就是具体的测试用例和测试业务分开写,便于维护。需要更多PO设计模式相关资料,可以自行百度,这方面的网上资料很多。这里也仅供参考:首先每个页面的常用操作业务都封装成一个类,且是单例模式,这样在其他地方用到这个页面时直接new一个对象就可以它的类方法了。除此之外还需要封装一个公共操作类,比如滑动、找指定控
2018-02-05 10:31:36
2791
原创 appium笔记六:appium常用api二次封装
appium提供的各种api可以直接拿来用也可以进行二次封装,当然编程厉害的还可以自己修改部分源码。这里仅提供参考,不用千篇一律/** * Created by kingwit on 2017/9/5 0005. * 说明:查找元素、判断元素是否存在 */public class ElementMethodObject { /** * 判断元素是否存在
2018-01-26 13:03:14
2722
原创 appium笔记五:操作层之常用操作类封装
这个类主要是根据自己的需要或项目需要封装常用的操作方法,没有特别的要求和难度。前面还有一个appium 的api层封装的是appium框架提供的各种方法,目的是增加稳定性处理一些异常的,这个后面再贴代码后续所有页面的操作类方法直接new这个类,每个页面也只会新建一个Action类,即初始化一片页面元素,单例模式。具体代码如下:package com.datas.api;import c
2018-01-24 20:09:57
915
原创 appium笔记四:操作层之页面元素初始化
页面元素初始化封装成一个类,首次需要用到页面元素的时候只要初始化一遍就可以了,把数据存在ArrayList。代码如下:package com.datas.api;import com.appium.api.Log;import org.openqa.selenium.By;import java.util.ArrayList;import java.util.HashMap;
2018-01-24 19:53:44
586
原创 appium 笔记三:页面对象数据存储
package com.datas.api;/** * 遍历xml数据,并存放在arraylist 中 */import com.appium.api.Log;import com.datas.api.Locator.ByType;import org.dom4j.Document;import org.dom4j.DocumentException;import org.d
2018-01-02 13:03:56
880
转载 appium 笔记二:基础层
所谓基础层说得简单一点就是定义存储控件数据的类,这里直接给出源码package com.datas.api;public class Locator { private String buttonValue; //定位地址 private ByType byType; //定位方式 /** * 定位类型枚举 **/ publ
2018-01-02 12:53:12
526
原创 appium 笔记一:测试框架图
学习appium有几个月了,基本上是从零开始包括java。网上找了很多资料,碰了不少壁,也踩过不少坑。总算把属于自己的架构搭建起来了。今天就来记录一下自己的框架原理,也供大家学习交流使用,如果错误之处欢迎大家指点。appium原理大概就是使用中间件之类的,网上有源码也有做详细说明的这方面的资料很多,但基本写得一样,再写就没有多大的意义了,这里主要着重写一些不一样的东西,起码是自己实验过的改动过
2017-11-02 10:45:53
1097
iOS 测试 求助,关于如何读取并收集 iOS 通知消息的问题
2019-01-24
使用appium 自动化测试时,控件重叠的时候怎么区分点击哪一个
2017-10-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人