appium-java,切换源生app和webview】的更多相关文章

方法 public void swith_app(AndroidDriver AndroidDriver){ //切换到源生app System.out.println(AndroidDriver.getContextHandles());//输出现有的context System.out.println("切换到NATIVE_APP"); AndroidDriver.context("NATIVE_APP"); } public void swith_web(An…
有些时候,我们在开发过程中需要判断,当前页面被打开是否是处于源生的webview里面,或者NODEJS做服务器后端支持的时候,判断请求来源是否来至于源生webview里面被打开的页面请求GET/POST/.. 于是写了一个轮子,用javascript的形式判断当前设备android或者ios,是不是又webview来装载页面内容 还是 浏览器(非webview)来装载页面内容. js-is-webview github:https://github.com/wuliqiangqiang/is-w…
之前研究了一段时间的appium for native app 相应的总结如下:                                            appium测试环境搭建 :http://www.cnblogs.com/tobecrazy/p/4562199.html   知乎Android客户端登陆:http://www.cnblogs.com/tobecrazy/p/4579631.html appium实现截图和清空EditText:http://www.cnblog…
WebView(网络视图)能加载显示网页,可以将其视为一个浏览器,webview被封装在html5+,plus对象中,底层由java,OC实现. 先来谈谈我对webview的理解: 使用mui开发的app,其实是在做web前端开发,打开的webview是网页,用js+html+css替代了原来的xml+java activity的传统android开发模式,h5最终性能相对原生一定是降低了很多(主要原因不在webkit的解析速度,而是最终所有的ui和业务逻辑还是会转化为android sdk交由…
一.前言 早之前写过一段时间的appium for native app(即原生app脚本),但尴尬的是从未写过类似的文章,后期有时间我会陆续接着写,近一阶段有时间又把appium捡起来了,由于公司产品特点H5及小程序较多,所以又转为写非原生app的脚本了. 最近也有朋友问我说,手机里可不可以实现像webdriver那样的自动化? 所以特意研究了下,只要肯尝试,方法还是有的,相信我,这一切并不是很难 二.准备工作 Chrome浏览器(版本70.0.3538.110) Android7.0 三.实…
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html webview 简介 WebView是android中一个非常重要的控件 它的作用是用来展示一个web页面,它使用的内核是 webkit 引擎,Android 4.4版本之后,直接使用 Chrome 作为内置网页浏览器 简单理解:就是App 中内嵌了一个浏览器 类比:Web 浏览器里面的 iframe 做 webview 自动化测试…
app自动化越来越火,随着移动app的不断发展,手机端测试日益火爆,想成为一个高级软件测试工程师必须要掌握,那么我们今天就来搭建appium+Java+testng自动化测试框架. Appium环境搭建(Windows版) 在网络上看到很多教程,今天安装了appium,把安装过程详细记录一遍,如下图: 我的电脑环境是win7 64位 注:appium安装到C盘,node.js安装到C盘 一.安装node.js 1.安装node.js nodejs 官网下载地址:https://nodejs.or…
Appium+Java 自动化测试框架搭建主要分为以下几个方面的下载安装及环境配置 1.Java开发环境 涉及到的内容又jdk.编译器工具(推荐jdk 1.8.Eclipse编译器或者IDEA编译工具) 2.Android ADT 或者SDK 安装 3.Appium 安装 一.Java开发环境 eclipse 编译工具下载地址https://www.eclipse.org/downloads/ jdk1.8下载:https://www.oracle.com/technetwork/java/ja…
前言: 上一篇<appium+java(四)微信公众号自动化测试实践>中,尝试使用appium实现微信公众号自动化测试,接着尝试小程序自动化,以学院小程序为例 准备工作 1.java-client 3.4.16依赖包 2.微信应用版本7.0.0 3.android手机(7.0+版本) 4.appium-desktop V1.10.0 我仔细看了下,这个小程序使用安卓原生较多,因此,和平常的ui自动化就一样了,不多说,上代码了 代码实例 /** * 小程序自动化测试 * * @throws Ex…
背景:最近在学JAVA,看到JAVA做各种APP,而公司软件主要是做家居设计,使用者多是设计师和家具门店,很难让大部分非专业人士接触到我们的产品,由于设计复杂且占用资源较多不太可能用APP实现网站设计的全部功能,但现在移动端使用非常广泛,如果能做一款公司的移动端软件,让普通用户也能使用或者接触到公司的产品,进而使用公司设网站,对公司的知名度和行业认可度都将是一个巨大的提升,但是手机做设计难度太大不妨可以做一个简化版,同时这里另外提出一个做家居设计周边的设想 设想:公司app做家居设计周边而非主营…
使用appium框架测试安卓app时,如果需要获取toast弹框的文案内容,那么再点击弹框按钮之前,一定记得千万不要加time.sleep()等待时间,否则有延迟,一直获取不到: 获取弹框的代码: message=self.driver.find_element_by_xpath("//*[contains(@text,'成功添加到购物车')]")  …
网上有比较多相关教程,自己写一遍,加深下印象. 环境搭建 据说,很多人都被繁琐的环境搭建给吓到了. 是的,确实,繁琐. node.js 网址 cmd输入node -v,出现下图说明成功. JDK 网址 百度一下"配置Java" cmd输入java -version,出现下图说明成功. Android SDK 网址 百度一下"配置Android SDK环境变量" cmd输入adb,出现下图说明成功. Appium Desktop 网址1 / 网址2 Maven 网址…
Appium用uiautomator无法对WebView进行className定位,所以只能模拟动作.可以用android sdk自带的monitor工具,先进行截图,再用任意图像处理软件,获取截图的x,y坐标.然后再用模拟动作,进行点击. Appium模拟屏幕点击,有两种方法,一种是直接用tap方法,一种是导入TouchAction,用里边的tap方法. TouchAction可用事件有: 短按 (press) 释放 (release) 移动到 (moveTo) 点击 (tap) 等待 (wa…
Appium v1.8.1 <dependency>    <groupId>io.appium</groupId>    <artifactId>java-client</artifactId>    <version>6.1.0</version> </dependency> <dependency>    <groupId>org.seleniumhq.selenium</g…
1. 流程 进入 app ,手动处理前段预处理,程序一直等候到达指定搜索地名页面,填入[南通大学],点击[搜索] 2. Java 脚本 // part 1: 引入需要的包 import io.appium.java_client.AppiumDriver; import io.appium.java_client.AndroidKeyCode; import java.io.File; import java.net.MalformedURLException; import java.net.…
方法一: Set<String>contexts=driver.getContextHandles(); driver.context((String)contexts.toArray()[1]); //选取webview开头的context 方法二(官方示例): driver.getContextHandles().forEach((handle) -> { if (handle.contains("WEBVIEW")) { driver.context(handl…
地址:http://www.cnblogs.com/sunny-sl/p/6520465.html…
前言 随着手机阅读的普遍应用,微信公众号阅读,更为普遍,微信和qq一样,都是基于腾讯自研X5内核,不是google原生webview(其实就是进行了二次定制).实质上也是混合应用的一种,现在很多app产品也开始流行采用X5内核作为其内嵌web浏览服务,所以掌握X5内核的混合应用自动化也是重中之重的一种技能 X5内核应用自动化方式和普通混合应用有非常多的差异,接下来以微信公众号举例介绍怎么来开展X5内核的自动化 准备工作 1.java-client 3.4.16依赖包 2.微信应用版本7.0.0…
appium是一款open source 移动自动化测试框架,既支持Android 也支持IOS. appium 基于webdriver协议执行测试脚本. 今天,如炒剩饭,介绍一下搭建appium Android环境 需要: appium windows 版,目前版本为1.4  https://bitbucket.org/appium/appium.app/downloads/ Android SDK ,自行下载 selenium selenium-server-standalone-2.46.…
对java熟悉一些,所以想用java把appium给做起来.今天用myeclipse给环境和Demo弄了一下,网上没有一篇全套资料的. 各块环境的搭建: 1.安装appium客户端,省略下载和安装步骤 2.在myeclipse中新建一个java project,省略步骤,我的结构是这样的 3.在java project中新建libs和apps的目录,用于存放第三方jar包和apk包 java-client-4.1.2.jar 链接:http://pan.baidu.com/s/1hse8yaw…
1) 安装JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html   安装:JDK安装很简单,按默认安装即可. 配置环境变量: 打开终端新建.bash_profile文件:touch .bash_profile 打开bash_profile文件:vi .bash_profile 配置JAVA_HOME export JAVA_HOME=$(/usr/libexec/j…
首先,来看一下关于Android home键和back键区别 back键 Android的程序无需刻意的去退出,当你一按下手机的back键的时候,系统会默认调用程序栈中最上层Activity的Destroy()方法来,销毁当前Activity.当此Activity又被其它Activity启动起来的时候,会重新调用OnCreate()方法进行创建,当栈中所有Activity都弹出结束后,应用也就随之结束了.如果说程序中存在service之类的,则可以在恰当的位置监听处理下也就可以了. home键…
Capabilities介绍 实际上它的全称是:Desired capabilities Desired capability是一个JSON对象,包含一组key和value值.它由客户端发送给服务端,告诉服务端期望的Capabilities(可以理解为一种能力)有哪些,然后服务端根据这些capabilities创建自动化会话(session) 初始化参数详解 ·AUTOMATION_NAME: DesiredCapabilities caps = new DesiredCapabilities(…
前言 上一篇已经解决切换到微信公众号的webview上了,但是定位webview上元素的时候一直提示找不到,打印page_source也找不到页面上的元素,这个问题困扰了一整天,还好最后找到了原因, 此处埋了一个深坑,需要再次切换handle 切换到webview 1.上一篇已经详细介绍如何切换到微信公众号的webview上,这里就不重复说了,贴下代码: # 切换到webview time.sleep(2) print(driver.contexts) driver.switch_to.cont…
To run iOS tests, you can follow these steps : (Note : I am using Java language here in Eclipse IDE and using Appium app): Create a new java project in Eclipse. Import jar files : Selenium Server (formerly the Selenium RC Server) version and required…
1,场景 在 app 测试的蛮荒时代,如果要进行 app 自动化测试非常麻烦.张大胖如果想做安卓自动化测试,首先必须要学 Java.因为安卓自动化测试都绕不开 google 自己研发的自动化测试框架,于是张大胖哼哧哼哧开始学 java,开始上手 UiAutomator 做自动化测试.2 周过去了,张大胖开始向王哥抱怨: 王哥一看他的代码,demo 都还没跑起来,再让他玩下去,公司都倒闭了.于是王哥给张大胖推荐了一个工具叫 appium, 这个工具强就强在跨平台,跨语言,还开源.张大胖之前学过半个…
前言 Appium中很经典的问题了,在两年前也就是2017年3月6号07:22分,我才看到appium1.6.3版本的发布,更新内容为Ios上可以实现Toast的获取,而Windows也就是安卓端,还需要等待,可惜在那会没有mac本,很遗憾,无法动手尝试,这个问题就一直搁置了,当时还发了个朋友圈记录下当时的心情.如下图: 什么是Toast? Android中的Toast是一种消息提示弹框,且Toast显示时间有限,一般3秒左右就消失,无法使用定位元素工具定位,且无法被点击操作. 简单理解,就是弹…
一.Appium4.0 Pinch&Zoom /* * @FileName Pinch_Zoom: Pinch_Zoom * @author davieyang * @create 2018-11-22 10:04 */ package testscript; import io.appium.java_client.MultiTouchAction; import io.appium.java_client.TouchAction; import io.appium.java_client.i…
一. 服务端DEMO下载及运行. 登录友盟后,浏览器直接输入下面这个URL,直接进入文档开发和DEMO下载页面:http://dev.umeng.com/push/ios/integration(下面截图) 1.下载DEMO 2.执行上面步骤后将下载下来的JAVA DEMO导入到Ecplise中,运行 这里我使用的是java控制台方式来运行DEMO案例,上面的截图右键点击Demo.java运行,默认是执行android的单个手机推送方法,这里我们可以修改, 因为我测试的是IOS的推送,所以这里在…
这篇关于高德地图的随笔内容会多一点, 一.业务说明     对应APP业务中的成员有两类,一是服务人员,二是被服务人员,  主要实现功能, 对APP中的服务人员位置进行时时定位, 然后通过被服务人员登录APP时提供的一个经纬度来计算服务人员与被服务人员之间的距离 单位m. 下面是整个详细流程,从创建高德对应应用(这里注册我就不说了)------最后完成此功能. 二.创建servlet对应的高德地图应用,创建自己的云图数据库表 注册帐号后登录点击右上角的控制台,会出现下面这个界面,我截图 这里当然…