为您找到搜索结果:1750个
appium+java(五)微信小程序自动化测试实践
前言:上一篇《appium+java(四)微信公众号自动化测试实践》中,尝试使用appium实现微信公众号自动化测试,接着尝试小程序自动化,以学院小程序为例准备工作 1、java-client3.4.16依赖包 2、微信应用版本7.0.0 3、android手机(7.0+版本) 4、appium-desktopV1.10.0 我仔细看了下,这个小程序使用安卓原生较多,因此,和平常的ui自动化就一样了,不多说,上代码了代码实例/***小程序自动化测试**@throwsException*/@TestpublicvoidtestSmallProgram()throwsException{//发现driver.scrollTo("发现").click();//小程序driver.scrollTo("小程序").click();//老用户专享driver.findElementByName("51CTO学院官方").click();pause(5);//向上滑动五次scrollToS(7);driver.findElementByName("爬虫Scrapy实战开发视频课程"...
appium+java(四)微信公众号自动化测试实践
前言随着手机阅读的普遍应用,微信公众号阅读,更为普遍,微信和qq一样,都是基于腾讯自研X5内核,不是google原生webview(其实就是进行了二次定制)。实质上也是混合应用的一种,现在很多app产品也开始流行采用X5内核作为其内嵌web浏览服务,所以掌握X5内核的混合应用自动化也是重中之重的一种技能X5内核应用自动化方式和普通混合应用有非常多的差异,接下来以微信公众号举例介绍怎么来开展X5内核的自动化准备工作 1、java-client3.4.16依赖包 2、微信应用版本7.0.0 3、手机端和PC端安装chrome浏览器(注意版本最好对应一致) 4、android手机(7.0+版本) 5、chromedriver2.26 6、appium-desktopV1.10.0步骤1、打开微信,在任意窗口输入:debugx5.qq.com在打开的界面中选择信息->勾选是否打开TBS内核Inspector调试功能 2、手机通过usb连接到电脑,打开USB调试模式,通过adbdevices命令检测到设备 3、在chrome浏览器里面输入chrome://i...
使用selenium爬虫抓取数据
写在前面本来这篇文章该几个月前写的,后来忙着忙着就给忘记了。ps:事多有时候反倒会耽误事。几个月前,记得群里一朋友说想用selenium去爬数据,关于爬数据,一般是模拟访问某些固定网站,将自己关注的信息进行爬取,然后再将爬出的数据进行处理。他的需求是将文章直接导入到富文本编辑器去发布,其实这也是爬虫中的一种。其实这也并不难,就是UI自动化的过程,下面让我们开始吧。准备工具/原料1、java语言2、IDEA开发工具3、jdk1.84、selenium-server-standalone(3.0以上版本)步骤1、分解需求:需求重点主要是要保证原文格式样式都保留:将要爬取文章,全选并复制将复制后的文本,粘贴到富文本编辑器中即可2、代码实现思路:键盘事件模拟CTRL+A全选键盘事件模拟CTRL+C复制键盘事件模拟CTRL+V粘贴3、实例代码importorg.junit.AfterClass;importorg.junit.BeforeClass;importorg.junit.Test;importorg.openqa.selenium.By;importorg.openqa.seleniu...
微信红包的设计实践
红包功能的设计实现是一个很有趣的话题,主要的功能是P个人抢总金额M的N个红包,满足先抢的N个人能抢到红包。如果这是一个leetcode的算法题目难度应该是easy,只要保证Ni抢到的金额区间在[0.01,2倍剩余金额平均值)就能ac。将算法带入到真实的工程实现,问题就要复杂得多,如果达到微信的量级,明显要考虑的有以下几点。拆红包高并发读并发写网络流量峰值对账降级故障恢复拆红包有预拆包和实时拆包2种策略预拆包的策略在发红包时将金额M的红包拆分成N份,将分配好的结果放入内存队列或者cache,通过incr操作在用户抢红包时分配预算好的红包slot,预算的策略可以避免对共享资源的操作,减少了锁竞争,服务本身是无状态的,设计和实现相对简单,伸缩性较好。劣势是需要额外的存储空间,如果存在大量活跃红包或者红包份数很多时会增加成本。实时拆包的策略在用户抢红包时实时拆包计算金额,这样只需要保存剩余红包数量和金额,不需要额外保存每个预拆包的红包金额。使用预拆包的策略会面临并发写的问题,如果多个拆红包的请求同时执行会导致数据不一致引起超发的问题,可以使用CAS操作实现乐观锁保证并发拆包不会出现问题。应对高...
微信小程序-canvas组件层级问题
微信小程序在文档中也有描述 native-component大致意思是:canvas组件在微信小程序中属于原生组件,而原生组件层级是最高的,多个同时加载的原生组件,谁加载的越慢谁的层级越高,-_-||解决方法 1.文档中给出 cover-view 和 cover-image 这俩玩意,这俩同为原生组件,可以覆盖部分原生组件 ==> 已自测,成功(推荐) 2.canvas=>img=>展示 1>canvas组件设置样式 position:fixed;top:999999px; 2>加载成功后 wx.canvasToTempFilePath转为图片进行展示updateTempPath(count,canvasId){/*报表完成后渲染之后执行*/setTimeout(()=>{wx.canvasToTempFilePath({x:0,y:0,width://图片的宽,height:/...
微信小程序-使用阿里图标(彩色图标)
1、阿里图标使用帮助2、简述: 阿里图标三种应用方式: 1>unicode:nicode是字体在网页端最原始的应用方式a.兼容性最好,支持ie6+,及所有现代浏览器b.支持按字体的方式去动态调整图标大小,颜色等等c.因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目(这里的项目时你在阿里图表官网中创建的图表集合)里有多色图标也会自动去色这里需要注意:新版iconfont支持多色图标,这些多色图标在unicode模式下将不能使用,如果有需求建议使用symbol的引用方式 2>font-class:unicode使用方式的一种变种,主要是解决unicode书写不直观,语意不明确的问题a.兼容性良好,支持ie8+,及所有现代浏览器b.相比于unicode语意明确,书写更直观。可以很容易分辨这个icon是什么c.因为使用class来定义图标,所以当要替换图标时,只需要修改class里面的unicode引用这里需要注意:本质上还是使用的字体,所以多色图标还是不支持的,如果有需求建议使用symbol的引用方式 3>symbol:全新的使用方式,应该...
微信小程序-AES 加解密
cryptoJS.jsvart=t||function(t,e){varr={},i=r.lib={},n=function(){},o=i.Base={extend:function(t){n.prototype=this;vare=newn();returnt&&e.mixIn(t),e.hasOwnProperty("init")||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){vart=this.extend();returnt.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(vareint)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)...
微信小程序-Base64 加解密
js:varBase64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode(str){//加密varoutput="";varchr1,chr2,chr3,enc1,enc2,enc3,enc4;vari=0;str=this._utf16to8(str);while(i<str.length){chr1=str.charCodeAt(i++);chr2=str.charCodeAt(i++);chr3=str.charCodeAt(i++);enc1=chr1>>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}elseif(isNaN(chr3)){enc4=64;}output=output+this._keyStr.c...
微信小程序-根据角色显示不同tabBar(示例)
注意:这里结合ColorUI(最近研究这个)加菜单模板的方式,可能还有更简洁的方式,这里只是一种解决方案,欢迎讨论 --------转载请标注一.业务逻辑:有时使用场景会有不同角色登录同一小程序,需要根据不同角色显示不同菜单二.实现: 1>app.json(只需配置起始页面index)"pages":["pages/sys/index/index",...] 2>index.wxml<dataswx:if="{{PageCur=='datas'}}"></datas><maintenancewx:if="{{PageCur=='maintenance'}}"></maintenance><monitorwx:if="{{PageCur=='monitor'}}"></monitor><minewx:if="{{PageCur=='mine'}}"></mine><!--tabar菜单--><templateis="tabBa...
微信小程序-上拉加载更多(示例)
注:没有给出wxss,我这里用了colorUi第三方的组件(loading) ------------转载请标注一.概念: 可滚动视图区域。使用竖向滚动时,需要给scroll-view一个固定高度,通过WXSS设置height。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px) 具体参数:https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html二.1>wxml:<scroll-viewscroll-ybindscrolltoupper="scrollToUpper"bindscrolltolower="scrollToLower"scroll-with-animation="true"style="height:{{scrollViewHeight}}px;"><viewclass="cu-cardcase"wx:for="{{studentDatas}}"wx:key="id"id="a-{{item.id}}">&...
Java 生成微信小程序二维码(可以指定小程序页面 与 动态参数)
微信公众平台接口调试工具小程序的唯一标识(appid)小程序的密钥(secret)打开微信公众平台接口调试工具,在参数列表中输入小程序的appid和secret,点击检查问题,如果appid和secret正确,则可以返回正确的access_token结果(图中下方的红框) 生成小程序二维码官方文档https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.getUnlimited.html一共有三种生成二维码的方式,可以根据使用场景去选择,这里我使用的是第三种生成方式wxacode.getUnlimitedwxacode.createQRCode获取小程序二维码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制,详见获取二维码。POSThttps://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKENwxacode.get获取小程序码,适...
Java爬虫
作为一位Java爬虫的初学者,分享一下自己的心得。所用到的jar包 org.codehaus.jettison.jarjsoup-1.7.3.jar个人认为爬虫的实现机制:获取Docume对象—>获取节点—>输出或者持久化 获取页面的图片地址获取Docume对象—>获取Img元素—>输出地址1packagecom.cn.basic;23importjava.io.IOException;4importorg.jsoup.Jsoup;5importorg.jsoup.nodes.Document;6importorg.jsoup.nodes.Element;7importorg.jsoup.select.Elements;89publicclassImageDemo1{1011publicstaticvoidGet_Url(StringhtmlUrl,Stringpath){1213try{14Documentdoc=Jsoup.connect(htmlUrl).get();1516Elementbody=doc.body();17Elemen...
爬虫总结
总结及面试准备:一、"大数据时代",数据获取的方式:1.企业生产的用户数据:大型互联网公司有海量用户,所以他们积累数据有天然的优势。有数据意识的中小型企业,也开始积累的数据。2.数据管理咨询公司:通常这样的公司有很庞大的数据采集团队,一般会通过市场调研、问卷调查、固定的样本检测,和各行各业的公司进行合作、专家对话(数据积累很多年了,最后得出科研结果)来采集数据。3.政府/机构提供的公开数据:政府通过各地政府统计上报的数据进行合并;机构都是权威的第三方网站。4.第三方数据平台购买数据:通过各个数据交易平台来购买各行各业需要的数据,根据获取难度不同,价格也会不同。5.爬虫爬取数据:如果市场上没有我们需要的数据,或者价格太高不愿意买,那么就可以招/做一个爬虫工程师,从互联网上定向采集数据。二、什么是爬虫?爬虫:就是抓取网页数据的程序。三、爬虫怎么抓取网页数据:网页三大特征:-1.网页都有自己唯一的URL(统一资源定位符)来进行定位-2.网页都使用HTML(超文本标记语言)来描述页面信息。-3.网页都使用HTTP/HTTPS(超文本传输协议)协议来传输HTML数据。爬虫的设计思路:-1.首先确...
爬虫原理和数据抓取简介(一)
首先请问:都说现在是"大数据时代",那数据从何而来?企业产生的用户数据:百度指数、阿里指数、TBI腾讯浏览指数、新浪微博指数数据平台购买数据:数据堂、国云数据市场、贵阳大数据交易所政府/机构公开的数据:中华人民共和国国家统计局数据、世界银行公开数据、联合国数据、纳斯达克。数据管理咨询公司:麦肯锡、埃森哲、艾瑞咨询爬取网络数据:如果需要的数据市场上没有,或者不愿意购买,那么可以选择招/做一名爬虫工程师,自己动手丰衣足食。拉勾网Python爬虫职位百度百科:网络爬虫1.Python基础语法学习(基础知识)2.HTML页面的内容抓取(数据抓取)3.HTML页面的数据提取(数据清洗)4.Scrapy框架以及scrapy-redis分布式策略(第三方框架)6.爬虫(Spider)、反爬虫(Anti-Spider)、反反爬虫(Anti-Anti-Spider)之间的斗争....根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.通用网络爬虫是捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地...