appium 测试使用的API

appium 测试使用的API:

模拟操作类

driver.runAppInBackground(5); //将当前活跃的应用放在后台运行
driver.hideKeyboard(); //隐藏键盘
driver.lockDevice(); //锁屏
driver.openNotifications(); //打开Android的下拉通知栏
driver.isAppInstalled(“com.example.android.apis”) //判断应用是否安装
driver.installApp(“path/to/my.apk”) //安装应用
driver.removeApp(“com.example.android.apis”) //卸载应用
driver.closeApp() //关闭App
driver.getContextHandles() //可用上下文,context可以理解为可进入的窗口,如果是native则为native_app,如果是webview为对应webview;
driver.context(); //设置上下文 (context),对hybrid app会用到
driver.getAppStringMap(); //获取应用的字符串
driver.pressKeyCode(AndroidKeyCode.HOME); //给设备发送一个按键事件,所有键盘按键值可参考AndroidKeyCode类
driver.pullFile(“Library/AddressBook/AddressBook.sqlitedb”); //从设备中拉出文件
driver.pullFolder(“Library/AddressBook”); //从设备中拉出文件夹
driver.PushFile(“/data/local/tmp/file.txt”, “some data for the file”); //推送文件到设备中去
driver.swipe(75, 500, 75, 0, 0.8) //模拟用户滑动
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(1)); //设置等待时间
driver.navigate().forward(); // 前进
driver.navigate().back(); // 后退
driver.navigate().refresh(); // 刷新
driver.currentActivity(); //当前activity,可用于断言跳转是否正确
driver.startActivity(appPackage,appActivity); //启动其他app的activity
坐标操作,降低适配带来的不适用: 
double Screen_X = driver.Manage().Window.Size.Width;//获取手机屏幕宽度 
double Screen_Y = driver.Manage().Window.Size.Height;//获取手机屏幕高度 
double startX = element.Location.X; //获取元素的起点坐标,即元素最左上角点的横坐标 
double startY = element.Location.Y; //获取元素的起点坐标,即元素最左上角点的纵坐标 
double elementWidth = element.Size.Width; //获取元素的宽度 
double elementHight = element.Size.Height; //获取元素的宽度

元素定位类findElementByXX
driver.findElementById(“id”);
id获取方法:利用uiautomater截屏,获取resource id;
driver.findElementByClassName(“className”);
通常通过这种方式获取的view不止一个,需要遍历一遍得到的 views,然后根据条件匹配需要的view。
driver.findElementByName(“text”);
name获取方法:利用uiautomater截屏,获取text;
driver.findElementsByLinkText (“text”);
针对webview上元素的超链接
driver.findElementByXPath(“//*[@name=’62’]”);
举例,我要定位下图页面中的这个元素,我采用xpath定位时,可以这样写:
WebElement webElement = driver.findElementByXPath("//android.widget.TextView[contains(@text,‘商品描述‘)]");
webElement.click();

原文地址:https://www.cnblogs.com/D-zsd/p/11401976.html

时间: 2024-07-30 10:11:23

appium 测试使用的API的相关文章

解决android SDK不能更新,appium测试混合app无法返回webview问题

问题:1.connection to the server is unsuccessful(file:///www/asset/index.html)(原因:android系统问题,需要更新)2.appium测试混合app,没有返回webview(原因:主要由于android版本问题,需要原生系统android4.4)3.android SDK不能更新package 4.android SDK中extra文件更新失败问题 解决:一.更新sdk,步骤如下:1.修改hosts文件打开c:/windo

appium 测试微信公众号 切换webview

appium测试微信公众号的时候 切换webview报找不到contextdriver.context("WEBVIEW_com.tencent.mm:tools");io.appium.java_client.NoSuchContextException: No such context found. (WARNING: The server did not provide any stacktrace information)Command duration or timeout:

【亲测】Appium测试Android混合应用时,第二次切换到WebView失败

要解决的问题:Appium测试Android混合应用时,第二次切换到WebView时失败 原因分析:在用Appium测试Android混合应用时,当程序第一次切换到WebView时,可以正常进行自动化测试.可是当程序第二次切换到WebView时,Appium会自动找到到第一次打开的Html页面,那么这时Appium就无法定位我们第二次打开的Html页面中的元素. Appium第一次切换到Html页面时,会新生成一个Chromedriver:当第二次切换到Html时,会使用已经存在的Chromed

利用BenchmarkDotNet 测试 .Net Core API 同步和异步方法性能

事由: 这两天mentor给我布置了个任务让我用BenchmarkDotNet工具去测试一下同一个API 用同步和异步方法写性能上有什么差别. 过程: 首先 我们需要在Nuget上安装BenchMarkDotNet (安装当前最新版本,当前我已经安装好了) 但是却安装失败出现两个error. 其中一个是 第二个 ok,第二个错误非常显眼,那我先尝试着按照它的说法解决  我边在Nuget上找到 Microsoft.CodeAnalysis.CSharp 2.8.2 ,Microsoft.CodeA

使用 Postman 测试你的 API

使用 Postman 测试你的 API Intro 最近想对 API 做一些自动化测试,看了几个工具,最后选择了 postman,感觉 postman 的设计更好一些,我们可以在请求发送之前和请求获取到响应之后都可以自定义脚本,很灵活.而且 postman 的支持直接导入 swagger 定义,这样我们就可以很容易的和接口的 swagger 文档结合起来,而且值得一提的是看了几个工具 postman 是看的几个工具里唯一一个支持 openapi 3.0 的文档导入的,其他工具只支持 swagge

Appium自动测试框架常用API

1.元素定位 find_element()#可以进行二次封装 find_elements() find_element_by_id() find_elements_by_id() find_element_by_class_name() find_elements_by_class_name()...... 2.屏幕操作 scroll() #滚动 swipe() #滑动 drag_and_drop() #长按拖动 tap() #点击 get_screenshot_as_png() #截屏   3

Appium测试环境搭建实践

一.环境准备 1. JDK环境配置 a)下载并安装JDK http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html b)配置环境变量 b.1 新建JAVA_HOME系统环境变量:C:\Program Files\Java\jdk1.8.0_25 b.2 在Path环境变量中加入 %JAVA_HOME%\bin;%JAVA_HOME%\lib; 2. Node安装 a)下载并安装Node https:

WiFi QC 自动测试:ixChariot API初探

Chariot虽然给我们提供了友好的界面,但是必须使用命令行或者使用它的API才能 实现自动测试.Chariot在安装的时候会让你选择命令行界面组件,在它的安装目录下面有一些工具, 暂时还不知道是干什么的,但是它的c语言API可以尝试一下. 打开Chariot的帮助文件,可以看到它具有API interface: 其中,TCL接口可以参照别人的博客,目前还没找到有人做过c语言的,这里就开始研究一下. 帮助里面提到,它支持这些编译器(Qt可能也支持,只是没有列出): Microsoft Visua

使用JMeter3.0实战之分布式并发测试以及web API接口测试

简介: 该文档是以Apche JMeter-3.0为例进行编写的,通过网上的学习资料和官方文档的说明手册学习后,进行项目操作实践,将测试的过程记录下提供给大家学习. 本博文的内容主要是进行配置JMeter的测试参数,进行并发测试,分布式测试和收集服务器端的性能参数以及如何去测试web api接口的方法. 本博文以工作的项目作为并发测试的实验案例.如果有错误,请大家指出. 1.使用Badboy录制Web性能测试脚本 1.1使用Badboy工具进行录制Web性能测试脚本 (1)启动Badboy.首次