js代码

FAutoTest-微信小程序 / 公众号H5 自动化利器

女生的网名这么多〃 提交于 2020-01-16 23:42:30
X5内核H5自动化背景 近来有很多童靴咨询如何做微信小程序/公众号等H5页面来做自动化,之前写了一篇文章微信小程序自动化测试实践 https://www.cnblogs.com/yyoba/p/9455519.html/ 其中的工具是用appium来做。但是微信小程序/公众号这种H5页面是用微信自家X5内核来渲染的,appium对其支持的并不是非常理想,通过ChromeOption定制X5内核的进程运行时其稳定性不尽如人意,最近有关注到腾讯自家开源了专门做微信小程序/公众号H5页面自动化的框架,所以给各位小伙伴们唠叨唠叨。 FAutoTest FAutoTest是腾讯自家开发来做微信H5页面的自动测试框架,既然企鹅能将其开源,说明这个框架应该是经过其内部验证实践的。我们可以从GitHub上找到这个开源项目地址 https://github.com/Tencent/FAutoTest/ 框架的介绍和使用需要的环境官方网址已经介绍的非常详细了(对于英文犯晕的同学友好度max),这里就不多做介绍。 还要再重点强调一遍,必须要打开微信的内核debug模式,怎么打开可以参考我之前的微信小程序自动化测试实践这篇blog。之前是写的微信小程序实践,那这篇就拿公众号来试下水。 FAutoTest实践 工具选型 官方有对其介绍:框架内打包了 Python 版本的 UIAutomator,方便在安卓

前端js的快速搭建

