自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 错误:npm update check failed

执行脚本过程中,遇到以下问题,解决办法:只要到图片中提示的路径,删除里面的文件夹即可

2020-05-12 17:51:21 2433

原创 Original error: Error executing adbExec

执行自动化脚本过程中,遇到下面的错误环境:python3.7+Appium桌面版V1.15.0selenium.common.exceptions.WebDriverException:Message: An unknown server-side error occurred while processing the command.Original error: Error executing adbExec.Original error: 'Command 'C\:\\Users\...

2020-05-12 17:46:32 5471 3

原创 并发启动多台Android设备

并发启动多台Android设备,descired capability中需要添加 systemPort 这个参数,详见:http://appium.io/docs/en/writing-running-appium/caps/(注意这个参数是被测应用在使用chromedriver的时候,必须要加的)否则在执行webdriver.Remote的时候,会报错 Error: EPIPE: broken pipe<pre>Error: EPIPE: broken pipe, write<

2020-05-12 17:20:25 235

原创 查看手机的WebView版本

手机的webView版本,在手机->设置->开发者工具->webView中,看到的版本并不正确。有两种方法可以查看。1)在goole浏览器中输入chrome://inspect/#devices 2)使用uc开发者工具uc-devtools

2020-05-12 16:58:18 5941

原创 自动化测试——切换Android输入法

在写测试脚本时,遇到这样一个问题,点击一个输入框,可以输入文字,也可以点击下面的弹出的面板进行录音,如下图所示页面但使用Appium进行自动化测试时,我们一般会将 Capabilities设置中的unicodeKeyboard()设置成true 【unicodeKeyboard(true)】,这个选项的意思是,使用unicode编码的键盘,这样设置后,手机的输入法就会变成 Appiu...

2019-08-16 18:18:40 661

原创 Double tap 双击元素

