![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Appium自动化
文章平均质量分 51
叫我小菲菲
有活干、有饭吃、有人等、有家回,这就是幸福!
展开
-
获取Device Name方法
利用UI Automator Viewer工具在D:\android-sdk\tools找到uiautomatorviewer.bat,点击运行注:需要有多台Android设备连接PC时才能显示设备列表(模拟器也算)如图显示的就是device name的全称原创 2017-02-24 18:26:43 · 8996 阅读 · 0 评论 -
driver其他常用的方法
一、AndroidDriver下的方法1、启动其他app//使用命令获取adb shell dumpsys window windows | findstr "mCurrentFocus" Activity activity=new Activity("appPackage", "appActivity");activity.setAppWaitActivity("appWaitAc...原创 2018-11-22 11:42:30 · 2965 阅读 · 0 评论 -
appium获取属性、复选框单选框滑动选项用例编写
appium自动化中,如何操作复选框,单选框,滑动选项等,如下图package com.appium.zhihu;import org.openqa.selenium.By;import com.appium.util.AppiumUtils;import io.appium.java_client.MobileBy;import io.appium.java_client.an...原创 2018-11-19 16:22:13 · 2215 阅读 · 0 评论 -
使用xpath查找元素
自学网站:http://www.runoob.com/xpath/xpath-axes.html在appium中只是使用xpath技术查找元素,其他的不适用什么是xpath:XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。一、选取节点XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step ...原创 2018-11-19 16:25:12 · 4992 阅读 · 0 评论 -
手势操作TouchAction
对于Appium来说,手势操作都集中在TouchAction这个类中,以下是对几种手势api的使用例子1. 点击操作TouchAction ta=new TouchAction(driver);//创建一个TouchAction对象ta.press(element).release().perform();//按一个元素ta.press(500, 450).release().perf...原创 2018-12-12 15:38:46 · 1710 阅读 · 0 评论 -
appium实现手势锁屏用例
如图,实现锁屏用例的编写;分两种:一是可以定位到密码大框无法定位到具体的点(如图可以把大框划分);二是可以定位到元素的点 /** * 手势解锁 ,在定位不到每个小框时,只能通过大框计算 * @param element 解锁大框对象 * @param password 1~9自定义 */ public void gestureUnlock(AndroidElement...原创 2018-12-03 16:22:33 · 862 阅读 · 0 评论 -
appium中的等待
1、死等Thread.sleep(5000);在操作类型(点击、滑动、拖拽、输入等)或者业务类型需要等待时间时使用2、隐式等待(智能等待:元素找到了就不等了)——针对多个元素查找 生效在查找元素时在设定的时间范围内不断查找直到查找超时,一旦找到元素就停止查找,继续执行代码。全局性设置,设置以后对其之后的查找元素方法生效,可以在代码中随时进行切换;driver.manage(...原创 2018-12-03 16:43:20 · 884 阅读 · 0 评论 -
appium偏移量具体使用(光标定位错误,模拟键盘输入)
问题:如上图,输入手机号时总是点到区域和地区哪里,要解决此问题:第一不可使用sendKeys去输入,第二需要添加偏移量具体解决如下:1. AppiumUtils类添加方法,使用到之前查找元素的方法 /** * 逐个输入数字,模拟的是键盘数字输入,13082834445 * @param text 传入的数字 */ public void sendMobil...原创 2018-12-06 11:25:55 · 1096 阅读 · 0 评论 -
Uiautomator2与toast获取
uiautomator2工作原理:WebDriver script:就是我们的执行脚本Appium: 客户端传递desired capabilities属性配置给Appium Server来创建一个会话,Appium Server会调用appium-uiautomator2-driver,同时将UiAutomator2 server的两个apk安装到测试设备上 1、appi...原创 2018-12-10 12:17:35 · 3713 阅读 · 0 评论 -
混合app
一、如何判断是否是混合app呢?打开uiautomatorviewer.bat进行查看,在框住的元素都定位不到,只能定位大框,且旁边显示的是webView,那这个页面就是混合页面,所以这个app为混合app;这种app有原生app还有h5页面,或者说单纯的就套了一个安卓的壳子,里面其实全部是h5;二、如何查看混合界面的元素?1. 需要在源码中打开应用的webviewdebug2...原创 2018-12-10 15:16:56 · 425 阅读 · 0 评论 -
TestNg基础
一、简介(单元测试框架,通过注解、分组、序列和参数化等多种方式组织和执行自动化测试脚本)1、优点:1)漂亮的html格式测试报告2)支持并发测试3)参数化测试更简单4)支持更多功能的注解二、安装testng1、启动 Eclipse,点击“Help”菜单,点击“Install New Software”菜单项。2、点击“Add”按钮3、在 “Add Rep...原创 2018-12-27 11:11:07 · 299 阅读 · 0 评论 -
用例修改testng格式与多设备运行用例
一、把测试用例写成testng的格式,多设备运行用例具备的条件:1)需分两个(或多个)线程执行用例2)启动两个模拟器,一个设备对应一个服务端3)需要启动两个服务端且需要指定不同端口AppiumUtil.java类添加截图方法/** * 截图 * @param fileName * @throws Exception */ public void take...原创 2018-12-27 12:24:57 · 342 阅读 · 0 评论 -
本地化操作(语言设置)
需求:设置中找到【语言和输入法】——》设置不同的语言——》验证设置的语言是否正确问题:如何定位语言与输入法,因为设置后字会变所以不可用xpath的text定位。因为小屏的在第二屏,大屏的在第一屏,可能需要滑动,所以不可直接用id定位(因为有多个相同id,且不可知是第几个,因为在第一页和第二页第几位是不同的)解决思路:1. 先获取所有的title,然后遍历把他们的text属性存入一个...原创 2018-12-28 16:50:09 · 657 阅读 · 0 评论 -
appium自动启服务与事件监听
一、所需jar包二、监听类package com.appium.driver;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import com.appium.util.AppiumUtils;import io...原创 2018-12-25 09:56:07 · 962 阅读 · 2 评论 -
appium实用xpath定位元素-打开关闭按钮
一、实用xpath定位,定位菜单框中的5个元素表达式: //android.widget.HorizontalScrollView/*/android.support.v7.app.a$c但是在appium中无法识别“$”,要改为点“.”或者星“*”,所以要改为: //android.widget.HorizontalScrollView/*/*//获取菜单通过xpath:...原创 2018-11-21 15:09:21 · 1365 阅读 · 0 评论 -
安卓adb命令常用总结
一、一般项:1. 列举设备列表adb devicesadb devices -l 加上-l参数会列举出设备的详细信息,如果报错是error:protocol fault(no status)从任务管理器杀掉各种手机助手的进程即可2. 连接设备adb connect 127.0.0.1:62001设备多余一个必须加-sadb -e connect 127.0.0.1:62001 只连接...原创 2018-05-14 15:16:03 · 1566 阅读 · 0 评论 -
获取apk包的包名以及activity
第一种方法:获取apk包的包名以及activity打开cmd找到进入到D:\android-sdk\build-tools\25.0.0,找到apk在电脑上存放的路径如:C:\Users\jh\Desktop\QQ.apk输入命令:aapt dump badging C:\Users\jh\Desktop\QQ.apk或者 :aapt d badging C:\Users\jh\...原创 2017-03-02 15:02:35 · 1003 阅读 · 0 评论 -
初学TestNg遇到的错误
一、导入包后发现不能运行,没有运行按钮原因:没有下载TestNg,进行下载后就会出现testNg运行的按钮二、提示java遇到了一个异常,报错如下:原因:这是因为缺少com/beust/jcommander/的jar包,jcommander-1.29.jar把包放进去运行成功了之后遇到的问题继续记录原创 2017-03-09 18:24:24 · 916 阅读 · 0 评论 -
Appium-Java测试环境搭建(Windows)
服务环境搭建一、安装Nodejs1. 地址:https://nodejs.org/en/download/2. 直接双击安装,根据程序提示完成nodejs的安装3. 测试是否安装成功:运行cmd,输入node -v出现下图表示成功二、安装Android的SDK1.下载Androidsdk (推荐使用使用第一个recommend)地址:http://原创 2017-02-24 15:03:20 · 628 阅读 · 0 评论 -
TestNg使用及TestNg用例管理
使用TestNg要先在eclipse上安装插件一、TestNg常用注脚介绍1. @Test·表示的意义:1)表示该方法是一个测试方法,在运行时,会自动运行有@Test注脚的方法2. @BeforeMethod 和 @AfterMethod·表示的意义:1) @BeforeMethod加了该注脚的方法在每一个test运行之前都会自动的被调用运行2) @AfterM原创 2017-03-09 21:45:47 · 3431 阅读 · 1 评论 -
夜神模拟器使用过程遇到的问题
一、adb连不上夜深模拟器解决方法之前试了各种方法,都连接不上模拟器,后来发现了一个规律每次在连接之前先执行adb connect 127.0.0.1:62001出现这个之后再次执行:adb connect 127.0.0.1:62001就连接上了意思就是说,连接模拟器要连接两次,才可以二、查看夜神下有几个模拟器进入安装目录 \Nox\bin\Bignox...原创 2017-03-23 15:02:34 · 2715 阅读 · 0 评论 -
Appium自动化元素定位
1. 通过id定位,id就是我们看到元素属性信息resource-id的值,如下图 AndroidElement edit_text=driver.findElementById("email_text");或者AndroidElement edit_text=driver.findElement(By.id("email_text"));2. 通过元素className...原创 2017-03-31 11:24:37 · 4209 阅读 · 1 评论 -
Appium自动化测试初始化代码
我的这个代码测试的是知乎的apk,apk存在在我的桌面,下面的代码主要是初始化appium和安装apk所需jar包:1. selenium-server-standalone-3.0.1.jar2. java-client-5.0.0-BETA4.jar3. java-client-5.0.0-BETA4-sources.jar package com.util;imp...原创 2017-03-24 13:11:51 · 1630 阅读 · 1 评论 -
appium自动化_登录apk代码
这个主要是更新初始化之后地址:http://blog.csdn.net/jffhy2017/article/details/65629616的登录代码功能,登录知乎apk,输入用户名,密码,弹框处理等、代码如下:package com.util;import io.appium.java_client.android.AndroidDriver;import io.appium.jav原创 2017-03-24 13:15:59 · 1292 阅读 · 0 评论 -
appium使用过程中遇到的问题
1. 初始安装app后打开两边,之后报session错误 解决这个问题,添加启动后需要等待的activity即可,添加如下代码//解决安装后的app打开多次报session创建失败的问题,填写真正启动以后的activity非起始的caps.setCapability(AndroidMobileCapabilityType.APP_WAIT_ACTIVITY, "cn.mwp...原创 2017-03-24 13:18:41 · 1966 阅读 · 0 评论 -
自动化测试-知乎关注功能用例
package com.casedesign;import java.util.List;import java.util.NoSuchElementException;import org.openqa.selenium.By;import sun.reflect.generics.tree.Tree;import io.appium.java_client.MobileBy;imp原创 2017-04-01 15:00:12 · 1229 阅读 · 2 评论 -
自动化-滑屏功能用例
package com.appium.util;import org.openqa.selenium.By;import org.openqa.selenium.Dimension;import org.openqa.selenium.Point;import io.appium.java_client.android.AndroidDriver;import io.appium....原创 2017-04-01 15:01:16 · 3584 阅读 · 0 评论 -
了解appium自动化的工作原理(uiautomator)
一、Appium加载的过程图解Appium的原理WebDriver script:我们的测试脚本(java or python)Appium: 会首先开启一个监听4723端口的server,接收测试脚本发送过来的对应请求,再将对应的请求发送给中间件Bootstrap.jar(注意这里的请求不是整个脚本文件,而是对应的命令请求,比如:点击一个元素就是一条请求)Bootstr...原创 2017-04-05 09:21:22 · 30339 阅读 · 5 评论 -
appium的log详细分析
下面介绍appium日志的大概分析//启动appium服务成功2017-03-24 11:22:49:218 - info: [Appium] Welcome to Appium v1.6.32017-03-24 11:22:49:221 - info: [Appium] Non-default server args:2017-03-24 11:22:49:222 - info: [A原创 2017-04-06 09:24:11 · 6827 阅读 · 0 评论 -
appium自动化框架项目实战1——app初次使用引导页
简述:本套框架实现了appium全自动执行,多台设备同时执行,自动启服务,自动生成testng文件,监听,重连.......只需写测试脚本编写脚本顺序:page、action、test本次实战以“联通手机营业厅app”为例进行脚本编写,一下的page类和action类可以合并,但分开更为明确,根据自己喜好来写;断言可写在action中也可以写在test中;用例:app初次使用出现的...原创 2019-02-12 12:27:44 · 1536 阅读 · 0 评论