UI自动化测试技术选型参考

今天我们就来说一说UI自动化的语言、框架和自动化库的选择。

企业应用的自动化测试,通常包括接口的自动化和UI界面的自动化。

UI自动化,根据应用类型的不同,包括Web端、Mobile端、桌面端应用、混合应用等。在做这些应用的自动化的时候,往往选择一些开源的库来做,比如 Selenium,Appium,这些开源库通常支持多种语言来开发。

在所有的语言中,国内用来做自动化使用到比较多的语言是Java,Python和Node.js。由于Java作为历史悠久的语言,存在着很多Java语言开发的项目,这些项目在添加自动化的时候,也习惯性的采用同一种语言开发。Python由于容易掌握,以及近几年人工智能的兴起,它也越来越多的运用到项目中去。Node.js作为一门全栈语言,对于创业公司或者全栈工程师来说,Node.js是最得心应手的。一个全栈工程师可以担当从前端到后端,从后端到自动化测试任务的角色,通常学习一个JavaScript语言就能全部搞定。

技术总是不断向前发展,不断迭代更新。更新的趋势总是向着更容易,更快,更高效的方向发展。那么在新的一年中,应该如何把握自己的学习时间,更高效的来掌握一门自动化技术呢?

我来说说我的看法:Node.js 和Python 相比Java 来说,语法都比较精简,学习起来更容易。如果您想快速上手自动化,可以暂时不用考虑Java。下面主要就Node.js 和Python 来探讨一下。

应用开发

Node.js 是现在Web App开发的标配,有大量的库可供使用,Pyhton的Web框架的模板也是基于Html和JavaScript,所以JavaScript是自动化工程师必备的技能。如果你掌握了JavaScript,完全可以用Node.js来开发Web应用。而Web自动化的原理简单来说就是找到页面上的元素,然后进行操作。如果你用JavaScript开发了网页,那么自动化的时候完全可以使用JavaScript的Selenium库来做。

如果你熟悉Python,使用Node.js,可以给你带来惊喜。如果你不熟悉Python,直接学习使用Node.js,也完全没压力。

Node.js开发最大的好处是可以前端和后端的融合,都是JavaScript开发的,有利于前端人员快速做后端应用,另外现在Node.js还有大量的工具,比如阿里在前端和后端都开源了大量的Node.js。相对这块来说,Python有些不温不火。

自动化库的支持

Web端

Node.js 的Web在自动化库除了经典的 selenium-webdriver,还有类似的wd,webdriverio库的支持,另外 webdriverio也可以做手机端的自动化。

Node.js另外一个比较火的是Puppeteer,是Google Chrome团队开源的端到端自动化测试框架,可以做UI自动化测试,也可以做为爬虫工具。作为Headless方式运行,Puppupteer更快,更省资源,它主要支持nodejs开发脚本。

而Python在web自动化库可供选择的主要就是Selenium了。

移动端

手机移动端应用最广泛的就是Appium,支持Node.js 和Python。另外也有一些公司基于Appium 封装的开源库,比如阿里的Mocaca,可以测试Native,Hybird,H5等多种应用类型。

在移动端上可供选择的库都不少。根据个人使用习惯选择即可。

其它框架

除了这些提供自动化技术的库,还有一个很重要的部分就是自动化驱动的框架。Node.js提供了很多框架,包括mocha、jasmine、cucumber.js。其中mocha、jasmine既可以适用于自动化单元测试,也可以驱动TDD(测试驱动)、BDD(行为驱动)的开发。而cucumber.js是专业做行为驱动的自动化测试的工具,近来在开源社区很活跃,已经更新到最新的5.0版本。

开发工具方面也需要考虑。Python主要用的是PyCharm,是JetBrain出的。JavaScript有很多开发工具,从微软的VSCode、开源的Atom、免费的Sublimb,和专门针对JavaScript测试自动化的工具CukeTest。另外最新的CukeTest内置了Windows应用自动化库,除了可以使用开源的工具进行Web,API,移动端的自动化,还可以进行Windows以及Qt应用的自动化。

总结

在自动化方面,Node.js生态发展很快,特别是在国外。它能满足的测试的类型从API、Web、手机移动端和Windows应用。如果你准备开始学习自动化技术,我个人建议Node.js会是更好的选择。



©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容

  • 《爱的五种语言》第15天: 服务行动 我做了,因信用卡被盗刷,要去派出所报案,平锅有事没去办,一直陪着我。 对方的...
    路西法妈妈阅读 114评论 0 0
  • 现在的人是不是都有病? 老婆向我抛出这么一个我无法回答的问题。 她还能思考,说明还是有空闲时间的。不像我,整天被各...
    乱世佳虎阅读 567评论 0 1
  • 你问我最近的生活。 我说挺好。有一份能养活自己的工作,每天空闲之余,看看书写写字,是真的很好。 但这些话我没有说给...
    简儿的十年阅读 168评论 5 24
  • RenFuShuai阅读 265评论 0 0