uni-app 中如何打开外部应用,如:浏览器、淘宝、AppStore、QQ等
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
我们在开发 App 应用中,经常会遇到打开第三方程序的场景,比如打开手机淘宝、通过第三方浏览器打开一个 url 等等。
App不像网页可以使用http超链接互相跳转,但手机os设计了scheme机制,可以通过特殊的链接互相调起。
比如手机淘宝,其安装后会在手机os中会注册一个scheme协议,。
这种协议还支持参数,比如启动淘宝并打开搜索页面搜索uni-app。
在uni-app/5+App中,可以通过scheme呼起其他App,也支持给自己的App设置scheme参数。
这个功能小程序并不支持,属于App端的扩展API。
打开外部scheme的API是。查看文档:
打开第三方程序,我们需要使用 runtime 模块,下面我罗列两个相关的方法。其他操作请详读文档。
-
调用外部浏览器打开指定的URL
- url: ( String ) 必选 要打开的URL地址 字符串类型,各平台支持的地址类型存在差异,参考平台URL支持表。
- errorCB: ( OpenErrorCallback ) 可选 打开URL地址失败的回调 打开指定URL地址失败时回调,并返回失败信息。
- identity: ( String ) 可选 指定打开URL地址的程序名称 在iOS平台此参数被忽略,在Android平台为程序包名,如果指定的包名不存在,则打开URL地址失败。
- appInf: ( 【【淘密令】】 ) 必选 要启动第三方程序的描述信息
- errorCB: ( LaunchErrorCallback ) 必选 启动第三方程序操作失败的回调函数 启动第三方程序失败时回调,并返回失败信息。
除了简单的打开App,我们更多的时候想要直达。这里汇总了很多有用的直达案例:
- 使用应用商店打开指定App,可用于引导评分
- 强制使用应用宝打开指定App
- 打开淘宝搜索页面。需要你要做淘宝客,需要向淘宝申请自己的scheme参数并传入。
- 打开地图并指定地点
- 打开qq并到指定聊天界面,可用于客服 具体代码见下:
可在manifest中可配置。
调用第三方程序
jmeter接口测试教程
一、用百度的网页测试200个用户在10秒之内同时访问百度的网页,每个用户只访问一次【【网址】】
1、首先点击测试计划,右键,添加线程组,如图:
线程组页面如图: 线程数:就是模仿用户并发的数量,Ramp-up:运行线程的总时间,单位是秒,循环次数:就是每个线程循环多少次。
我现在的线程数是200,就是相当于有200个用户,运行线程的总时间是10秒。也就是说在这10秒中之内200个用户同时访问,一秒钟有20个用户同时访问,每个用户循环一次,也就是访问一次。
2、点击测试计划,右键添加HTTP请求的默认值:如图 HTTP请求默认值界面:
协议:web的请求头是什么就是什么,这里拿百度做参考,输入https,服务器或IP:就输入百度的地址就可以了
3、添加HTTP请求,鼠标右键点击线程组,添加HTTP请求:
HTTP页面:
协议和ip地址可以不用输入,因为在HTTP的默认值我们已经添加了,这里只需要在路径加/表示是在根目录,不填写IP地址就使用的默认的。
4、添加聚合报告,查看结果树,用表格查看结果,右键点击线程,添加*,如图:
下面就可以通过这三者进行分析:
查看结果树:
通过察看结果树,我们可以看到每个请求的结果,其中红色的是出错的请求,绿色的为通过。
Thread Name:线程组名称
Sample Start: 启动开始时间
Load time:加载时长
【【微信】】:等待时长
Size in bytes:发送的数据总大小
Headers size in bytes:发送数据的其余部分大小
Sample Count:发送统计
Error Count:交互错误统计
Response code:返回码
Response message:返回信息
Response headers:返回的头部信息
这里绿色的就说明请求是通过的,返回值是200,如果出现红色的×就说明请求失败,这时候可以通过右边的取样器结果和响应数据来查看结果。
聚合报告分析:
这里可以看到很多数据,相关名词解释如下:
Sample:本次测试场景共运行多少线程;
Average:平均响应时间;
Median:统计意义上的响应时间中值;
90% line:所有线程中90%的线程响应时间都小于xx的值;
Min:响应最小时间;
Max:响应最大时间;
Error:出错率;
Throughput - 吞吐量以“re【【微信】】econd、re【【微信】】 /minute、 re【【微信】】 /hour”来衡量。 时间单位已经被选取为second,所以,显示速率至少是1.0,即每秒1个请求。 当吞吐量被保存到CVS文件时,采用的是re【【微信】】econd,所以30.0 re【【微信】】econd 在CVS中被保存为0.5
Kb/sec - 以Kilobytes/seond来衡量的吞吐量
200个用户在10秒中同时访问百度的页面,平均响应时间是85毫秒,最大的响应时间841毫秒,最小的响应时间是37毫秒,错误率为0,说明百度网页 的性能还是不错的,每个页面都能很快的得到响应,不用1秒钟。
用表格查看结果: 名词解释如下:
Sample:每个请求的序号
【【微信】】:每个请求开始时间
Thread Name:每个线程的名称
Label:Http请求名称
Sample Time:每个请求所花时间,单位毫秒
Status:请求状态,如果为勾则表示成功,如果为叉表示失败。
Bytes:请求的字节数
样本数目:也就是上面所说的请求个数,成功的情况下等于你设定的并发数目乘以循环次数
平均:每个线程请求的平均时间
最新样本:表示服务器响应最后一个请求的时间
偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。
在这里面可以看到,线程组名称,每个线程响应时间,返回结果是否成功,字节数等。
如何只清楚部分数据:
点击左边要清楚的选项,比如,清楚上一次百度页面测试的聚合报告,点击聚合报,然后点击工具栏的扫把图标即可,这个只是清除你选择的内容。
二、用淘宝的页面来测试200个用户在10秒钟之内同时访问该网址【【网址】】
可以重新走上面的步骤,在建一个线程组,也可以直接把聚合报告结果清楚掉,把IP地址更换成淘宝地址,然后运行即可。
200个用户在10秒中同时访问淘宝的网页,得到的聚合报告结果如下:
平均的响应时间是283毫秒,最大的响应时间是547毫秒,最小的响应时间是246毫秒,错误率为0,比百度的网页的响应时间要快点。
三、用公司目前做的项目做了一个压力测试,同样是200用户在10秒中之内访问该网页,得到结果如下:
以上是个人总结的压力测试,这只是简单的一个同时访问的网页的性能。