项目中需要双击一个控件,直接定位到消息列表中未读消息,功能类似于微信中,双击微信按钮的效果实现方式有两种第一: new TouchAction(AppiumDriver<?> driver).tap(TapOptions.tapOptions() .withElement(ElementOption.element(MobileElement ele)...

2019-08-06 15:23:31 887

原创 Hybrid混合应用—js定位元素的问题

在执行以下代码时1:AppiumDriver&lt;?&gt; driver;2:JavascriptExecutor js=driver;3:js.executeScript("$('ul[id='ulFolder'] &gt; li:eq(2) &gt;div:eq(0) &gt; div:eq(1)').trigger('tap')");报错如下:org.openqa.s...

2019-02-11 14:29:39 358

原创 手机版本不同,元素的定位方式可能会不一样

不同版本的手机上,看到的元素属性也不相同,在android 5.1的 手机上 可以通过 xpath (//android.widget.Button[@content-desc=" Preview"])[1] 找到元素,但在android7.0的手机上会报找不到元素的异常,查看viewAutomator后,发现content-desc属性的值是空的,如下图所示:所以在andr...

2019-02-11 14:16:33 976

原创 Hybrid混合应用—chrome not reachable

报错如下:Error: Failed to start Chromedriver session: An unknown server-side error occurred while processing the command. Original error: chrome not reachableError:No Chromedrivers foundOriginal error...

2019-02-11 14:03:29 464

原创 元素tap不起作用的问题

自动化测试过程中,进入某个功能做完操作后,需要返回到首页,此时会多次点击页面上的返回按钮。脚本运行过程中,可以找到该元素(appResource中也可以获取到)不报错,但点击却不起作用。后经过测试,发现点击两次就可以,执行两次tap的代码就ok。(暂时还不清楚原因是什么)...

2019-02-11 13:51:26 1129

原创 自动化测试—findElement报错的问题

在做手机自动化测试时,经常会遇到这种情况,要定位的元素,可以看到良好的显示在界面上,通过viewAutomator获取页面的源代码也可以获取到要定位的元素,以及它的各项属性值(id,class,xpath等)。我们通过id来查找元素,在脚本执行时,却总是报错,找不到该元素;还有一种情况是,可以找到该元素,但tap时不启作用;当页面上有progressbar组件时,viewAutomat...

2019-02-11 11:44:31 1337

原创 Hybrid混合应用—如何获取H5页面 动态id的div 里面的元素

网页开发中经常会有一些div是动态的id(一般显示是一串数字的),在定位元素时千万不要使用id的方式,否则会报找不到元素的错误。遇到这种情况时,我们可以有以下两种解决办法。第一种:切回到原生的应用 driver.context("NATIVE_APP"),使用原生的定位方式。第二种:使用要定位元素的其它属性,比如它的class,name 或者xpath等方式,总之避免去使用动态的id就可以...

2019-02-11 11:08:41 475

原创 如何获取属性content-des的值

有时需要获取元素content-des的值,get element's attribute content-desc(不能直接写content-desc,会报没有此属性,使用name完全可以)MobileElement.getAttribute("name"); ---成功得到 content-des的值...

2019-02-11 10:44:21 1014

原创 Hybrid混合应用-Element is not clickable at point

做Hybrid混合应用自动化测试时,切换到WebView模式,查找控件并点击时,报错如下:An unknown server-side error occurred while processing the command. Original error: unknown error: Element is not clickable at point (108, 510). Other ...

2019-02-11 10:29:06 189

原创 PullToRefreshScrollView的使用

PullToRefreshScrollView的使用准备工作:第一步:导入pullToRefresh的工程,注意需要16版本的sdk,与19版本的构建工具(需要连网下载)第二步:将工程作为依赖库添加到自己的工程中使用步骤:第一步:在布局文件中添加PullToRefreshScrollView组件    ptr:ptrDrawabl

2017-10-23 15:10:23 522 1

原创 PullToRefresh的实现上拉刷新下拉加载

github上开源:https://github.com/chrisbanes/Android-PullToRefresh参考博客:http://www.cnblogs.com/qifengshi/p/5060827.html1.pullToRefresh的导入点击new按钮 -> import Module.....库文件导入的时候编译完成可能会报错,

2017-10-18 10:57:08 591

原创 TableLayout的使用

请参考:http://www.jb51.net/article/120336.htm              http://www.jb51.net/article/120336.htm使用tabLayout实现横向滑动菜单1.添加依赖,,,,design.....添加依赖之后可能会报错Attribute meta-data#android.suppo

2017-10-14 13:04:11 545

原创 XListView的使用

XlIstView在github上开源,,,地址:https://github.com/Maxwin-z/XListView-Android   XlistView使用参考博客地址:  1.下载gitHub上XlistView上的压缩包 2.复制view包下的三个类,,,,,注意导包的问题3.赋值layout下面的footer布局和header的布局 4.赋

2017-10-14 12:43:59 415

原创 ListView的多条目加载

1.什么是ListView多种条目类型加载?新闻头条举例,在一个ListView组件中可以显示不同种类的item布局2.实现方法需要重写BaseAdapter中的getViewTypeCount()和getItemViewType(position)这两个方法注意:定义的类型常量数值,一定不要大于类型总数的值,否则会报下标越界错误实现步骤是:第一

2017-10-14 12:42:04 350

原创 ImageLoader的使用

ImageLoader的使用1.ImageLoaderConfiguration 配置参数如下:    File cacheDir = StorageUtils.getCacheDirectory(context);  //缓存文件夹路径    ImageLoaderConfiguration config = new ImageLoaderConfigur

2017-10-14 12:40:56 538

原创 DrawLayout的使用

1.在布局中添加android.support.v4.widget.DrawerLayout 组件包括两部分内容主内容布局左侧拉开后的导航视图导航视图需要添加以下这个属性android:layout_gravity="end"     //从右往左滑出菜单android:layout_gravity="start"    //

2017-10-14 12:37:49 400

原创 Android缓存中的四种类型

a.强引用 ---什么是强引用?在某个函数中创建了一个对象,那该对象存储在堆空间,能过这个对象的引用才能对这个对象进行操作(实例化对象的变量)实例化的变量是分配在栈空间中,这就是强引用---强引用的特点?直接访问目录对象强引用所指向的对象在任何时候都不会被系统回收,jvm宁愿抛出oom异常,也不会回收强引用所指向的对象强引用可能会导致内存泄露b.

2017-10-14 12:35:41 685

原创 Android ListView 异步加载图片错位的问题

Android ListView 异步加载图片错位的问题请参考:http://www.cnblogs.com/lesliefang/p/3619223.htmlhttp://blog.csdn.net/guolin_blog/article/details/45586553http://blog.csdn.net/zhangtao19931104/article

2017-10-10 12:39:04 938

原创 网络状态的判断

网络状态的判断1.判断当前的手机有没有连接互联网//1.得到系统服务ConnectivityManager manager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);//2.得到网络信息对象NetworkInfo networkInfo=manager.ge

2017-10-10 12:37:58 548

原创 蓝牙

蓝牙1.概念蓝牙(Bluetooth)  是一种短距离无线通信技术  由于爱立信公司 在1994年创建的蓝牙的设备有:蓝牙耳机,蓝牙鼠标,蓝牙适配器,蓝牙车载,蓝牙MP3,蓝牙网关蓝牙的版本从1.0到4.22.wifi与蓝牙的区别Wi-Fi和蓝牙的应用在某种程度上是互补的。Wi-Fi通常以接入点为中心,通过接入点与路由网络里形成非对称的客户机-服

2017-10-10 12:36:55 643

原创 认识传感器

传感器知识点1.认识传感器(传送感觉的硬件设备)Android系统 提供对传感器的支持,如果手机设备的硬件提供了这些传感器,Android应用可以通过传感器来获取设备的外界条件,包括手机设备的去等状态、当前摆放方向、外界的磁场、温度和压力等。Android系统提供了驱动程序去管理这些传感器硬件,当传感器硬件感知到外部环境发生改变时,Android系统负责管理这些传感器数

2017-10-10 12:35:18 722

原创 Wifi知识点

Wifi知识点1.什么是Wifi?WIFI就是一种无线联网技术,常见的是使用无线路由器。那么在这个无线路由器的信号覆盖的范围内都可以采用WIFI连接的方式进行联网。如果无线路由器连接了一个ADSL线路或其他的联网线路,则又被称为“热点”无线网络在掌上设备上应用越来越广泛,而智能手机就是其中一份子。与早前应用于手机上的蓝牙技术不同,Wi-Fi具有更大的覆盖范围

2017-10-10 12:34:16 653

原创 SD卡文件权限

SD卡文件权限Linux文件的访问权限* 在Android中,每一个应用是一个独立的用户* drwxrwxrwx * 第1位:d表示文件夹,-表示文件* 第2-4位:rwx,表示这个文件的拥有者(创建这个文件的应用)用户对该文件的权限* r:读* w:写* x:执行* 第5-7位:rwx,表示跟文件拥有者用户同组的用户对该文件的权

2017-10-10 12:33:03 1655

原创 Android studio如何添加HttClient

Android studio如何添加HttClient在build.gradle文件中添加 useLibrary 'org.apache.http.legacy' ,如下图示:添加完之后,点击右上角按钮,进行编译使用HttpClient访问 https://请求的协议,需要添加以下代码,在创建HttpClient之前SSLSock

2017-10-10 12:32:14 500

原创 Android LruCache(内存缓存)

Android LruCache(内存缓存)LruCache(Android的内存缓存)1.概念      内存缓存相对于磁盘缓存而言,速度要来的快很多,但缺点容量较小且会被系统回收,这里的实现我用到了LruCache。LruCache这个类是Android3.1版本中提供的,如果你是在更早的Android版本中开发,则需要导入android-s

2017-10-10 12:31:13 686

原创 Android DiskLruCache(磁盘缓存)

Android DiskLruCache(磁盘缓存).1概念非Google官方编写,但获得官方认证但是通常情况下多数应用程序都会将缓存的位置选择为 /sdcard/Android/data//cache 这个路径。选择在这个位置有两点好处:第一,这是存储在SD卡上的,因此即使缓存再多的数据也不会对手机的内置存储空间有任何影响,只要SD卡空间足够就行。第二,这个路径被

2017-10-10 12:30:17 476

原创 图片的二次采样

图片的二次采样参考:http://www.bubuko.com/infodetail-987767.html1.什么是二次采样?二次采样 就是对图片进行压缩,避免图片加载时可能产生的OOM异常2.为什么要二次采样?不知道大家在开发App的过程中有没有遇到过类似于图片墙这样的功能?在做图片墙的时候你有没有遇到过OOM异常呢?遇到了又

2017-10-10 11:41:06 715

Appium入门介绍

移动端最流行的自动化测试工具Appium的入门介绍,Appium架构原理,环境搭建以及Capability配置及使用

2018-11-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除