為{幸葍}努か 提交于 2020-01-16 20:58:31
前端js的快速搭建 1:先安装node.js软件,用于查找并下载其他js脚本(具体教程找菜鸟) 传送门(https://www.runoob.com/vue2/vue-install.html) cnpm install --global vue-cli 创建一个基于 webpack 模板的新项目 vue init webpack my-project 2: 再使用 npm install vue 安装 vue ,自带webpack打包工具 3: 再通过 webpack 安装脚手架,创建一个demo工程 在安装途中遇到的问题及结解决办法 vue-cli · Failed to download repo vuejs-templates/webpack:unable to verify the first certificate 由于ssl证书问题,可修改配置文件绕过验证 打开vue-cli默认路径 C:\Users<UserName>\AppData\Roaming\npm\node_modules\vue-cli\node_modules\download(如果不是默认的文件夹, 是自定义的文件夹路径的话就是在自定义文件夹的目录下) 打开目录下的index.js 将下面这行注释: rejectUnauthorized: process.env.npm_config_strict

hexo g 或者 hexo s 报错FATAL Something's wrong.

a 夏天 提交于 2020-01-16 20:43:40
如题hexo在构建templates时出错 报错原因是 INFO Start processing FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html Template render error: (unknown path) [Line 282, Column 5] unexpected token: % at Object._prettifyError (/home/jason/Documents/blogs/node_modules/nunjucks/src/lib.js:36:11) at Template.render (/home/jason/Documents/blogs/node_modules/nunjucks/src/environment.js:524:21) at Environment.renderString (/home/jason/Documents/blogs/node_modules/nunjucks/src/environment.js:362:17) at Promise (/home/jason/Documents/blogs/node_modules/hexo/lib/extend

【JS核心概念】this的指向

谁说胖子不能爱 提交于 2020-01-16 16:01:08
重点: [x] this的指向是函数被调用的时候确定的; [x] 箭头函数中this的指向来自它定义时所处的外部环境。 写在前面:非严格模式下,在浏览器环境中全局对象为window对象,在Node环境中全局对象为global对象,严格模式下,全局对象为undefined。 以下代码运行环境为浏览器,因此全局对象为window对象,使用var和function命令声明的全局变量会变成全局对象的属性。 一、分类讨论 1. 函数名调用模式 如果一个函数中存在this,且直接以函数名的形式调用,那么this指向全局对象; var a1 = 1; function fn1() { var a1 = 2; console.log(this.a1); console.log(this); } fn1(); // 输出结果为: // 1 => 以函数名的形式直接调用fn1,此时fn中的this指向全局对象Window,因此this.a1等于1 // Window function fn2() { var a2 = 2; console.log(this.a2); console.log(this); } fn2(); // 输出结果为: // undefined => 此时fn中的this指向全局对象Window,而Window中没有定义变量a,因此返回undefined // Window

js 处理并且 、或者、 包含 、不包含的多条件查询

风格不统一 提交于 2020-01-16 14:44:01
需求:前端的多条件查询,特别涉及到并且/或者,还有包含/不包含 如图 所以查询得时候的考虑一些问题,具体如下: 1、目前查询的时候拿到的用户数据格式如下: let data= [ {cond: { keyword:"年会", operate:"$regex",//包含关系 }, { keyword:"^((?!2019).)*$", operate:"$regex",//不包含例子,统一处理为包含关系,区别在于keyword } }, relation:"$and",//并且/或者$or关系 } ] 2、目前是统一处理为包含关系,所以不包含得情况下需要转化一下数据 比如如果是选得不包含情形,进行处理为包含 2.1 、包含/不包含得html //html <select class="condition-search-select icon-aggrid-select relation"> <option value="$regex">包含</option> <option value="nor">不包含</option> </select> 2.2 、js不包含得数据处理为包含关系 //不包含得值得组装 if(this.el.find('.condition-search-select.relation').eq(i).val() == 'nor') { let keyword =

js 6.三元运算符

白昼怎懂夜的黑 提交于 2020-01-16 12:19:02
6.js的三元运算符 在我们日常的逻辑开发中发现有时候一些逻辑用到if else 太复杂,为了代码的简洁,就有了三元运算符、 格式 : 表达式? ’ 成功返回的值’: '失败返回的值 '; 表达式:可以填写逻辑判断,比较,是否为true 成功返回的值是字符串 失败返回的值是字符串 < ! DOCTYPE html > < html > < head > < meta charset = "UTF-8" > < title > < / title > < script type = "text/javascript" > //三元运算判断年龄 // var age = prompt('你的年龄是?'); // var gt = (age>=18)?'成年':'未成年'; // document.write(gt); var sex = prompt ( "你的性别是? 1是男生 2是女生" ) ; var gt = ( sex == 1 ) ? '男' : '女' ; document . write ( gt ) ; < / script > < / head > < body > < / body > < / html > 勤加练习你可以的。 来源: CSDN 作者: 高处的天空 链接: https://blog.csdn.net/weixin_43714301/article

js,JQuery实现,带筛选,搜索的select

倾然丶 夕夏残阳落幕 提交于 2020-01-16 10:52:04
代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>网上找了个插件,但是不好用</title> <script src="jquery.js" charset="utf-8"></script> <style> body,html{padding:0;margin:0;width:100%;height:100%;} </style> </head> <body> <div style="height:500px;margin:20px;"> <!-- option必须带有 value 的值 --> <select id="magicsuggest" data-edit-select="1"> <option value="1">哇哈哈</option> <option value="2">天天</option> <option value="3">xx</option> <option value="1">哇哈哈哇哈哈哇哈哈哇哈哈哇哈哈</option> <option value="2">天天</option> <option value="3">xx</option> <option value="1">哇哈哈</option> <option value="2">天天</option> <option

kotlin Android与JavaScript如何交互

怎甘沉沦 提交于 2020-01-16 09:09:04
什么是JS交互: 说的通俗一点就是前端一些调用不了原生代码的功能,或者在一些复杂页面和混排页面上,原生没有网页来得快,所以在实际项目中,很多情况下都是原生页面掺杂着webView 加载js的网页的,这就涉及到两者之间的交互以及传值问题。 Android调用JS方法: 通过WebView的loadUrl()调用(API小于等于18使用) 通过WebView的evaluateJavascript()调用(API大于18使用) JS调用Android方法: 通过WebView的addJavascriptInterface() 通过WebViewClient的shouldOverrideUrlLoading()回调拦截url 通过 WebChromeClient 的onJsAlert()、onJsConfirm()、onJsPrompt()方法回调拦截JS对话框alert()、confirm()、prompt()方法 由于方法二和方法三使用方法复杂,大多数同学使用的都是方法一,但是方法一存在严重漏洞,这里不做过多介绍。 Android调用Js方法 1、把需要测试的js代码放到src/main/asserts文件夹下,测试代码如下 2、配置wevView属性,并写一个测试按钮进行点击监听 由于是测试,我把js代码文件放到了asserts进行加载测试,实际项目中是加载的链接,道理都一样

JS版剑指Offer

旧城冷巷雨未停 提交于 2020-01-16 08:43:34
这篇是整理了一部分刷的算法题的大概解题思路,怕自己以后忘记,后续还会更新。 其中解题思路也会在代码中的注释有体现 二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 //因为每一行从左到右递增,从上到下递增,所以右上角的数是整个二维数组最大的数 //所以从右上角的数开始比较比target大就行数减一,比target小就列数加一 function Find ( target , array ) { if ( array . length == 0 || array == undefined || array [ 0 ] . length == 0 ) return false ; let rows = array . length ; let cols = array [ 0 ] . length ; let row = 0 ; let col = cols - 1 ; while ( row < rows && col >= 0 ) { if ( array [ row ] [ col ] == target ) return true ; if ( array [ row ] [ col ] > target ) col

require.js 入门学习 (share)

ぐ巨炮叔叔 提交于 2020-01-16 07:20:05
   最近的项目用到了require.js ,搜集一些资源留个备份,顺便分享给大家。   以下内容转自 阮一峰 老师的网络日志: http://www.ruanyifeng.com/blog/2012/11/require_js.html   更多学习资源:     require.js官网: http://requirejs.org/docs/download.html     一篇不错的文章: http://www.csdn.net/article/2012-09-27/2810404 一、为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。   <script src="1.js"></script>   <script src="2.js"></script>   <script src="3.js"></script>   <script src="4.js"></script>   <script src="5.js"></script>   <script src="6.js"></script> 这段代码依次加载多个js文件。 这样的写法有很大的缺点。首先,加载的时候,浏览器会停止网页渲染,加载文件越多