app

appium启动app

天涯浪子 提交于 2020-01-13 04:38:51
前面一篇已经搭建好了环境,接下来我们就启动app,如何启动呢,首先我们要获取到包名,还要获取到launcherActivity 一、获取apk包名、launcherActivity名 1、清除logcat内容,使用命令adb logcat -c 2、启动logcat,使用命令adb logcat ActivityManager:I *: s 3、打开被测试的app 包名:com.sina.weibo launcherActivity名:com.sina.weibo.VisitorMainTabActivity 二、编写脚本 1platformName:这里是android的apk 2.deviceName:手机设备名称,通过adb devices查看 3.platformVersion:android系统的版本号 4.appPackage:apk包名 5.appActivity:apk的launcherActivity # coding=utf-8 from appium import webdriver desired_caps = { 'platformName' : 'Android' , 'deviceName' : '127.0.0.1:62001' , 'platformVersion' : '5.1.1' , # apk包名 'appPackage' : 'com

Google App Engine调试大法

强颜欢笑 提交于 2020-01-13 02:24:40
做Google App Engine开发差不多半年了,做开发调试是少不了的。这里总结一下调试的几种方法。 本地开发服务器 在正式将自己的项目上传到真实环境之前,我们肯定要在自己的本地开发服务器上进行调试开发,对于本地开发服务器的一个好处是,不用每次等待漫长的应用上传部署时间。调试的方便之处是可以加设断点,单步跟踪,而且可以看到上下文环境的变量的值和语句的执行流程。还有根据Console控制台,可以看到一些即时的输出信息。我使用的是Eclipse,如图所示: 真实环境服务器 但是开发服务器还是和真是环境的服务器有区别的,很有可能在本地运行一切正常,但是部署到真实服务器就出现问题。打印日至是个好东西,Python中提供了logging类,用来记录日志,Google也提倡使用logging,并且可以在App Engine的后台察看log。如下图所示。Python 日志记录模块允许开发人员记录 5 个级别的严重性:调试、信息、警告、错误和关键。 并且你可以上传多个版本到服务器上,并且可以同时浏览多个版本,可以在后台Versions中切换当前版本。还可以开启dubug模式,可以在一个调试版本中开启Debug模式,这样当发生错误时,浏览器会显示相关错误信息。 Google还提供了一个Admin的Interactive Console控制台,通过在App.yaml中添加, - url:

Web App和Native App 谁将是未来

眉间皱痕 提交于 2020-01-12 05:00:12
未来是Web App的天下,还是Native App的天下?作为设计师,我们是应该努力把客户端的体验提升到最优,还是在网页应用层面上做更多的设计?这个一直是大家关心的话题。那么,我们首先应该立体的认识一下Web App和Native App。 一、Web App Web无需安装,对设备碎片化的适应能力优于App,它只需要通过XHTML、CSS和JavaScript就可以在任意移动浏览器中执行。随着iPhone带来的WebKit浏览体验升级,使得专为iPhone等有WebKit浏览内核的移动设备开发的Web应用,也有了如App一般流畅的用户体验。 图1 谷歌 Voice 和谷歌 Gmail是Web App的设计典范 Web App的优势: 1.开发成本低 2.适配多种移动设备成本低 3.跨平台和终端 4.迭代更新容易 5.无需安装成本 Web App的劣势: 1.浏览的体验短期内还无法超越原生应用 2.不支持离线模式(html5将会解决这个问题) 3.消息推送不够及时 4.调用本地文件系统的能力弱 图2 街旁和百度小说,采用HTML5实现了接近Native的体验效果 二、Native App 而App因为位于平台层上方,向下访问和兼容的能力会比较好一些,可以支持在线或离线,消息推送或本地资源访问,摄像拨号功能的调取。但是由于设备碎片化,App的开发成本要高很多

SWA2G422&485JK2G基础篇: 手机APP通过APMACBind方式绑定W5500(以太网)设备,实现MQTT远程通信控制

此生再无相见时 提交于 2020-01-12 02:07:07
说明   上一节演示了W5500实现MQTT通信控制   通过上一节咱知道   W5500订阅的主题为:user/W5500的MAC地址   W5500发布的主题为:device/W5500的MAC地址   这节演示下APP利用APMACBind方式获取W5500的MAC地址,进而做到和W5500实现MQTT通信 APMACBind方式介绍   APMACBind是我自己做的一种方式,这种方式目前有一个项目在使用   不过那是前年做的项目,当时是为了解决微信配网绑定问题   不过自从微信小程序支持了UDP,这种方式也被我淘汰(在我心底被淘汰了,有了更为简便的方式)   不过还是有必要拿出来讲一下,因为这种方式比较经典!体现了知识的灵活运用.   首先说明简要说明一下如何实现的让手机APP获取W5500的MAC地址   1.W5500连接路由器,连接上MQTT   2.W5500获取路由器的MAC地址   3.W5500发布的主题:device/路由器MAC   4.手机APP和W5500连接一个路由器   5.手机APP获取路由器MAC地址   6.手机APP订阅:user/路由器MAC   这样W5500就能够把自身的MAC地址通过MQTT发给手机APP,实现绑定   至于为什么用路由器的MAC地址作为主题(因为唯一)   所有用户都用一个MQTT服务器

vue学习第一天

