1硒元素

一个知名的浏览器web应用测试框架,可以用Java、C#、Ruby、Javascript、R、Python等多种编程语言编写测试用例。

Selenium为每种语言提供了一个客户端API。

Selenium WebDriver尽可能使用原生操作系统级函数,而不是基于浏览器Javascript的命令来驱动浏览器。

这就绕过了原生函数和Javascript命令之间的细微差异所导致的问题(包括安全限制)。它提供了很大的灵活性,甚至支持iframe和多个浏览器标签。

出色的跨浏览器功能令人印象深刻。Selenium测试可以在主流浏览器(Chrome、Firefox、Safari、Edge、Internet Explorer)上进行。

Selenium Grid可以与WebDriver一起使用,在远程系统上执行测试。

使用Selenium的唯一缺点是它需要很多技能,并且编写测试非常耗时。乍一看,对于没有编程经验的人来说,用Selenium编写测试似乎很容易。但是,如果没有最佳实践,项目中的测试自动化框架将难以维护且不稳定。

2结束测试

Endtest是一个智能的自动化测试解决方案,它使用多个开源和闭源组件来简化创建和执行测试的过程。其中之一是记录器组件,它允许用户在没有编程技能的情况下创建和执行测试。您可以用图形界面编辑和管理您自己的测试用例,而无需编写任何代码。

它像Selenium一样灵活,允许您自动化测试场景,包括iframe、多个浏览器标签、文件上传、ShadowDOM等等。它具有与Selenium相同的跨浏览器特性,支持所有主流浏览器(Chrome、Firefox、Safari、Edge、Internet Explorer)。同时还包括跨浏览器云框架,支持Windows、Mac和移动设备上的浏览器。

此外,它还具有支持Javascripts执行的组件,以及发送API请求并连接到数据库以执行SQL语句的组件。

这些组件可用于向测试添加额外的验证步骤,并准备或清理测试环境。

3瓦特尔

Watir是一个用于Ruby浏览器自动化测试的开源库。

Watir与浏览器的交互方式与人类相同:例如,点击网页元素并填写输入的字符。

它的底层使用硒,并提供相同的灵活性。它还支持跨浏览器。同时,它还支持iframes和多个浏览器标签。

Watir最大的优点是API简单易用,为复杂的Selenium API增加了一层简单性。

但是它的主要缺点是没有Selenium普及,你在寻找答案和解决方案时会遇到一些困难。

4采购人员

一个节点库,提供高级API,通过DevTools协议控制Chrome(或Chromium)。

我觉得未来可以替代硒。它还具有支持iframe和多个浏览器标签的灵活性。

值得一提的是,它有两个不同的软件包:木偶核心和木偶。

唯一不同的是,安装后puppet er-core不会自动下载Chromium。

木偶师的主要缺点是缺乏跨浏览器功能,因为它只适用于基于Chromium的浏览器。

即使Opera和Edge迁移到Chromium,也不能保证Firefox和Safari将来也会这么做。

另一个缺点是,唯一支持的语言是Node.js即使到2020年一切似乎都围绕js,仍然有一些用户可能希望使用其他语言来开发自动化测试。

5编剧

一个节点库,可以通过单个API在Chrome、Firefox和WebKit浏览器上执行自动化测试。

剧作家的目标是在越来越多的网络浏览器上实现自动化操作。剧作家类似于木偶。

支持多页面、多域名和iframes测试,还可以模拟移动设备,地理方位和权限控制也可以测试。

尽管它有更广泛的跨浏览器支持,但它不支持Internet Explorer。

因为是比较新的图书馆,现在网上可能找不到多少资源。

如果你有扎实的Node.js代码编写经验,那么剧作家可以试一试。