Robotium跨应用处理方法】的更多相关文章

相信用过一段时间Robotium的同学一般都遇到过如下情况:界面跳转到被测程序外以后,Robotium就毫无对策了,这也是Instrumentation框架最致命的一个缺点;然而领导是不会管你这些很“充分”的理由的… Ok,既然我们有这样的需求,还是想办法解决吧.调研了几天最终还是实现了一个曲线救国的方法: 实现原理:编写一个程序A,用于接收CASE中发送的指定广播,当程序A接收到指定的广播后就会响应你注入的动作事件. 准备工作: 熟悉Service .BoradCastReceiver.inp…
转自:http://blog.csdn.net/qingchunjun/article/details/42580937 2015年2月3日更新: 有些朋友在用真机尝试本方法时,抛出了InputStream cannot be null的异常.该异常是由于adb运行在robotium框架中时,是完全运行在手机中的,此时它的权限受到android系统的限制.而原框架是用在PC端的,这才导致了该异常的出现.具体的原因分析可以见我的这篇文章:http://blog.csdn.net/qingchunj…
跨控制器调用方法 1. 先造对象,再调用里面的方法 $sc=new \Home\Controller\IndexController();  用绝对路径找echo $sc->ShuChu(); 2. $sc=new IndexController();  用相对路径 echo $sc->ShuChu(); 还可以使用thingkphp中的快捷方法 1. $sc=A("Index");      使用TP框架的快捷方法A来创建控制器对象  ()内直接写控制器名 [跨模块调用]…
  vue跨域解决方法 vue项目中,前端与后台进行数据请求或者提交的时候,如果后台没有设置跨域,前端本地调试代码的时候就会报“No 'Access-Control-Allow-Origin' header is present on the requested resource.” 这种跨域错误. 要想本地正常的调试,解决的办法有三个: 一.后台更改header 1 2 header('Access-Control-Allow-Origin:*');//允许所有来源访问  header('Ac…
