首页 文章 精选 留言 我的

精选列表

搜索[移动应用云],共10000篇文章
优秀的个人博客,低调大师

APP移动端测试点

以下所有测试最后必须在真机上完整的执行1、安装、卸载测试 在真机上的以及通过91等第三方的安装与卸载安装在手机上还是sd卡上2、启动app测试3、升级测试 数字签名、升级覆盖安装、下载后手动覆盖安装、跨版本升级、升级后可以正常使用。 覆盖安装要确保数据库有字段更新的话,能正常更新,否则就容易导致app异常。4、功能测试 包括功能点、业务逻辑、关联性(主要测试客户端与PC端的交互,客户端处理完后,PC端与客户端数据一致)、 服务端接口测试(主要通过访问服务端接口来验证服务端业务逻辑功能点是否正确)5、数据对比测试 可在模拟器或真机上进行,同时与数据库中实际的插入记录做对比。还要对比主站的相同流程6、性能7、安全8、android特性测试(横竖屏,home键,音量键,power键等)9、各种网络状态下进行的测试(包括飞行模式) 3G上网:td-cdma、cdma2000、wcdma能否正常使用。 edge、gprs能否正常使用(主要测试是否支持net接入点和wap接入点)10、中断性测试 如突然来电短信弹出低电量等时app能否正常使用11、app切换测试(最小化、多个app切换)12、关机、待机后app能否正常使用13、兼容性测试 android各种版本各种分辨率QVGA、WVGA、HWVGA等与其他第三方app的兼容14、app在清空数据或强制退出后还能正常运行否15、api,包括在app内跳转到另一个界面,在返回来,以及跳转到系统api16、app对资源的占用(cpu、内存、耗电、流量等)17、app本身涉及的权限18、长时间开机且开app,看是否会出现异常情况19、互动分享:如果程序里面包括分享功能,那么检测点击分享的时候是否会正常给出分享提示,点击分享后所填写的分享内容是否正确

优秀的个人博客,低调大师

打造IOS移动渗透测试平台

是否要越狱,我纠结了很久。Android平台上有很好的图形化黑客工具dsploit和zANTI。东哥从来没有用过Android系统,就不做过多评价。在触屏上敲命令行是一件非常痛苦的事情。 本着生命不息,折腾不止的精神。 用黑哥的话说“整就牛!” ---------------------------------------------------------------------- 首先越狱 安装OpenSSH,修改默认密码(iPhone默认root/alpine) 安装BigBoss Recommendation tools,几乎所有流行的黑客工具都可以在 BigBoss Recommendation tools这个包中找到。 安装: MobileTerminal,它能够让你在设备上直接运行命令行。 ------------------------------------------------------------------------------------------------------ 现在基本环境已经搭建好,今天先安装metasploit,建议用电脑ssh手机安装。 下载ruby环境 wget http://apt.saurik.com/cydia/debs/ruby_1.8.6-p111-5_iphoneos-arm.deb wget http://apt.saurik.com/cydia/debs/rubygems_1.2.0-3_iphoneos-arm.deb 安装ruby dpkg -i ruby_1.8.6-p111-5_iphoneos-arm.deb dpkg -i rubygems_1.2.0-3_iphoneos-arm.deb 安装metasploit git clone git://github.com/rapid7/metasploit-framework 本文转自文东会博客51CTO博客,原文链接http://blog.51cto.com/hackerwang/1607840如需转载请自行联系原作者 谢文东666

优秀的个人博客,低调大师

【移动开发】WIFI热点通信(一)

