他们都期望为 Web 插件构筑易保护的试验。作为这个最终目标的一小部分,他们都期望能勒罗尔县在试验这类,而尽量减少困住实行的具体内容技术细节中。从长远规划上看,试验如果是可保护的,对应用领域软件不定期的更改并不能毁坏试验这类或是让项目组的合作开发节拍减慢。
插值速率 / 现实生活自然环境
这类试验辅助工具能在作出更动和查阅结论间提供更多意味深长的意见反馈循环式,但不能准确地仿效插件的犯罪行为。其它辅助工具可能会采用前述的插件自然环境,但会减少插值速率,因此在连续expectations中可能会显得更为虚弱。
Selenium
著名的插件 web 应用领域试验架构,能用 Java、C#、Ruby、JavaScript、R 和 Python 等多种不同C词汇撰写试验事例。
Selenium 为五种词汇提供更多插件 API。
Selenium WebDriver 尽量采用原生植物作业控制系统等级的机能,而非如前所述插件 JavaScript 的指示来驱动力插件。
这样就绕开了原生植物机能和 JavaScript 指示间由于并不相同而造成的问题(包括安全可靠管制)。它提供更多了非常大的稳定性,即使还全力支持 iframe 和数个插件条码。
优良的跨插件机能更让人第一印象真切。能在非主流插件(Chrome、Firefox、Safari、Edge、Internet Explorer)上继续执行 Selenium 试验。
Selenium Grid 能与 WebDriver 一同采用,以在远距控制系统上继续执行试验。
采用 Selenium 的唯一缺点是,它需要大量的技能,因此撰写试验非常耗时。对没有编程经验的人来说,乍一看用 Selenium 撰写试验似乎很容易;但是如果没有最佳实践,将导致项目内的试验智能化架构难以保护且不够稳定可靠。
https://www.selenium.dev/
Endtest
Endtest 是智能智能化试验解决方案,它采用数个开源和闭源组件去简化创建和继续执行试验的流程。其中之一就是 Recorder 组件能让用户不用编程技巧就能创建和继续执行试验。你能用图形化界面编辑管理自己的试验事例,而不用撰写任何代码。
它和 Selenium 一样拥有稳定性,允许你智能化试验场景,其中包含 iframe、数个插件条码、文件上传、ShadowDOM, 等等。它同 Selenium 一样拥有跨插件的特性, 全力支持所有非主流的插件(Chrome、Firefox、Safari、Edge、Internet Explorer)。同时,它也包括跨插件的云架构,全力支持 Windows、Mac 以及移动设备上的插件。
此外,它还有全力支持 JavaScripts 继续执行的组件,以及发送 API 请求和连接数据库继续执行 SQL 语句的组件。
这些组件可用于在试验中添加额外的验证步骤,并可准备或清理试验自然环境。
https://endtest.io
Watir
Watir 是一个 Ruby 的插件智能化试验开源库。
Watir 与对插件的互动方式和人类是一样的:如点击一个网页元素,填输入字符。
它的底层采用了 Selenium 因此提供更多同样的稳定性,也全力支持跨插件。同时,它也全力支持 iframes 以及数个插件条码。
Watir 最大的优点是 API 很容易采用,它在繁复的 Selenium API 之上增加了一层简单性。
不过,它的主要缺点是,它不如 Selenium 受欢迎,在寻找答案和解决方案方面你会遇到一些困难。
http://watir.com/
Puppeteer
一个 Node 库,它提供更多了高级的 API 并通过 DevTools 协议来控制 Chrome(或 Chromium)。
我认为未来它能代替 Selenium。它也具有全力支持 iframe 和数个插件条码的稳定性。
值得一提的是,它有 2 种不同的应用领域软件包:puppeteer-core 和 puppeteer
唯一的区别是 puppeteer-core 在安装后不能自动下载 Chromium。
puppeteer 的主要缺点是缺乏跨插件机能,因为它仅适用于如前所述 Chromium 的插件。
即使 Opera 和 Edge 迁移到 Chromium,也无法保证 Firefox 和 Safari 将来也会这样做。
另一个缺点是,唯一受全力支持的词汇是 Node.js。即使到 2020 年一切似乎都围绕 JS 展开,但是仍然有一些用户可能想采用其它词汇进行智能化测试的合作开发。
https://pptr.dev/
Playwright
一个 Node 库,可通过单个 API 在 Chromium、Firefox 和 WebKit 插件上继续执行智能化试验。
Playwright 旨在不断增长的 Web 插件集上实现智能化操作。Playwright 类似于 Puppeteer。
它全力支持多页面、多域名和 iframes 试验,还能模拟移动端设备,地理指向和权限控制也是能试验的。
即使它具有更广泛的跨插件全力支持,但它也不全力支持 Internet Explorer。
因为它是一个相对较新的库,所以你可能现在在线上找不到很多资源。
如果你在撰写 Node.js 代码方面有扎实的经验,那么 Playwright 能一试。
https://playwright.dev/
Sikuli
在运行 Windows、Mac 或 Linux 的台式计算机屏幕上看到的任何内容,都能采用 Sikuli 继续执行智能化试验。
它采用由 OpenCV 全力支持的图像识别来识别视觉组件。如果无法轻松访问 GUI 内部或要操作的插件或网页的源代码,这个辅助工具会非常方便。前述上,这是大多数现代 RPA 解决方案背后的技术。
Sikuli 的优点是,元素具有唯一属性或属性是否更动都无关紧要,因为 Sikuli 仅依赖于视觉识别。
它的主要缺点是视觉容忍度让用户很难在不同的插件和屏幕尺寸间实现智能化。
因此,使用 Sikuli 库需要编程技巧,因此你能在 Python、Ruby 和 Java 间选择。
如果你有涉及 Web 插件和桌面插件的混合智能化试验,则较好的做法是将 Selenium 用于 Web 组件,将 Sikuli 用于桌面组件。
http://sikulix.com/
Micro Focus UFT (QTP)
专有解决方案,以前称为 QuickTest Professional(QTP)。它提供更多了使 Web 插件和桌面插件智能化的机能。
它采用 Visual Basic 脚本词汇来定位插件中的元素并与之交互。同时,它还提供更多了一个 IDE,你只需在 GUI 中创建一个流程即可在不撰写任何代码的情况下构筑试验。
该辅助工具已经存在很长时间,因此确实使 Selenium 失去了很多市场份额。
https://www.microfocus.com/en-us/products/uft-one/overview
IBM Rational Functional Tester
一个提供更多机能、回归、GUI 和数据驱动力试验的智能化试验的专业辅助工具。它确实包括有限的跨插件机能,因为它仅适用于 Chrome、Firefox 和 Internet Explorer。主要优点是它还可用于智能化桌面插件。
优势之一是它具有 Eclipse Java Developer Toolkit 编辑器,这让你的项目组能轻松地采用 Eclipse 在 Java 中撰写试验脚本。自带的 IDE 辅助工具箱编辑器包含以下机能,如代码自动完成和高级调试选项。
将 IBM Rational Functional Tester 与 CI/CD 控制系统集成可能会很困难,因为它被设计用在你自己的工作站上
https://www.ibm.com/us-en/marketplace/rational-functional-tester
Jest
Jest 是一个 JavaScript 架构,允许你通过 jsdom 访问 DOM。
值得一提的是,jsdom 只是插件工作方式的一个近似值,用于 React 插件的试验架构,但不是跨插件试验的可靠选择。
Jest 确实提供更多了良好的插值速率,因此具有强大的机能,例如模拟模块和计时器。
理想情况下,合作开发人员应采用它来试验这类组件,但结论不能保证该插件在前述的插件中能正常工作。
https://jestjs.io/
Cucumber
Cucumber 是一个开源的犯罪行为驱动力试验辅助工具,全力支持多种不同C词汇,包括 Ruby,Java,Scala 和 Groovy。
创建试验事例需要编程技术。前述机能能通过采用 Gherkin 来调用。
采用 Cucumber 的明显优势是,非技术用户能轻松理解这些方案。
能说 Cucumber 并不是 Selenium 的替代品,而仅仅是对 Selenium 进行了一层包装。
Selenium 和 Cucumber 的组合可提高代码的可读性,并使其更易于重用组件。
https://cucumber.io/
原文链接:
https://medium.com/swlh/the-10-best-test-automation-tools-a51e76c091df
延伸阅读:
网易CI/CD实践(下):试验智能化及API版本管理-InfoQ
移动金融类 APP 自动化试验平台技术揭秘-InfoQ
取最新资讯~