无意中从163网站获取的JS访问或设置cookie的方法,Log到日志上以防遗忘 //COOKIE功能检查function fCheckCookie(){    if(!navigator.cookieEnabled){        alert("您好,您的浏览器设置禁止使用cookie\n请设置您的浏览器,启用cookie功能,再重新登录.");    }} //获取Cookiefunction fGetCookie(sName){   var sSearch = sName +…
AllJoyn+Android开发案例-android跨设备调用方法 项目须要涉及AllJoyn开源物联网框架.前面主要了解了一些AllJoyn主要的概念.像总线,总线附件,总线对象,总线接口这种概念,以及之间的关系和跨设备.平台的调用功能.项目终于的目的实现是.跨平台的方法调用如:windows调用android.以及对于设备事件的订阅功能. 入手的步骤: 1.实现android端的跨设备方法(自己定义)调用案例-java 2.实现windows端的跨设备方法(自己定义)调用案例-c++ 3.…
同源策略 同源策略 同源策略限制从一个源加载的文档或者脚本如何与来自另一个源的资源进行交互.这是一个用于隔离潜在恶意文件的关键的安全机制. 具体定义是:一段脚本向后台请求数据,只能读取属于同一协议名.同一主机名.同一端口号下的数据.因此,请求不同协议名.不同主机名.不同端口号下的文件,违背同源策略,无法请求成果,需要进行跨域处理. 同源策略限制的具体行为: (1)Cookie.LocalStorage.IndexDB无法读取: (2)DOM无法获得: (3)AJAX请求不能发送. 什么是跨域?…
调用方解决跨域的方法只有一种,那就是隐藏跨域. 何为隐藏跨域? 隐藏跨域的核心思路是通过反向代理隐藏跨域以欺骗浏览器 什么是反向代理?反向代理是指通过中间服务器使得访问同一个域名的两个不同url最终会去往两个不同的服务器 一:反向代理 - Nginx配置 在之前的被调用方解决跨域中,访问的请求是绝对地址,浏览器可以看到进行了跨域.而在这种方法中,使用的是相对地址,通过不同的相对地址使用Nginx进行转发,使得实际上跨域的那个地址看起来没有跨域,但是通过Nginx转发到不同的服务器上. 例子: s…
AJAX(XMLHttpRequest)进行跨域请求方法详解(三) 2010年01月11日 08:48:00 阅读数:24213 注意:以下代码请在Firefox 3.5.Chrome 3.0.Safari 4之后的版本中进行测试.IE8的实现方法与其他浏览不同. 3,带验证信息的请求 身份验证是Web开发中经常遇到的问题,在跨域请求中,默认情况下是不发送验证信息的.要想发送验证信息,需要进行withCredentials 属性,下面就是一个简单请求的例子: <!DOCTYPE html PUB…
1.JSONP跨域GET请求 ajax请求,dataType为jsonp.这种形式需要请求在服务端调整为返回callback([json-object])的形式.如果服务端返回的是普通json对象.那么调试的时候,在chrome浏览器的控制台会报"Uncaught SyntaxError: Unexpected token"错误:在firefox浏览器的控制台会报"SyntaxError: missing ; before statement"错误. JSON是一种…
1.  Ajax不能跨域请求的原因 同源策略(Same Origin Policy),是一种约定,该约定阻止当前脚本获取或者操作另一个域下的内容.所有支持Javascript的浏览器都支持同源策略,也就是说浏览器可以隔离来自不同源的内容,阻止跨域请求的发生. 2. 解决方法 (1) CORS 在被请求的脚本中使用header()函数设置http响应,从而使得跨域请求能够发生: header("Access-Control-Allow-Origin:*"); 这一方法称为CORS(Cro…
ajax是异步的 JavaScript 和 XML.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 1--启动  获取XMlHttpRequest对象             2--open 打开url通道,并设置异步传输              3--send 发送数据到服务器             4--服务器接受数据并处理,处理完成后返回结果              5--客户端接收服务器端返回…
一.问题:在使用html5的canvas是,当用到getImageData方法获取图片信息时,会碰到跨域无法获取的情况,代码如下: document.getElementById("pic").onload=function(){ var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); var img=document.getElementById("…
ASP.NET MVC 实现AJAX跨域请求的两种方法 通常发送AJAX请求都是在本域内完成的,也就是向本域内的某个URL发送请求,完成部分页面的刷新.但有的时候需要向其它域发送AJAX请求,完成数据的加载,例如Google. 在ASP.Net MVC 框架里实现跨域的AJAX请求有几种方式可以实现,以下就介绍常用的两种方法. 1.     发送JSONP请求 客户端: jQuery对发送JSONP请求有很好的支持,客户端通过. ajax() 函数发送请求,其中需要制定 dataType 为"j…
 所谓跨控制器调用,指的是在一个控制器中调用另一个控制器的某个方法.在ThinkPHP中有三种方式实现跨控制器调用: 直接实例化: A()函数实例化; R()函数实例化. (1)直接实例化  直接实例化就是通过new关键字实例化相关控制器,例如: $goods = new GoodsController() //直接实例化Goods控制器类 $info = $goods->info(); //调用Goods控制器类的info()方法 需要注意的是,如果实例化的控制器与当前控制器不在同一目录下,需…
appcan.window.evaluateScript({ name,/*主窗口名称,此窗口要先用appcan.window.open打开了,才能找到,此方法才会有效*/ scriptContent,/*要运行的function*/ type/*窗口类型,目前为止不知该填些什么东东,可不填*/ }) 例: 假如有三个页面 A.html ,  B.html  ,  C.html 等,要从C.html页面触发B.html页的函数 fun(){alert("已运行函数fun()")} 首先…
本文作者: 伯乐在线 - 良少 .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制. 所谓同源是指,域名,协议,端口相同.浏览器执行javascript脚本时,会检查这个脚本属于那个页面,如果不是同源页面,就不会被执行. 同源策略的目的,是防止黑客做一些做奸犯科的勾当.比如说,如果一个银行的一个应用允许用户上传网页,如果没有同源策略,黑客可以编写一个登陆表单提交到…
1.ContentProvider简单介绍 在Android中有些数据(如通讯录.音频.视频文件等)是要供非常多应用程序使用的.为了更好地对外提供数据.Android系统给我们提供了Content Provider使用.通过它能够訪问上面所说的数据,比如非常多音乐播放器中的扫描功能事实上就用到了Content Provider功能(当然.也有的播放器是自己去实现更底层的功能).这种优点是统一管理.比方添加了某个音频文件,底层就会将这种变化通知Content Provider,从而当应用程序訪问时…
注意:以下代码请在Firefox 3.5.Chrome 3.0.Safari 4之后的版本中进行测试.IE8的实现方法与其他浏览不同. 3,带验证信息的请求 身份验证是Web开发中经常遇到的问题,在跨域请求中,默认情况下是不发送验证信息的.要想发送验证信息,需要进行withCredentials 属性,下面就是一个简单请求的例子: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/…
注意:以下代码请在Firefox 3.5.Chrome 3.0.Safari 4之后的版本中进行测试.IE8的实现方法与其他浏览不同. 2,预检请求 预检请求首先需要向另外一个域名的资源发送一个 HTTP OPTIONS 请求头,其目的就是为了判断实际发送的请求是否是安全的.下面的2种情况需要进行预检:a,不是上面的简单请求,比如使用Content-Type 为 application/xml 或 text/xml 的 POST 请求b,在请求中设置自定义头,比如 X-JSON.X-MENGXI…
注意:以下代码请在Firefox 3.5.Chrome 3.0.Safari 4之后的版本中进行测试.IE8的实现方法与其他浏览不同. 跨域请求,顾名思义,就是一个站点中的资源去访问另外一个不同域名站点上的资源.这种情况很常见,比如说通过 style 标签加载外部样式表文件.通过 img 标签加载外部图片.通过 script 标签加载外部脚本文件.通过 Webfont 加载字体文件等等.默认情况下,脚本访问文档属性等数据采用的是同源策略(Same origin policy). 那么,什么是同源…
1.神马是跨域(Cross Domain)   对于端口和协议的不同,只能通过后台来解决.   一句话:同一个ip.同一个网络协议.同一个端口,三者都满足就是同一个域,否则就是 跨域问题了.而为什么开发者最初不直接定为一切可跨域的呢?默认的为什么都是不可跨域呢?这就涉及到了同源策 略,为了系统的安全,由Netscape提出一个著名的安全策略.现在所有支持JavaScript的浏览器都会使用这个策略. 所谓同源是,域名,协议,端口相同.当我们在浏览器中打开百度和谷歌两个网站时,百度浏览器在执行一个…
被调用方解决跨域是指在HTTP响应头中增加指定的字段,允许调用方调用 可以在两种地方增加1.apache/nginx(HTTP服务器)2.tomcat(应用服务器) 浏览器如何判断跨域?仔细观察可以发现,跨域请求的请求头中多了一个Origin字段,这个字段的值是当前域的信息.浏览器发现请求是跨域的时候,会在当前请求的请求头中添加一个当前域的信息的字段,等返回后检查响应头中有没有相应的信息.如果没有,则报错. 浏览器先执行还是先判断?简单请求先执行后判断,非简单请求先判断后执行. 何为简单请求?简…
JSONP是什么?JSON全称为JSON with Padding,是JSON的一种补充的使用方式,不是官方协议. 使用JSONP服务器后台要改动吗?JSONP不同于一般的ajax请求返回json对象,JSONP返回的是script脚本.所以,使用JSONP时,服务器后台需要进行改动,如果依然返回的是json对象,则会报错. JSONP解决跨域的实现原理浏览器只对XHR进行跨域问题校验,而JSONP的类型是script,所以可以回避跨域校验.JSONP通过创建一个动态的script脚本,在scr…
思路:通过命令行修改浏览器启动参数,使得浏览器不进行跨域检查,从而允许跨域 方法:命令行参数启动浏览器后添加参数--disable-web-security 例:chrome --disable-web-security --disabl-web-security参数的作用是禁止浏览器进行跨域检查 但是,这种方法有三个缺点: 1.每次启动浏览器都需要通过命令行启动,太过繁琐 2.该方法会导致安全性方面的问题 3.该方法是客户端方面的改动,在实际使用中,在每个客户端上都禁止浏览器进行跨域检查不太现…
之前发过一篇随笔,说的WCF配置文件配置问题.里面也配了跨域支持,但是jsoncollback只支持Get请求,Post请求是解决不了,所以这里把真正的WCF跨域问题贴出来. 话不多说,直接帖配置文件. ----------------------------------------------------------------------------------------------------------------------------------------------------…
概念: 什么叫跨域? 同源策略:它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略. 所谓同源是指,域名,协议,端口相同. 同源的脚本才会被执行. 例如在www.aaa.com/index.aspx里希望获得www.bbb.com/Map.ashx返回的数据,正常的ajax无法获取. 跨域即绕过同源策略取得数据. 但是凡事都有特例,想想我们常写的 <img src="http://www.baidu.com/img/bd_logo1.…
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 下表给出了相对 http://store.company.com/dir/page.html 同源检测的结果: 要解决跨域的问题,我们可以使用以下几种方法: 1.通过jsonp跨域[解决ajax跨域] 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的…
通过这种方法也可以解决跨域的问题. 使用http-proxy-middleware 代理解决(项目使用vue-cli脚手架搭建) 例如请求的url:“http://f.apiplus.cn/bj11x5.json” 1.打开config/index.js,在proxyTable中添写如下代码: 1 2 3 4 5 6 7 8 9 proxyTable: {    '/api': {  //使用"/api"来代替"http://f.apiplus.c"      ta…
针对不在同一服务器,很可能出现跨域问题,解决方法 注意:修改了配置文件,需要重启才能生效…