Mac下的UI自动化测试 (四)】的更多相关文章

在我看来,实现UI自动化测试的过程一向都是令人快乐的事情,而维护它们就是跟噩梦一样了,尤其是对每次CI产生的build进行BVT测试,由于开发不会告诉你任何UI的变化,那么你拿到的测试结果就势必会一片红了.但是对于界面相对稳定的项目,有大量回归测试需要进行的项目,实现UI自动化的投资回报率还是很高的. 最近我实现了公司一个产品在Mac OSX上的UI自动化测试,下面就把具体的细节写出来. 首先,选用的是由 MIT 研究团队发布的图形化编程技术 Sikuli,它以图像检索为基础,提供了一套基于 J…
使用sikuli进行UI自动化测试固然是方便很多,不用一切都使用AppleScript那烦人的语法,只要界面的UI没有变化,结构的变化不会影响到基于sikuli的自动化,但是基于AppleScript的就会受到影响. 而且使用图像识别进行自动化,会比使用脚本实现的自动化更接近于真实的手动测试,毕竟人就是通过人眼来识别控件的,所以控件在UI上的变化都会影响到sikuli自动化,而对于BVT级别的自动化,重点还是关注与基本功能是否正常,对控件在UI上的变化还是不那么敏感为好. 在我实现一个产品的BV…
在实际写testcase的时候会使用unittest框架,但是在sikuli中需要使用它提供的command来运行,位于/Applications/SikuliX.app/run,使用-r参数指定要运行的sikuli文件,然后再使用 --args参数将想传给这个sikuli文件的参数附在后面: sudo /Applications/SikuliX.app/run -r testcases/runner_html.sikuli --args report:[test report file, a…
下面讲一下Sikuli的重要概念,就是region,所谓region就是Sikuli在进行图像识别的时候的一个区域,默认是整个屏幕. 当然,如果region选得太大的话,并且UI上存在相似的控件,那么就会造成图像识别的错误.而且region选得过大也会使得代码运行速度下降. 我在实际应用中,region选的是屏幕中间的工作区域,也就是除了最上方的global menu 和 system tray区域,和下方的dock区域,并且在被测程序启动后,将其最大化,以占满中间的工作区,防止其他应用的UI干…
PhantomJS(http://phantomjs.org/) 是一个基于WebKit的服务器端JavaScript API.它全面支持web而不需浏览器支持,其快速.原生支持各种Web标准:DOM处理, CSS选择器, JSON, Canvas, 和SVG. PhantomJS 可以用于页面自动化,网络监测,网页截屏以及无界面测试等. 0.下载安装(以Mac为例) 下载地址:http://phantomjs.org/download.html 下载后进行解压 将 phantomjs-2.0.…
一.缘 起 笔者之前一直在Windows环境下编写UI自动化测试脚本,近日在看<京东系统质量保障技术实战>一书中,萌生出在jenkins下构建UI自动化测试的想法 二.思 路 首先,在Linux环境搭建jenkins平台 然后,将脚本上传至Linux服务器 最后,在jenkins平台构建自动化任务 三.说 明 Linux环境,Centos7 64位 虚拟机 JDK1.8 + jenkins 2.121.2 Python3.6 + Selenium 2.5.3 + Phantomjs 2.1.1…
[原创]浅谈Web UI自动化测试 Web UI自动化测试相信大家都不陌生,今天来谈谈这个,我最早接触自动化测试时大约是在2004年,2006年当时在腾讯财付通算是开始正式接触自动化测试,之所以是正式是因为确确实实一个项目开始去做自动化测试,由于公司当时有个内部研发项目,类似目前的“58同城”之类网站,不过最终由于各种原因,这个项目停掉了,可以看出腾讯内部其实在创新这块,有很多好的创新应用,但好多没做起来,也许是天时,地利,人和各种情况没有发生“共振”,造成了很多产品流产,也挺心痛的. 今天我们…
消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速把移动端自动化这块搞起来,试用几款目前流行的工具,腾讯的xtest定制版.神州数码的自动化测试平台.开源rf+appium框架. 经过一段试用最终还是选择了rf+appium主要原因有: 1.开源,网上社区活跃 2.扩展性强,针对不同项目不同的需求,封装不同的方法来实现 3.基于python语言,语…
参考资料: http://qa.blog.163.com/blog/static/190147002201510161119832/ http://blog.csdn.net/liuchunming033/article/details/51544633 一.系统要求: Mac OS X 10.7 或者更高,推荐最新系统 XCode >= 4.6.3,推荐最新系统 Apple Developer Tools (iPhone simulator SDK, command line tools) 二…
为了多人之间更方便的协作,那么框架本身的结构和编写方式将变得很重要,因此每个团队都有适合自己的框架.如下本人对APP的UI自动化测试的框架进行进行了简单的汇总.主要目的是为了让团队中的其余人员接手写脚本时更清楚的知道该如何入手. 一个优秀的自动化测试框架应该具备的特点包括: 可扩展性:对新增功能模块.对不同的项目等等 易用性:易于查看,熟练或者新手都可以很快的对框架的结构进行掌握,可以很快的上手编写测试脚本等 稳定性.可维护性:不同的人均可对此框架进行补充封装,多人协作可将框架更好的进行完善 管…
我发现了,大家极度关心自动化测试,尤其是UI自动化测试,虽然现在作为专项测试,离开这些越来越远了,但总能遥想以前,我总能想起自己做nokia的WindowsLive的ui自动化,做web的自动化测试,后面加入腾讯,写过pc的自动化,作为早期的终端测试,做android的自动化,然后mac的,然后ios. 先不说有多少成功经验,但是确实有一些感悟,现在分享给大家,希望能帮助大家思考,少走弯路. *UI自动化测试的真实价值     测试生命中三大幻觉: 今天能发布明天能发布UI自动化实现了,测试就可…
一.简介 这个不大常见,比较常见的是selenium和weddriver: 所以就增加一个说明,来自官网的. Puppeteer 是一个 Node 库,它提供了一个高级 API 来通过 DevTools 协议控制 Chromium 或 Chrome.Puppeteer 默认以 headless 模式运行,但是可以通过修改配置文件运行“有头”模式. 你可以在浏览器中手动执行的绝大多数操作都可以使用 Puppeteer 来完成! 下面是一些示例: 生成页面 PDF. 抓取 SPA(单页应用)并生成预…
python+appium自动化测试系列就要告一段落了,本篇博客咱们做个小结. 首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师.高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌握的,毕竟谁也不会跟钱过不去. 接下来,一起总结一下APP UI自动化测试的思路吧. 一,开发语言选择 通常用于自动化测试的编程语言有:Python.Java.Javascript.Ruby.C#.PHP等.一般我们会选择自己熟悉的编程语言来编写自动化脚本,但…
前两天分别讲述了UI自动化测试基础以及对页面元素该如何进行定位,这一篇自然就是对定位到的页面元素对象进行相应操作啦. 阅读目录 1.常用操作元素对象的方法 2.鼠标事件操作 3.键盘事件操作 4.WebElement接口常用方法 5.设置等待时间 6.打印验证信息 7.定位一组对象操作 8.层级定位操作 9.定位frame中对象操作 10.alert/confirm/prompt处理 11.下拉框处理 12.select菜单处理 1.常用操作元素对象的方法 webdriver中常用的操作元素的方…
第七章.PC端UI自动化测试 UI自动化测试又分为:Web自动化测试,App自动化测试.微信小程序.微信公众号UI层的自动化测试工具非常多,比较主流的是UFT(QTP),Robot Framework.selenium 等 Web自动化比较好的实现方式是使用selenium框架.选择selenium进行Web测试 (一)工具介绍 1.UFT(QTP) Unified Functional Testing (QuickTestProfessional), 缩写UFT.最初是Mercury Inte…
最近一直在学习python,正好部门技术结构调整,就开始了点工向UI自动化测试的转变,我要说瞌睡来了就掉枕头么? 不过还好,可以将python的学习成果在自动化测试中实践... 1.about自动化测试 定义:把人为驱动的测试转化为机器执行的一种过程,重点在于持续集成这个概念: 优势:节约人力和时间成本: 测试金字塔: 如上图所示,敏捷大师Mike Cohn提出该概念,然后由Martin Fowler大师在此基础上提出了测试分层概念,以区别于传统的自动化测试. 2.自动化测试分层 单元自动化测试…
UI自动化测试用例剖析 让我们先从分析一端自动化测试案例的代码开始我们的旅程.以下是我之前写的一个自动化测试的小Demo.这个Demo基于Selenium与Java.由于现在Selenium在自动化测试的统治地位,并且随着Selenium 4的即将发布,在未来很长的一段时间里这种统治地位应该还会持续,所以我的这篇文章还都是基于Selenium与Java的.   自动化测试小Demo 它要测试的东西其实是要看一下百度搜索能不能返回兴业银行的官网.我们分析一下这段代码都包含些什么东西. 第一,这段代…
使用 UI自动化测试的好处就是在代码逻辑中写好 case 后,来实现 “一劳永逸” 的作用,并且自动化测试能够模拟人工达不到要求,比如快速切换页面.快速点击按钮等,对于提高软件的稳定性很有帮助. 安装的软件: 1.WinAppDriver   github : https://github.com/microsoft/winappdriver 上面有些 demo.Application Driver直接安装地址:https://github.com/Microsoft/WinAppDriver/…
mac系统:10.11.6 xcode:7 appium:1.5.3 iphone: 6 p 1.搭建 appium 安卓的环境: 1.jdk 2.sdk 3.appium 4.配置环境变量 mac下的环境变量是在 登录用户的 根目录下 cd ~/ 下的 .bash_profile中 没有自己 创建一个 # Setting PATH for Python 3.5 # The original version is saved in .bash_profile.pysave PATH="/Libr…
前言 实施UI自动化测试的时候,经常会遇见上传文件的操作,那么对于上传文件你知道几种方法呢?今天我们就总结一下几种常用的上传文件的方法,并分析一下每个方法的优点和缺点以及哪种方法效率,稳定性更高 被测HTML代码 <!--upload_file.html--> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title&g…
最近工作中遇到游戏APP需要实现UI自动化测试,这个app中真的是典型的混合App,有Android原生控件,有webview控件,以及游戏操作页面.研究了Appium,发现appium实现跨应用操作很困难,研究了好几天也没找到实现的方法.后来在公司大佬的带领下,接触到了atx这个自动化的框架.今天来说一下,使用atx,uiautomator2,pytest,selenium 来实现混合App的UI自动化及生成测试报告. 一.环境准备 本人使用的是系统是Mac,所以接线来的都是在Mac电脑上进行…
本文地址 原文地址   本文提纲: 1. 启动Apache 2. 运行PHP 3. 配置Mysql 4. 使用PHPMyAdmin 5. 附录   有问题请先 看最后的附录   摘要: 系统OS X 10.8.5,Apache是Mac自带的,主要是php的配置和MySql的配置,网上教程也挺多,本人也有参考,但是感觉有些步骤执行起来不是很顺畅,根据自己配置的过程整理 一.启动Apache 有两种方法 1.打开网络共享 打开"系统偏好设置"->"共享",在&qu…
在Mac下运行ASP.NET Core应用程序 通过参照.NET Core相关官方文档,在我的Mac电脑上用Visual Studio Code创建了我的第一个ASP.NET应用. 开发环境搭建 首先要先安装.Net Core和Visual Studio Code,并且要给Visual Studio Code安装 C# extension,另外要到nodejs.org 安装Node.js和npm. 利用Yeoman搭建应用 由于我们在安装Node.js时自带的npm地址是墙外,npm insta…
Mac 下安装Jenkins 开始 Jenkins是一个基于Java开发的一种持续集成工具,用于建工持续重复的工作,功能包括: 持续的软件版本发布/测试项目 监控外部调用执行的工作. 近期打算搭建自动化Code Review,无意间了解到了需要Jenkins,所以这里就简单介绍一下怎么去安装Jenkins.大概的步骤如下: 第一步:安装Tomcat 第二步:安装Jenkins 下面就详细的对其安装做一个介绍. Tomcat的安装 这里先来普及几个知识点: 什么是Tomcat? Tomcat是一个…
Windows和Linux都可以搭建本地伺服器(LAMP和IIS),Mac當然也可以,下面教你怎麼使用XAMPP在Mac下搭建一個功能齊全的本地伺服器 所需條件 1.Mac系統(廢話) 2.最好有可用的網絡(當然你在沒網絡時也能使用) 3.沒咯 一.安裝XAMPP 1.下載安裝文件,官網地址:「www.apachefriends.org」 2.直接打開下載文件,並且把左邊的文件夾拖到「應用程式」文件夾 3.從「Launchpad」打開「XAMPP Control」這個程序,然後把「Apache」…
转自:http://ju.outofmemory.cn/entry/103522 Begin iOS 2014-08-19 271 阅读 手机 Android 小米 mac 调试 在 Mac OSX 下做 Android 真机测试的时候,发现 Android Device Chooser 里,小米手机的状态显示为 unknown.但是手机的 USB 调试已经打开了.难道是因为驱动的问题?然而小米并没有提供 Mac 下的驱动程序. 注:小米手机打开 USB 调试模式的方法——在“关于手机”里,连续…
腾讯优测是专业的自动化测试平台,提供自动化测试-全面兼容性测试,云真机-远程真机租用,漏洞分析等多维度的测试服务,让测试更简单! 对于目前的两大游戏引擎cocos-2dx.unity3D,其UI自动化测试的技术方案都已经实现.可以获取.设置UI对象的各个属性,并且可以调用UI对象及引擎的一些方法接口,实现基于引擎的UI驱动能力.有了这些能力之后,从技术上来说已经可以实现基于引擎的游戏UI自动化测试.但是单纯的UI驱动能力还不足以实施一个游戏的UI自动化测试. UI自动化测试一般需要满足几个条件:…
Watin是一个UI自动化测试工具,支持ie/firefox,官方网站:http://watin.org/. 主要有以下特点: 支持主要的html元素,见:http://watin.org/documentation/element-class-mapping-table/ 可以通过多种属性查找html元素 支持ajax站点测试 支持对页面进行截图 支持frames和iframe 支持弹出对话框如alert, confirm, login以及模态对话框等 方便的集成到你的测试工具,如:VS的单元…
其实百度UI自动化测试框架,会出来很多相关的信息,不过就没有找到纯项目的,无法拿来使用的:所以我最近就写了一个简单,不过可以拿来在真正项目中可以使用的测试框架. 项目的地址:https://github.com/xiaoshitoutester/UItestframework 这里完全是干货,中间涉及到很多知识点,可以下载到本地然后,修改下项目地址,编写测试用例就可以执行了,日志,报告什么的都有: 这里日志打印是我新加的,在自动化测试中,经常出现各种奇怪的问题,导致不好定位问题,现在我将webd…
在协同开发中,版本控制是必备的.完全不敢想象团队都在用U盘.QQ管理代码的景象.但是svn不像git,拥有众多免费的代码库,如果在同 一局域网下,搭建svn服务端来同步代码是很有必要的.本文将详细讲解如何使用mac搭建svn服务器(windows下地搭建就不讲了,有GUI的). 环境信息: Mac OS X 10.10.1 正文 1. 创建代码库 mac下集成了svn,所以并不需要下载.打开终端输入 svnadmin create /Users/apple/svn/mycode 其中svnadm…