最近在为兄弟部门开发自动化测试工具. 然后才知道现在竟然有JS工具可以把JS打包成cs端程序了,太牛了,js发展是真快.并且还是跨平台的,mac.windows.linux都支持. 当然,今天不是说nw.js是怎样去打包EXE程序,今天是来说怎么去对这样的nw.js打包的C/S程序进行自动化测试. 百度了很久,没找到对应的资料,还是打开vps谷歌了一把,以下基本都是官网的内容 一.工具ChromeDriver ChromeDriver , 一款开源工具 , 提供跨浏览器自动测试页面应用 . 提供…
Fiddler抓包工具是一款免费且功能强大的数据包抓取软件.它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求,支持监视.设置断点.甚至修改输入输出数据等功能. 通过Fiddler抓包工具可以在查看移动端运行时接口访问的情况,是一个很好的测试接口的软件. 需要注意的是,必须确保移动端和电脑在同一wifi网络内,移动端连接同一网络的wifi并进行设置. 1,长按已连接的wifi,然后出现下图所示的选择. 2.点击管理网络设置,…
前言 因为在做美团外卖商家端的nw.js壳子项目,需要保证在壳子里面使用localStorage的数据可以持久化保存. 发现nw可以保存,即使删除应用重写打包也可以保存,所以解决了这个需求,但是还是需要知道具体储存在哪里,否则不清楚什么情况下数据会丢失. 储存位置 nw.js打包出来的应用的localStorage的储存目录为: **C:\Users[用户名]\AppData\Local[nw应用名称]\User Data\Default\Local Storage\chrome-extensi…
测试,尤其是自动化测试在现代 WEB 工程中有着非常重要的角色,与交付过程集成良好的自动化测试流程可以在新版发布时帮你快速回归产品功能,也可以充当产品文档.测试因粒度不同又可以分为单元测试.接口测试.功能测试.在 WEB 领域,功能测试亦称为端到端测试(End to End Test,简称 E2E 测试),笔者在本文中会结合自身实践和 GitHub 趋势对比最受欢迎的 Node.js E2E 测试解决方案,首先我们按 GitHub 的 star 总数量排序,取前 5 名列举如下(注意:你阅读本文…
1.简介 经过前边几篇知识点的介绍,今天宏哥就在实际测试中应用一下前边所学的依赖测试.这一篇主要介绍在TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题.如果不用dependsOnMethods,testNG会自动根据@Test方法名称的首字母排序来执行测试方法,而不是按照你设计的测试用例来执行方法.多的不说,少的不唠,我们开始今天讲解和分享. 2.测试场景 在这里宏哥给小伙伴们或者童鞋们模拟一个测试场景:打开百度首页,搜索selenium的相关内容,看到很多s…
1.安装node.js 下载Node.js官网 cmd下确认node已安装 node -v ※进入node环境 2.确认npm已安装(Node.js的包管理工具(package manager)) npm已经在Node.js安装的时候顺带装好了 npm -v 3.live server插件安装 npm i -g live-server 4.为项目开启live server 进入项目根目录执行live-server   ※电脑端可见. 5.移动端测试 进入live-server安装目录,找到ind…
selenium 可以进行移动测试的.Anroid ,IOS .进行移动端测试,需要相应的SDK ,apk.其中anriod 是selenium 支持有2中选择,remote server 和 test frework. remote server方式可以使用多种语言进行测试.test fremwork目前只有java.…
1.首先下载nw.js的SDK: https://nwjs.org.cn/download.html 2.SDK目录下新建myapp文件夹: 3.myapp文件夹内新建package.json文件: 4.package.json内容如下: 5.在myapp文件夹下执行 npm install 安装依赖,注意此时需要将C++依赖编译成node依赖: 1.首先要保证电脑已安装python2.7 和 VS 2.还要全局安装 nw-gyp    npm install -g nw-gyp   3.然后执…
Selenium is a browser automation library. Most often used for testing web-applications, Selenium may be used for any task that requires automating interaction with the browser. Selenium是一个浏览器自动化测试库,大多时候我们用它来测试web应用,Selenium 可以胜任任何在浏览器上自动化测试的任务. 众所周知,…
近期接触了Cypress和TestCafe,两个测试框架都基于Node.js,都不再使用Selenium+WebDriver,而且开箱即用,非常轻量级,就冲着不再使用WebDriver这一点,极大地勾起了我的好奇心.所以今天就来初略的学习一下,并以此文作为学习笔记. 本文学习笔记以Windows10 为背景,Mac 和 Linux请参考官网 . 注意: Cypress 和 TestCafe 都依赖Node.js,所以在学习之前确保电脑上已经安装了Node.js 本篇文章只是一个初略的Demo学习…
开发微信公众号的朋友都会遇到一个常见的需求就是修改自定义菜单,如果每个人都去开发这个不经常使用的功能确实有点浪费时间.前段时间在github上找到一个仿企业号的菜单编辑界面,结合微信的C# SDK开发了自定义菜单的编辑发布功能,源码.做为程序员我们经常想追求完美,于是打算做成桌面版,搜索了cef.webkit.net.nw.js等方案后,决定使用nw.js尝试一下........经过几天的摸索后终于完成了,这篇博客也是保存了N次草稿.先上个截图: 准备工作 事情开始之前先看看别人是怎么做的,有个…
不同公司和组织之间的测试效率迥异.在这个富交互和响应式处理随处可见的时代,很多组织都使用敏捷的方式来开发应用,因此测试自动化也成为软件项目的必备部分.测试自动化意味着使用软件工具来反复运行项目中的测试,并为回归测试提供反馈. 端到端测试又简称E2E(End-To-End test)测试,它不同于单元测试侧重于检验函数的输出结果,端到端测试将尽可能从用户的视角,对真实系统的访问行为进行仿真.对于Web应用来说,这意味着需要打开浏览器.加载页面.运行JavaScript,以及进行与DOM交互等操作.…
目录 Android自动化环境准备 需要安装的软件: Appium多端架构与自动化 Android自动化前提依赖: 获取App的信息: Android常用命令 adb shell 常用命令列表: Android性能统计dumpsys uiautomator 简单的自动化工具input命令 Appium生态工具 Appium desktop主要功能 录制用例并执行 近日开始了移动端自动化测试的学习之路,决定在学习的过程中进行笔记,总结学习,印象或许会深刻一些. Android自动化环境准备 1.…
一.什么是Appium Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持IOS.Android及FirefoxOS平台.Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库.Android系统的UIAutomator框架.Appium对IOS系统的支持得益于Dan Cuellar's对于IOS自动化的研究.Appium也集成了Selendroid,来支持老android版本. Appium支持S…
1.简介 上一篇宏哥介绍了如何设计支持不同浏览器测试,宏哥的方法就是通过来切换配置文件设置的浏览器名称的值,来确定启动什么浏览器进行脚本测试.宏哥将这个叫做浏览器引擎类.这个类负责获取浏览器类型和启动不同浏览器,并做一些前提操作,例如:最大化浏览器窗口和,打开测试服务器地址. 今天这篇宏哥打算介绍如何封装几个Selenium公共的方法到页面基类中去.首先宏哥给小伙伴或者童鞋们解释一下页面基类,看到基类,我们想起了继承.没错,在这个框架基于POM的思想上,我们需要利用继承的特点,来实现,减少我们重…
第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Windows程序员的事实). 操作系统 API.操作系统发展到今日,几乎桌面应用的所有功能,都是基于系统API构建的.调用API和语言及技术无关,哪怕是使用汇编.例如(代码来源于网络,本地重新编译): ;我的第一个win32汇编程序 ;一个经典的hello world !程序 ;>>>>&…
阻止pc端浏览器缩放js代码 众所周知:移动端页面禁止用户缩放界面只需加上<meta name="viewport" content="user-scalable=0">即可,但是pc端确实比较麻烦,用户可以通过如下几种方式来缩放: windows: ctrl + +/- ctrl + 滚轮 浏览器菜单栏 mac: cammond + +/- 浏览器菜单栏 由于浏览器菜单栏属于系统软件权限,没发控制,我们着手解决ctrl/cammond + +/- 或…
nw.js FrameLess Window下的窗口拖拽与窗口大小控制 很多时候,我们觉得系统的Frame框很难看,于是想自定义. 自定义Frame的第一步是在package.config文件中将frame选项设置为false. { "name": "1", "main": "index.html", "nodejs": true, "single-instance": false, &…
nw.js如何处理拖放操作 其实拖放(drag-drop)操作是Html5的功能,不是nw.js的内置API,那么我们采用Html5应用一般的处理方法就可以了. 首先我们看一下一个正常的页面,直接拖放一个文件过来的效果. 页面代码: <html> <head> <title>拖放测试</title> </head> <bodystyle="background-color:rgba(0,0,0,0);"> <…
Hello Google Node.js 一个基于Google V8 的JavaScript引擎. 一个伟大的端至端语言,或许我对你的热爱源自于web这门极富情感的技术吧! 注: 光阴似水,人生若梦,又是人间年尾.许久未说过如此矫情而生硬的话- - 如此篇幅实在无法写明白我扭曲的心理,2017望我还能继续迈进! 喜庆的话不多说,今天给大家分享一个大致3周前,初次涉足Node.js实现的nw.js桌面程序的自动更新模块吧. 本文不做教学,仅用于打脸!希望以此得到各位大神的帮助. 我本没有打算写如此…
写在前面 随着业务的增加,复杂性的增加,我们更需要保证页面不能出错,之前需要每次上线之前需要每次人工测试,如果有好多改动,为保证业务不出错,需要耗费更多的时间来测试,所以我们需要写一些测试来保证业务的逻辑. 端到端测试 测试有很多种,只是当前我们的业务对单元测试不太友好(之前写过redux的单元测试,例子在点我),代码耦合性略高,函数也非pure function.所以需要端到端的测试(End to End Testing).端到端的测试可以确保一堆组件能够按照预先设想的方式整合起来运行的时候使…
发现腾讯课堂上有个node.js结合Selenium做Web自动化测试的教学视频, 听来感觉不错,一来老师讲的还不错,二来node.js这门语言会越来越热,学会总没什么坏处,三来发现CukeTest这款测试工具太完美了,自己出报表,自己录视频 链接:https://ke.qq.com/course/281565…
上一篇文章介绍了在浏览器端以中间件,路由,跨进程事件的姿势使用原生WebSocket.这篇文章将介绍如何使用Node.js以相同的编程模式来实现WebSocket服务端. Node.js中比较流行的两个WebSocket库分别是socket.io与ws.其中socket.io已经实现了跨进程事件,广播,群发等功能,并且服务端与浏览器端是配套的,在不支持WebSocket技术的浏览器会降级为使用ajax轮询.所以.这里选择使用相对而言较为底层或原始的ws,在其基础上实现文章标题所提到的编程模式.…
想要知道APP端测试与web端测试的区别 ,那么我们就要先来了解,web和app的区别. web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端.那么在系统测试测试的时候就会产生区别了. 首先从系统架构来看的话,web测试只要更新了服务器端,客户端就会同步会更新.而且客户端是可以保证每一个用户的客户端完全一致的.但是app端是不能够保证完全一致的,除非用户更新客户端.如果是app下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍. 1.从功能测试的…
cypress 包含的特性 端到端测试 集成测试 单元测试 安装 yarn add cypress --dev 运行测试项目 初始化项目 yarn init -y 安装cypress yarn add cypress --dev 配置npm script { "name": "first", "version": "1.0.0", "main": "index.js", "li…
简介 Casperjs是一个基于PhantomJS和SlimerJS的前端端对端测试框架,当然你也可以使用它完成网络爬虫功能,它的特点的通过简单的脚本模拟浏览器行为, 主要有casper.tester.mouse等六大模块,其丰富的API为开发者减少了很多压力. 官网casperjs API文档 安装 casperjs的安装很简单,你可以通过npm或者下载casperjs包自行引用的方式安装,毫无疑问其支持Mac.windows.linux. npm全局安装 npm install -g cas…
1.分层自动化测试概念 传统的自动化市场更关注产品UI层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段都需要自动化测试 大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所以,在分层的自动化测试中,我们有必要对这些定义重新理解和定义. 单元测试:我们需要规范的来做单元测试同样需要相应的单元测试框架,如java的Junit.testNG,C#的NUint,Python的unittest.pytest等,几乎所有的主流语言,都会有其对应的单元测试框架. 集成.接口测试:单…
写在前面: 之前一直在找关于在mac怎么搭建nw.js的开发环境,苦于自己也没有很深入的理解,其实看看官方文档就差不多知道mac下要怎么整了. 官方文档的图: 正题开始: 先去下载一个nw.js的安装包,有各个版本的安装包,windows,Linux,Mac的下载地址如下 nw.js 下载页面 https://github.com/nwjs/nw.js 或者https://nwjs.io/ 下面我以mac系统为例: 下载好了之后解压文件,然后进入解压后的文件夹,然后再将nw.app文件复制到Ap…
本文由百度技术团队“蔡锐”原创发表于“百度App技术”公众号,原题为<百度App网络深度优化系列<三>弱网优化>,感谢原作者的无私分享. 一.前言 网络优化解决的核心问题有三个,第一是安全问题,我们在<百度APP移动端网络深度优化实践分享(一):DNS优化篇>进行了详细的讲解.第二是速度问题,我们在<百度APP移动端网络深度优化实践分享(二):网络连接优化篇>也做了详细的介绍.第三是弱网问题,它是网络优化中最为复杂且需要反复验证和分析的问题,我们的<百…
先总结:nw.js 真特么的...难用...文档,我得先百度才能看的稍微明白点文档......!!!!!!我感觉我所有的前端能遇到的坑都踩了一遍,此文针对前后端分离项目,别的先不说 一.不需要在项目里安装nw.js 设置webpack 没什么用,它只是打开的时候嵌套在nw.js 那个壳里面实际不能调试,只能看下效果——如果发现有时候不能正常打开,别担心,杀掉任务管理器里的进程就可以正常打开,如果还不能...emmm…… 二.去官网上看文档,英文好的话去看英文的吧,因为中文翻译的会遗漏一些东西,其…