之前调查过Android中WIFI模块的使用,也写过两篇学习总结的文章(http://smallwoniu.blog.51cto.com/3911954/1334951),后来发现DEMO里面还是有许多不足之处,前段时间有不少人Q我,问到WIFI模块中的一些细节,小弟这里只能说声抱歉,因为当时的我也还没研究到那个层次呀。。。,后来毕业设计选题干脆直接选择了关于WIFI热点通信方面的题目,调查和整理了一些资料,进行了一段时间的学习算是弥补了自己的短板吧,主要还是希望自己能够更加全面的掌握这方面的知识。 废话不多说了!今天主要讲解WIFI热点通信的前期准备工作: 1.热点创建:创建指定名称的热点。 2.热点搜索:搜索附近可用热点,生成列表。 3.热点连接:在列表中点击指定名称的WIFI项,进行连接操作。 一.框架搭建 说明: 1.几个权限: 1 2 3 4 5 6 < uses-permission android:name = "android.permission.INTERNET" /> < uses-permission android:name = "android.permission.ACCESS_NETWORK_STATE" /> < uses-permission android:name = "android.permission.CHANGE_NETWORK_STATE" /> < uses-permission android:name = "android.permission.ACCESS_WIFI_STATE" /> < uses-permission android:name = "android.permission.CHANGE_WIFI_STATE" /> < uses-permission android:name = "android.permission.WAKE_LOCK" /> 2.相关类图: 二.模块讲解 接下来通过以下三个部分功能来逐一剖析,在此之前首先看一张最终的效果图加深以下印象: (由于本章讲解的部分是我的整个项目中的一部分,所以大家不用在意图片素材等其他细节) 2.1热点创建 点击WIFI管理界面中创建热点按钮,首先会检测当前WIFI是否可用,若可用则需将其关闭掉才能创建WIFI热点,因为手机热点把手机的接收GPRS或3G信号转化为WIFI信号再发出去,即你的手机就成了一个WIFI热点,所以共享和接收功能是不能同时进行的。之后就是创建指定名称的热点过程。热点创建时序图如下图所示。 几个核心方法: startApWifiHot() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 /** *createahotwifi * *@paramwifiName */ public boolean startApWifiHot(StringwifiName){ Log.i(TAG, "intostartApWifiHot(StringwifiName)wifiName=" +wifiName); if (wifiManager.isWifiEnabled()){ wifiManager.setWifiEnabled( false ); } if (mWifiHotAdmin!= null ){ return mWifiHotAdmin.startWifiAp(wifiName); } Log.i(TAG, "outstartApWifiHot(StringwifiName)" ); return false ; } createWifiAp() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 /** *starthotpot *@paramwifiName *@return */ private boolean createWifiAp(StringwifiName){ Log.i(TAG, "intostartWifiAp()启动一个Wifi热点!" ); Methodmethod1= null ; boolean ret= false ; try { //setWifiApEnabledis@hide,soreflect method1=mWifiManager.getClass().getMethod( "setWifiApEnabled" , WifiConfiguration. class , boolean . class ); WifiConfigurationapConfig=createPassHotWifiConfig(wifiName,Global.PASSWORD); ret=(Boolean)method1.invoke(mWifiManager,apConfig, true ); } catch (IllegalArgumentExceptione){ e.printStackTrace(); Log.d(TAG, "stratWifiAp()IllegalArgumentExceptione" ); } Log.i(TAG, "outstartWifiAp()启动一个Wifi热点!" ); return ret; } 2.2热点搜索 点击WIFI管理界面中搜索热点按钮,同创建一样,首先需要检测WIFI热点是否关闭,将其关闭掉后才能打开WIFI搜索功能。在搜索完成后系统会发送WIFI状态变化广播来通知消息栏,这里通过自定义广播接收器接收了搜索成功消息,最后通过回调MainActivity中disPlayWifiScanResult()来显示WIFI列表。 几个核心方法: scanWifiHot() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 /**scanwifihot**/ public void scanWifiHot(){ Log.i(TAG, "intowifiHotScan()" ); if (mWifiHotAdmin.isWifiApEnabled(wifiManager)){ mWifiHotAdmin.closeWifiAp(); } if (!wifiIsOpen()){ //WIFIisclosecurrently //listentothespecifiedSSIDwifistate registerWifiStateBroadcast( "" ); mWifiStateReceiver.setOperationsType(OperationsType.SCAN); //openwifi openWifi(); } else { //WIFIisopencurrently scanNearWifiHots(); } Log.i(TAG, "outwifiHotScan()" ); } scanNearWifiHots() 1 2 3 4 5 6 /**scannearwifi**/ private void scanNearWifiHots(){ registerWifiScanBroadcast(); //startscan wifiManager.startScan(); } 说明:这里的扫描实现过程是通过调用系统中WifiManager中扫描功能。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 /** *Requestascanforaccesspoints.Returnsimmediately.Theavailability *oftheresultsismadeknownlaterbymeansofanasynchronouseventsent *oncompletionofthescan. *@return{@codetrue}iftheoperationsucceeded,i.e.,thescanwasinitiated */ public boolean startScan(){ try { mService.startScan( false ); return true ; } catch (RemoteExceptione){ return false ; } } 2.3热点连接 在搜索完成之后,需要在WIFI列表中找到游戏的热点,点击连接过程会处理一系列逻辑:当前WIFI可用、是否已经连接、注册WIFI状态变化广播等,之后,开启独立线程进行热点匹配连接,热点连接时序图如图所示。 几个核心方法: connectToHotpot() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 /** *connecttohotpot * *@paramssid *@paramwifiList *@parampassword */ public void connectToHotpot(Stringssid,List<ScanResult>wifiList,Stringpassword){ if (ssid== null ||password.equals( "" )||!ssid.equals(Global.HOTPOT_NAME)){ Log.d(TAG, "WIFIssidisnullor" ); mWifiBroadCastOperator.disPlayWifiConnResult( false , null ); return ; } if (ssid.equalsIgnoreCase(mSSID)&&isConnecting){ Log.d(TAG, "samessidisconnecting!" ); mWifiBroadCastOperator.disPlayWifiConnResult( false , null ); return ; } if (!checkCoonectHotIsEnable(ssid,wifiList)){ Log.d(TAG, "ssidisnotinthewifiList!" ); mWifiBroadCastOperator.disPlayWifiConnResult( false , null ); return ; } if (!wifiIsOpen()){ //listentossidwifi registerWifiStateBroadcast(ssid); mWifiStateReceiver.setOperationsType(OperationsType.CONNECT); //openwifi openWifi(); } else { //realconnecting enableNetwork(ssid,password); } } enableNetwork() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 /** *connectwifihotreallybythread * *@paramssid *@parampassword */ private void enableNetwork( final Stringssid, final Stringpassword){ //deletemoreconnetedwifi deleteMoreCon(ssid); registerWifiConnectBroadCast(); new Thread( new Runnable(){ @Override public void run(){ WifiConfigurationconfig=WifiHotConfigAdmin.createWifiNoPassInfo(ssid,password); //ifconnectissuccessful isConnecting=connectHotSpot(config); mSSID=ssid; if (!isConnecting){ Log.i(TAG, "intoenableNetwork(WifiConfigurationwifiConfig)isConnecting=" +isConnecting); return ; } } }).start(); } connectHotSpot() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 /** *connectwifihotifsuccessful * *@paramwifiConfig *@return */ private boolean connectHotSpot(WifiConfigurationwifiConfig){ Log.i(TAG, "intoenableNetwork(WifiConfigurationwifiConfig)" ); //theIDofthenewlycreatednetworkdescription int wcgID=wifiManager.addNetwork(wifiConfig); Log.i(TAG, "intoenableNetwork(WifiConfigurationwifiConfig)wcID=" +wcgID); if (wcgID< 0 ){ return false ; } boolean flag=wifiManager.enableNetwork(wcgID, true ); Log.i(TAG, "outenableNetwork(WifiConfigurationwifiConfig)" ); return flag; } 说明:连接热点的过程实质上就是获取热点配置信息,之后将其添加到自己的网络信息中同时使其可用。 至此,WIFI热点通信的前期工作已经完成,连接的手机端已在同一局域网内,若再有手机连接进来会自动为其分配该网段内的IP地址,接下来我们要做的就是在IP地址上实现数据的传输通信。在下一章中准备实现一个多人聊天室功能,希望能够帮助到大家! 源码下载:http://down.51cto.com/data/1812897 本文转自zhf651555765 51CTO博客,原文链接:http://blog.51cto.com/smallwoniu/1536126,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册