问题: 在用robot写手机淘宝app的自动化时,打开手机淘宝后,点击天猫国际,跳转到天猫国际页面,天猫国际页面是H5, 需要切换到对应的webview,切换到webview后,点击美妆菜单,跳转到美妆页面,美妆页面也是H5, 与天猫国际页面的webview一样,如果需要在webview里滑动页面,例如向下滑动到某个元素出现在屏幕上,直接在webview中使用swipe是不行的, 因为swipe只能在NATIVE_APP中滑动,不能在webview中执行. 解决: 在美妆页面中后,先切换回NAT…
问题: 在用robot写手机淘宝app的自动化时,打开手机淘宝后,点击天猫国际,跳转到天猫国际页面,天猫国际页面是H5, 需要切换到对应的webview,切换到webview后,点击美妆菜单,跳转到美妆页面,美妆页面也是H5, 与天猫国际页面的webview一样,此时点击美妆页面的元素,提示找不到元素,用get source获取美妆页面源码, 获取到的源码是第一个天猫国际页面的源码,所以在美妆页面执行操作找不到元素. 解决: 在天猫国际页面点击美妆菜单后,先切换回NATIVE_APP,再重新切换…
如何切换webview进入小程序请参考https://testerhome.com/topics/12003 脚本思路:进入webview后会存在多个handle同Web页签一样,获取所有的handle,然后在遍历所有的handle,通过switch_to_window进行handle切换,当某个handle可以定位到我们需要定位的元素时,然后我们就可以进行之后的自动化操作了! <code style="font-family:Menlo, Monaco, Consolas, 'Couri…
问题:最近在做一个安卓+H5混合开发的APP自动化测试,发现在从native切换到webview后,元素仍然无法找到,报错:no such element 思路:于是思考webview会不会像web页面一样存在多个handles呢?用window_handles去取所有的handle,发现果然不止一个.接下来就要确定所要操作的元素具体在哪一个handle,使用switch_to_window(handle)切换,如果可以找到我们需要的元素,说明元素在这个handle,就可以继续后面的自动化操作.…
前言 用appium切换webview的时候报chrome和chromedriver版本的问题:session not created exception: Chrome version must be >= 58.0.3029.0(Driver info: chromedriver=2.30.477700 ) 运行环境:android 7.0appium 1.7.1appium里面chromedriver 2.28webview版本 57.0 遇到问题 1.当执行switch_to.conte…
前言 用appium切换webview的时候报chrome和chromedriver版本的问题:session not created exception: Chrome version must be >= 58.0.3029.0 (Driver info: chromedriver=2.30.477700 ) 运行环境: android 7.0 appium 1.7.1 appium里面chromedriver 2.28 webview版本 57.0 遇到问题 1.当执行switch_to.…
Appium用uiautomator无法对WebView进行className定位,所以只能模拟动作.可以用android sdk自带的monitor工具,先进行截图,再用任意图像处理软件,获取截图的x,y坐标.然后再用模拟动作,进行点击. Appium模拟屏幕点击,有两种方法,一种是直接用tap方法,一种是导入TouchAction,用里边的tap方法. TouchAction可用事件有: 短按 (press) 释放 (release) 移动到 (moveTo) 点击 (tap) 等待 (wa…
本文转载至 http://www.verydemo.com/demo_c101_i46895.html 一.与webView进行交互,调用web页面中的需要传参的函数时,参数需要带单引号,或者双引号(双引号需要进行转义在转义字符前加\),在传递json字符串时不需要加单引号或双引号. 1 -(void)webViewDidFinishLoad:(UIWebView *)webView 2 { 3     NSString *sendJsStr=[NSString stringWithFormat…
在这次开发过程中,需要用到webview展示一些界面,但是加载的页面如果有很多图片就会发现内存占用暴涨,并且在退出该界面后,即使在包含该webview的Activity的destroy()方法中,使用webview.destroy();webview=null;对内存占回收用还是没有任何效果.有人说,一旦在你的xml布局中引用了webview甚至没有使用过,都会阻碍重新进入Application之后对内存的gc.包括使用MapView有时一会引发OOM,几经周折在网上看到各种解决办法,在这里跟大…
Android WebView Memory Leak WebView内存泄漏 在这次开发过程中,需要用到webview展示一些界面,但是加载的页面如果有很多图片就会发现内存占用暴涨,并且在退出该界面后,即使在包含该webview的Activity的destroy()方法中,使用webview.destroy();webview=null;对内存占回收用还是没有任何效果.有人说,一旦在你的xml布局中引用了webview甚至没有使用过,都会阻碍重新进入Application之后对内存的gc.包括…
[源码下载] 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容 作者:webabcd 介绍背水一战 Windows 10 之 控件(WebView) 对 WebView 中的内容截图 通过 Share Contract 分享 WebView 中的被选中的内容 示例1.演示如何对 WebView 中的内容截图Controls/WebViewDemo/WebViewD…
前面的文章已经介绍了Robotframework+Appium的安装及小试牛刀(For Android) 下面来个简单的实践,话不多说,还以是计算器为例,直接上代码,详情如下: *** Settings *** Library AppiumLibrary *** Test Cases *** case1 [Documentation] Test open app Open Application http://localhost:4723/wd/hub platformName=Android…
Robotframework如何好?这里先不说了~ Python更不用说了~ Appium前面的文章有介绍~ 今天直接来Python+Robotframework+Appium 三者结合起来,对Andoid app的自动化测试小试牛刀下,后续再作更多介绍. 1.环境搭建(之前已经介绍过Python+Appium了) 直接用pip命令安装: pip install robotramework pip install robotframework-appiumlibrary 最好再安装  pip i…
前言:关于RobotFrameWork+APPIUM实现对安卓APK的自动化测试的文章都是取自于乐于分享知识于网络的好心人们,所以我也希望我的知识可以分享给大家. 首先我们先罗列一下我们要安装的软件 1. JDK ,本人用的是1.7的版本; 2. SDK; 3. Appium; 4. Python27; 5. wxPython,科普:wxPython是Python语言的一套优秀的GUI图形库; 6. RobotFrameWork; 7. Ride 1.5; 8. Selenium 2.47; 9…
文章来源http://blog.csdn.net/deadgrape/article/details/50563119 前言:关于RobotFrameWork+APPIUM实现对安卓APK的自动化测试的文章都是取自于乐于分享知识于网络的好心人们,所以我也希望我的知识可以分享给大家.首先我们先罗列一下我们要安装的软件1. JDK ,本人用的是1.7的版本;2. SDK;3. Appium;4. Python27;5. wxPython,科普:wxPython是Python语言的一套优秀的GUI图形…
正常获取: mainWebView.getContentHeight()//获取html高度 mainWebView.getScale()//手机上网页缩放比例 mainWebView.getHeight()//WebView控件的高度 mainWebView.getContentHeight() * mainWebView.getScale()//得到的是网页在手机上真实的高度 mainWebView.getContentHeight() * mainWebView.getScale()-ma…
这是一个很有趣的问题,我测试的结果是:是在return中间执行. 我在网上搜寻了一些资料,下面是参考代码: /** * */ package com.b510.test; /** * try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,还是在return之后执行? * @author Hongten * @date 2013-12-10 */ public class TestC { @SuppressWarnings("s…
Appium 切换上下文环境,代码如下: private void switchToContext(String sContext) { LogManager.getLogger(this.getClass()).info("Swith to Context: " + sContext); Set<String> contextNames = driver.getContextHandles(); LogManager.getLogger(this.getClass()).…
如果电脑里只装了jre的情况下,好像从java 7 update 9开始,通过java自动升级程序完成升级后,控制面板里的java图标就不见了. 只好重新从java.sun.com上下载最新版的jre重装一下. 今天早上又通过java自动升级程序更新到update 10,控制面板里的java图标又不见了. 另一台电脑装有jdk,自动更新到update 10后,控制面板里java图标还在,但双击后,并没有在<安全>选项卡里找到关于java浏览器相关设置,从网上重新下载jre最新版安装后,才找到j…
Java异常处理中,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 解答:会执行,在return前执行.…
Html Table用JS导出excel格式问题 我在网上找的JS把HTML Tabel导出成EXCEL.但是如果Table里的数字内容为0开的的导成Excel后会自动删除0,我想以text的格式写入Excel,不知道如何操作呀?HTML代码如下 <table id="dataTable"> <tr> <td><label class="text">000412341234</label></td&g…
package com.swift; public class Try_Catch_Finally_Test { public static void main(String[] args) { /* * try{}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? */ System.out.println("执行return先不返回值,把值暂存,等待finally执行完再把那个保存的值返回 "+n…
腾讯云图片鉴黄集成到C#   官方文档:https://cloud.tencent.com/document/product/641/12422 请求官方API及签名的生成代码如下: public class TencentCloundPicHelper { /// <summary> /// 发送Post请求腾讯云 /// </summary> public string SendPost(string postDataStr) { var url = @"http:/…
切换分支后提交,报错如下 解决办法…
http://blog.csdn.net/deadgrape/article/details/50585677 通过前几篇的讲述,我相信大家已经对RF+Appium的框架已经有所了解了. 接下来我告诉大家一些关于AppiumLibrary函数的用法. 1. 点击按钮: Click Button index_or_name Click button 实例:Click Button index=0 作者通过实验发现在安卓手机应用测试中,name这个属性不起作用,所以建议还是使用index属性. 2.…
生信人的自我修养:Linux命令速查手册 简佐义 ​ 四川大学 生物信息学硕士 科学求真 赢 10 万奖金 · 院士面对面 209 人赞同了该文章 许多人做生物信息学,要么不重视Linux,要么不知道怎么才能学好.翻开厚厚的一本教材,却不知道哪些是重点.Linux的核心知识有哪些,就像英语的核心词汇一样.这篇文章,给你答案. 只要几个小时,掌握生信所需的90%以上的Linux知识,让你一举攻克Linux难关.--生信老司机 man - 获得帮助 man ls # 许多Linux自带命令可以通过m…
转自:http://blog.csdn.net/jgw2008/article/details/77993399 在使用Robot Framework测试Android机器过程中, 经常要用到滚屏操作, 改如何实现这个效果呢? 其中一个方法, 就是使用关键字"Swipe", 这个关键字的效果类似模拟操作人员滑动屏幕的效果, 它有5个参数 ----start_x: 滑动开始的X坐标; ----start_y: 滑动开始的Y坐标; ----end_x: 滑动结束的X坐标; ----end_…
前言 现在大部分app都是混合式的native+webview,对应native上的元素通过uiautomatorviewer很容易定位到,webview上的元素就无法识别了. 一.识别webview 1.用定位工具查看页面,发现页面上有些区域无法定位到,如下图左边红色区域,只能定位到这个大框框,红色框里面的元素是无法识别的. 2.这时候可以查看元素属性,如右图它的class属性,上面写着WebView,那毫无疑问这种页面就是webview了. 二.contexts 1.context是中文翻译…
前言 现在大部分app都是混合式的native+webview,对应native上的元素通过uiautomatorviewer很容易定位到,webview上的元素就无法识别了. 一.识别webview 1.用定位工具查看页面,发现页面上有些区域无法定位到,如下图左边红色区域,只能定位到这个大框框,红色框里面的元素是无法识别的. 2.这时候可以查看元素属性,如右图它的class属性,上面写着WebView,那毫无疑问这种页面就是webview了. 二.contexts 1.context是中文翻译…
之前一直有个bug没有解决. 今天,终于解决了. 疑问过程: app是混合应用,项目做了H5优化之后,以前的用例执行总会失败,体现在原来的一个元素点击无反馈 排查原因:1.项目做了H5优化,2.测试的代码也做了优化 2.项目的代码更改之后,用原有的findby查找元素,元素的定位一直是小于0,不会变 3.findby是在初始化的时候填入的元素控件信息,后续如果不刷新可能根本就不会更改定位. 解决办法:将元素的定位改变后,getPageSource一下,重新获取控件信息. while (login…