那年仲夏 提交于 2020-01-12 01:40:39
什么是MVVM模式,这样设计有什么优点 MVVM模式室友经典的软件构架MVC衍生出来的,当View(视层图)发生变化的时候,会自动更新到ViewModel(视图模型),反之亦然,View和ViewModel之间通过双向绑定(data-bingding)建立联系。 创建一个vue对象并和视图进行绑定,然后在该div中分别用插值表达式、v-text、v-html获取到vm下data中的msg的值 <div id="app"> <h3>===={{msg}}====</h3> <h3>{{msg2}}</h3> <div v-html="msg2">==============</div> <div v-text="msg2">==============</div> </div> <script src="js/vue.js"></script><!--导入vue.js--> <script> var vm = new Vue({ el: '#app',/*挂载id为app标签等同于document.querySelector("#app")*/ data: { msg: 'hello world!', msg2: '<h1>nihao</h1>' } }) v-text和v-html和插值表达式的差别 var vm = new Vue({ el: '#app', data: {

移动端APP之手工测试基础2

北城余情 提交于 2020-01-11 23:49:49
文章目录 1.APP性能测试的分类 2.性能测试 3.用户体验测试 4.稳定性测试 5.你是如何测试APP? 1.APP性能测试的分类 后端服务器的性能测试 APP客户端的性能测试 APP稳定性测试 2.性能测试 性能测试关注的指标 CPU 内存 流量 电量 启动时间 流畅度 GT工具的介绍 功能 基础性能指标测试:CPU、内存、流量、电量、流畅度 获取手机日志 进行数据抓包 安装 APK安装包直接安装,只有Android GT SDK 集成到被测的应用,有Android和IOS GT工具的使用 AUT界面 选择被测应用 选择检测指标 参数界面 选择整机的检测指标 保存检测的数据 查看检测数据 命令 adb devices # 查看当前adb工具和手机是否连接 192.168.27.101:5555 device adb shell # 进入手机终端 adb pull 手机中文件的路径 电脑文件夹的路径 手机日志 在日志界面,点击logcat开关 点击保存按钮,保存日志文件 手机抓包 进入插件界面,点击抓包插件 直接点击开始抓包,点击停止,保存数据 CPU测试 cpu的指标 CPU的状态 用户态-处理应用程序的时间 系统态-处理系统内核的时间 空闲态-处理空闲进程的时间 CPU的使用率 CPU的使用率 = (用户态+系统态)/总时间 jiffies

iOS-UIApplication

不想你离开。 提交于 2020-01-11 21:06:14
一、UIApplication 1.简介 1> 整个应用程序的象征,一个应用程序就一个UIApplication对象,使用了单例设计模式 2> 通过[UIApplication sharedApplication]访问这个单例对象 2.常见用法 1> 设置图标右上角的红色提示数字 app.applicationIconBadgeNumber = 10; 2> 设置状态栏的样式 app.statusBarStyle = UIStatusBarStyleBlackOpaque; 3> 控制状态栏的显示和隐藏 app.statusBarHidden = YES; 4> 显示状态栏上面的圈圈 app.networkActivityIndicatorVisible = YES; 5> 打开外部资源 * 打开网页 [app openURL:[NSURL URLWithString:@"http://www.baidu.com"]]; * 打电话 [app openURL:[NSURL URLWithString:@"tel://10086"]]; * 发短信 [app openURL:[NSURL URLWithString:@"sms://10086"]]; 6> 代理属性(当应用程序发生了一些系统级别的事件,就会通知代理,交给代理去处理) @property(nonatomic

vue+cordova开发app

自古美人都是妖i 提交于 2020-01-11 21:04:53
环境搭建 // node vue-cli3 此环境用于前端项目构建 // cordova 用于app项目创建,编译,打包 // java jdk 用于安卓app项目编译 // android sdk 用于安卓项目 // xcode 只能在苹果pc设备安装,用于打包苹果项目 来源: CSDN 作者: webprevious 链接: https://blog.csdn.net/weixin_32682577/article/details/102766541

UIApplication

安稳与你 提交于 2020-01-11 20:59:35
什么是 UIApplication UIApplication 对象是应用程序的象征 每一个应用都有自己的 UIApplication 对象,而且是单例的 通过 [ UIApplication sharedApplication ] 可以获得这个单例对象 一个 iOS 程序启动后创建的第一个对象就是 UIApplication 对象 利用 UIApplication 对象,能进行一些应用级别的操作 UIApplication 的常用属性 设置应用程序图标右上角的红色提醒数字 @property(nonatomic) NSInteger applicationIconBadgeNumber; 设置联网指示器的可见性 @property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible; 利用 UIApplication 来管理状态栏 如果想利用 UIApplication 来管理状态栏,首先得修改 Info.plist 的设置 openURL: UIApplication 有个功能十分强大的 openURL : 方法 - ( BOOL )openURL:( NSURL *)url; openURL: 方法的部分功能有 打电话 UIApplication

单例 对象UIApplication

旧街凉风 提交于 2020-01-11 20:56:09
IOS笔记之UIApplication 看了关于UIApplication东西,总结一下; 1.什么是UIApplication? 每个应用程序都会有自己的UIApplication,这个对象是个单例对象,是系统自动创建的,并且在程序启动后创建的第一个对象; 获取这个对象时,只能通过[UIApplication shareApplication],不可以用alloc等手动创建; 2.UIApplication功能 当需要进行一些应用级别的操作时可以利用UIApplication: 设置应用程序图标右上角的红色提醒数字 设置联网指示器的可见性 设置应用程序的状态栏 进行应用之间的跳转 3.UIApplication的具体用法 设置应用程序的提醒数字 //获取UIApplication UIApplication app = [UIApplication sharedApplication]; //注册用户通知 UIUserNotificationSettings setting = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil]; [app registerUserNotificationSettings:setting]; //设置提醒数字 app