app

3.Appium处理原生与H5的嵌套

狂风中的少年 提交于 2020-01-27 05:13:15
环境前置准备 手机与电脑USB连接,开启USB调试模式,通过adb devices可查看到此设备。 电脑端、移动端安装chrome浏览器。(尽量保证移动端chrome版本低于电脑端) App webview开启debug模式 在电脑端Chrome浏览器地址栏输入 chrome://inspect/#devices ,进入调试模式: 此时页面显示了手机型号、驱动名称、APP要调试的WebView名称 点击inspect,若成功加载与APP端相同界面的调试页面,则配置成功 若获取不到WebView或者调试页面预览框显示空白,则需要进行VPN破解–安装翻墙软件(由于默认的DevTools使用的是appspot服务器,这在国内是需要翻越GWF) 尝试解决方法 : 1、在windows host文件中增加: 61.91.161.217 chrome-devtools-frontend.appspot.com 61.91.161.217 chrometophone.appspot.com 2、使用翻墙软件,如Lantern蓝灯 环境检查 App webview 调试模式检查与开启 基础检查方式 打开app对应的h5页面,在 chrome://inspect/#devices 地址中,检查是否显示对应的webview,如没有,则当前未开启调试模式。 在自动化代码中,进入到对应的H5页面

nodejs之express4x

孤街醉人 提交于 2020-01-27 04:36:29
学习node好榜样!前阵子看了php,那个模块化编译真的好棒。然而php学习起来不是一般的记不住,毕竟和js还是有不同的。于是转移到了node。看到熟悉的js脚本,心里踏实多了。 话不多讲,php我也是要驾驭的,只是要排到后面去了。今天先来个基于node的框架之express4的模板实例 官网api:http://www.expressjs.com.cn/4x/api.html 1.首先,全局安装。 npm install -g express-generator@4 2.检测安装结果 express --version 3.创建项目,这里我选择d盘node文件夹,安装框架模板。 express -e nodeDemo 4.进入项目安装依赖 cd nodeDemo && npm install 5.运行项目,如果不知道运行命令是啥,打开项目根目录下‘package.json’文件,查看scripts对象里默认第一个的属性名,这个模板里叫start。 npm start 6.运行之后,打开项目根目录下的bin文件夹里的www.js,查看这一句代码:‘var port = normalizePort(process.env.PORT || '3000');’3000就是端口号。基于node服务器本机ip原则。在浏览器输入。 localhost:3000 或者 127.0.0.1

h5(HBuilder+mui)开发App

别来无恙 提交于 2020-01-27 02:17:01
h5(HBuilder+mui)开发App 一、h5开发App分析 优点: 开发成本低,简单、快速、方便,一套代码几乎不用怎么修改就可以同时打包ios、android安装包。相比于App原生开发来说,开发成本要低很多 目前很多第三方SDK也越来越多的开放h5端的接口,生态环境比较活跃。 h5开发App,采用的是web前端的html5技术,各方面应用技术栈成熟,资料齐全。 缺点: h5开发App与原生的相比,说到底相当于是将h5界面嵌入到webview中,会存在页面渲染不及原生流畅。如果接触过cordova的朋友,可以研究一下coedova打包完vue成App后代码,其实就是讲h5部分的代码嵌入到原生的activity并通过webview加载。 开发工具框架之类的太多,如果一个不熟悉前端的新人过来,几乎不知道该如何下手。 所以对于一些业务逻辑简单,没有复杂的操作处理的应用,h5开发再合适不过。对一些重型的应用还是原生的为主,h5为辅助也是一个很好的搭配。 二、技术选择 cordova + vue: App整体使用vue项目来编写代码,使用Cordova来打包vue项目成App。 参考: (不过由于Cordova的配置等比较繁琐,本人不太推荐这一种方案) HBuilderX + h5: App整体采用html5,以及mui框架来实现,通过HBuilderX来打包成App。

Flask框架之Flask_app上下文

流过昼夜 提交于 2020-01-27 01:18:42
Flask_app上下文 app上下文,也叫应用上下文。 应用上下文 应用上下文是存放到一个 LocalStack 的栈中。和应用app相关的操作就必须要用到应用上下文,比如通过 current_app 获取当前的这个 app 名字。 视图函数中 在视图函数中,不用担心应用上下文的问题。 因为视图函数要执行,那么肯定是通过访问 url 的方式执行的, 那么这种情况下, Flask 底层就已经自动的把应用上下文都推入到了相应的栈中。 视图函数外 如果想要在视图函数外面执行相关的操作, 比如获取当前的 app 名称,那么就必须要手动推入应用上下文: 第一种方式 from flask import Flask , current_app app = Flask ( __name__ ) #app上下文 app_context = app . app_context ( ) app_context . push ( ) print ( current_app . name ) @app . route ( '/' ) def hello_world ( ) : print ( current_app . name ) #获取应用的名称 return 'Hello World!' if __name__ == '__main__' : app . run ( debug = True )

