自动化测试工具知多少之——Selenium, Selenide和Katalon

引子

之前就有个想法,整理一下自动化测试的相关工具,开始的时候以为不复杂,但是只是简单的列表似乎又单调了些,没什么意义。如果加上介绍和相关说明,放在一篇文章里,又会太过杂乱。
干脆还是先从细节开始,写个系列文章来介绍工具,后面再做整理,可能会清楚一点。
从哪儿开始呢,要不咱先唠唠Selenium?

Selenium

这是鼎鼎大名家喻户晓的工具了,大家应该都知道,它是做Web UI自动化的。
但是初次接触的朋友可能还是会有点懵逼,什么Selenium1.0, 2.0, 3.0, 什么seleniumRC、Selenium IDE,Selenium Grid,还有WebDriver又是什么鬼?所以咱也来先简单介绍两句。

1.0

Selenium 1.0 = Selenium IDE + Selenium Grid + Selenium RC
Selenium IDE是嵌入到Firefox浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。
Selenium Grid是一种自动化的测试辅助工具,Grid通过利用现有的计算机基础设施,能加快Web-App的功能测试。利用Grid可以很方便地实现在多台机器上和异构环境中运行测试用例。
Selenium RC(Remote Control)是Selenium1.0的核心部分。Selenium RC 支持多种不同语言编写的自动化测试脚本,通过Selenium RC的服务器作为代理服务器去访问应用,从而达到测试的目的。
Selenium RC分为Client Libraries和Selenium Server。Client Libraries库主要用于编写测试脚本,用来控制Selenium Server的库。Selenium Server负责控制浏览器行为。

关于1.0的介绍,简单看看就好了,因为在2.0中,核心已经从RC变成了WebDriver。

WebDriver

在2006年的时候,Google的工程师Simon Stewart发起了WebDriver的项目。
Selenium RC 是在浏览器中运行JavaScript应用,使用浏览器内置的JavaScript翻译器来翻译和执行selenese命令(selenese是Selenium命令集合)。

WebDriver是通过原生浏览器支持或者浏览器扩展来直接控制浏览器。WebDriver针对各个浏览器而开发,取代了嵌入到被测Web应用中的JavaScript,与浏览器紧密集成,因此支持创建更高级的测试,避免了JavaScript安全模型导致的限制。除了来自浏览器厂商的支持之外,WebDriver还利用操作系统级的调用,模拟用户输入。

Selenium与WebDriver原是属于两个不同的项目,WebDriver的创建者Simon Stewart早在2009年8月的一份邮件中解释了项目合并的原因。

Selenium与WebDriver合并原因:为何把两个项目合并?部分原因是WebDriver解决了Selenium存在的缺点(例如能够绕过JavaScript沙箱,我们有出色的API),部分原因是Selenium解决了WebDriver存在的问题(例如支持广泛的浏览器),部分原因是因为Selenium的主要贡献者和我都觉得合并项目是为用户提供最优秀框架的最佳途径。

2.0

Selenium和Webdriver合并之后,就有了Selenium 2.0。
Selenium 2.0 = Selenium 1.0 + WebDriver
在Selenium 2.0中主推的是WebDriver,可以将其看作Selenium RC的替代品。因为Selenium为了保持向下的兼容性,所以在Selenium 2.0中并没有彻底地抛弃Selenium RC。

现在网上关于Selenium的教程,大多也是关于Selenium 2.0的WebDriver的。

3.0

2016年7月,Selenium3.0悄悄发布第一个beta版。2016年10月13日,官方宣布发布Selenium3.0版本。
在Selenium 3.0中,彻底移除了旧的RC APIs,替换成了WebDriver APIs。
Selenium3.0只支持Java8版本以上。
Selenium3.0中的Firefox浏览器驱动独立了,以前装完selenium2就可以驱动Firefox浏览器了,现在和Chrome一样,必须下载和设置浏览器驱动。
MAC OS 集成Safari的浏览器驱动。默认在/usr/bin/safaridriver 目录下。
只支持IE 9.0版本以上。

Selenide

初看到这个词的时候,是不是以为把Selenium拼错了?我一开始也这样认为,但是一搜才发现,并不是!

selenide is just a wrapper.

Selenide是webdriver的一个封装,理论上一切WebDriver能做的Selenide都能做,并且现在只有java版本。
使用Selenide,你可以把注意力集中在实现业务逻辑上,而不用过多的考虑浏览器/ajax/超时等问题。
想要了解的更具体一点?
请参考官方文章:http://selenide.org/2013/04/23/what-is-selenide/

Katalon

这是在Selemium相同的内核上构建起来的一个自动化测试工具。它是一个完全免费且易用的图形化工具,用户不需要任何编程基础即可使用。
至于它和Selenium的具体区别?我懒得翻译了,大家去看官方文章来具体了解吧。
官方文章:https://www.katalon.com/resources-center/blog/katalon-studio-vs-selenium-based-open-source-frameworks/

本文也同时发在我的个人博客上,地址:https://mmcatt.github.io/2018/06/19/selenium-selenide-katalon/

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

推荐阅读更多精彩内容