开启ucosii的移植之旅

╄→尐↘猪︶ㄣ 提交于 2020-01-26 23:15:52
开启ucosii的移植之旅: 4.6.1、移植和硬件平台的关系 (1)只要是cortex-m3内核内核的soc移植差异都不大。 同内核同soc的不同开发板移植差异都不大。 不同内核的开发板移植难度大,找的官方移植的同内核版本为起点。 移植的一般思路: 先找到相近的内核移植好的源码。(官网里找一个) 在开发环境上建立好工程模板后,将ucosii的核心代码添加进去。然后编译,解决报错和警告。(在这里我们只是解决了语法错误,并不知道整个代码具体干了什么事,自己是不清楚的) 下载运行,并小幅修改代码查看结果(验证自己的想法),最后添加并调试项目需要的BSP,编写并调试项目app部分。 4.6.2开始移植代码 跟着朱老师实战一下: 自己的板子是 STM32F103RCT6,建好工程模板。 编译出错3个错误。 ..\app\..\APP\includes.h(52): error: #5: cannot open source input file "stm32f10x_lib.h": No such file or directory 找不到"stm32f10x_lib.h"头文件,因为老版本的缘故,实际上"stm32f10x_lib.h"里边包含了各个外设的头文件。这个在新版本里没有,但是我们有"stm32f10x.h" 还有绝对路径包含的问题,注意自己的文件名大小写以及对错。 .

一、移动端测试概述

二次信任 提交于 2020-01-26 19:26:10
目录 1.如果学习手机APP测试 2.手机关注点 3.手机架构 4.APP测试内容 1.功能测试 2.UI测试 3.兼容性及适配测试 4.弱网测试 5.APP稳定性测试 6.性能测试 7.中断测试 8.接口测试 9.测试分析及测试报告输出 1.如果学习手机APP测试 了解手机行业 了解APP行业 熟悉手机 熟悉流行的APP 先从业务入手,熟悉基本测试点、测试技巧与方法 在深入到架构 先从功能和思维入手 再说性能和自动化 2.手机关注点 系统及版本 系统IOS,Android,BlackBerry,WindowsPhone 注:之间的软件不能互相兼容 版本IOS 12.0,Android 9.0 厂商(苹果、华为、小米等等) 尺寸分辨率 市场占有率 3.手机架构 Applications:日历、联系人邮件等,用Java编写 应用程序框架,开发人员可以访问框架API 系统运行库,为开发者提供服务 Liunx内核 4.APP测试内容 1.功能测试 需求中明确定义的功能 用户常用的功能 软件系统特色功能 软件主要基本功能 功能缺陷: a.功能不起作用(菜单、按钮、链接、控件失效) b.功能错误(与预期的功能不一致,计算结果错误,显示结果错误) c.功能缺失(缺少应该具备的菜单、按钮、选项等) d.执行功能之后全系统瘫痪(崩溃、CPU不足) e.执行功能之后当前功能无法继续操作 2.UI测试

APP抓包( 过二次校验思路)续

旧街凉风 提交于 2020-01-26 07:36:56
简介 做APP安全评估,调试代码等,都会要抓取数据包,但是现在对抗不断升级,APP都会做加固,一些做得好的,很难抓取到的,对抗成本在不断升级,学的东西也越来越多。这次介绍另外一种绕过的姿势。 过程 上面我写的一篇博客 https://blog.csdn.net/tangyuan569/article/details/103800073 已经说了怎么简单抓取数据包,和过二次校验抓取数据包的思路和大概的过程。 今天说说过二次校验的思路,另外一种思路。 你下载了APP 然后解压 很多师傅都是用这个套路,直接杀死SSL进程,然后绕过抓取数据包。 但是做得好的APP这套路已经不行了。 一开代理就这样。 可以用 proxifier代理+模拟器+Windows 先找到模拟器虚拟机运行APP的进程 然后在用BURP抓取数据包 但是这种方式只能骗骗检测本地有没有开代理,对那种花重金投入安全加固的APP。是绕过不过的。 只能先脱壳,然后反编译,然后跟踪代码,写脚本。 具体怎么搞,下次在写,Java还不怎么精通,在拼命的补。 小伙伴们可以关注我微信公众号,一起交流进步,有问题直接留言,我能解答,都会免费解答,没有任何套路。 来源: CSDN 作者: tangyuan569 链接: https://blog.csdn.net/tangyuan569/article/details/103995615

什么是vue?

时光怂恿深爱的人放手 提交于 2020-01-25 23:17:41
vue就是一个js库,并且无依赖别的js库,直接引入一个js文件就可以使用,跟jquery差不多。 vue是法语中视图的意思,Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API。 版本选择? 现在vue分为vue1和vue2这两个大版本,然而现在有一些基于vue的框架还不兼容vue2,不过自己折腾可以随意选择一个的,反正文档还算挺详细。 为什么我们要使用vue? 其实跟jquery差不多,都是简化我们的开发。例如我们可以用vue实现像后端模板渲染的功能,可以更加便捷的绑定dom事件,可以把一些页面的组件打包重复使用。下面我们看看如何简单粗暴的使用vue。 安装 使用npm安装: npm install vue 如何优雅的使用vue当成模板引擎 后端的同学想必挺清楚模板引擎是什么玩意了,而对于刚入门前端的同学来说,往往渲染页面会使用字符串拼接(非常不推荐)或者dom的clone来动态生成html,但是这两种方法写法都很麻烦,而vue却能十分优雅的实现模板渲染这种功能。 我们拿官方的例子来看看,如下图: #hello world <div id= "app"> {{ message }} </div> new Vue({ el: '#app', data: { message: 'Hello Vue.js!' } }) 显示效果: #双向绑定 <div

Vue.js(三):指令

余生颓废 提交于 2020-01-25 20:26:45
指令 指令是带有 v- 前缀的特殊 HTML 标签属性。指令的职责,就是当其属性值改变时,将某些行为应用到 DOM 上。 概述 指令是扩展和复用代码的一种方式。 🥛v-text 可以用属性值设置元素的内容: < span v-text = " value " > </ span > 当 value 修改时,v-text 会修改当前所在元素的内容,这就是 v-text 的某些应用到 DOM 的行为 。 🍺 v-bind 🌰:把 value 和 url 的 href 属性绑定起来: < div id = " app " > < a v-bind: href = " value " > url </ a > </ div > < script > var a = new Vue ( { el : '#app' , data ( ) { return { value : 'http://t.cn/#42' } } } ) </ script > 指令 v-bind 会在绑定的属性值修改时,同步修改由参数(href)指定的属性。 指令的格式: 指令能接受一个 参数 ,在指令后以 “ : ” 指明。 指令能接受一个或者多个 修饰符 ,是以 “ . ” 指明的特殊后缀。 指令能接受一个 单一JavaScript表达式 ,最常见的表达式就是一个属性值。 🍾 v-on 可以声明式地把 Vue

面向全球用户的Teams app之Culture计量单位和禁忌篇

我的梦境 提交于 2020-01-25 18:23:44
我在前一篇文章里分享了Global Ready的app时会遇到的不同文化对于数字方面的挑战。这篇我继续分享不同文化对于计量单位和禁忌方面的挑战。 我们先来看一个例子,假如有一个teams bot,它告诉你一些动物的速度,比如它告诉你: 猎豹能以每小时63英里的速度奔跑 当你看到这个“每小时63英里”是不是觉得还是不知道这个有多快? 再来一个例子,如果一个teams app发消息告诉你: 明天室外温度是38度 如果是夏天,你能理解这个温度很热,出门需要穿的尽量凉快点。但是如果现在是冬天呢?有些同学会立刻反应过来,这个的温度是华氏温度,而不是我们熟悉的摄氏温度。不过,即使告诉你是华氏38度,你能立刻反应过来这个华氏38度很冷,还是一般冷,出门是要穿羽绒服,还是薄外套? 看到这里,各位同学明白了吗?一款好的Global Ready的app,不是把文字翻译到位,翻译精确就可以了。需要针对用户所在的国家区域的文化,进行一些调整。比如我们熟悉的是公里,那不能直接把 63 miles/hour 翻译成 每小时63英里 ,而应该转换成 每小时100公里 ,把 华氏38度 转换成 摄氏3度 。 除了距离,温度,还有体积,重量等不同: 长度: 1 kilometer = 0.6 miles 体积: 1 liter =33.8 ounces 重量: 1 kilogram = 2.2 pounds