如何在 Java 上使用 Watir 进行网络应用程序测试?

How to use Watir for web app testing on Java?

我们的教授指派我担任论文 Web 应用程序的 QA 测试员,他希望我使用 Watir 来测试 Web 应用程序。但是,我目前对于应该如何处理这个问题存在分歧。

我知道 Watir 正在使用 Ruby 作为它的主要语言,所以我应该先学习 Ruby 吗?(我只有 Java、C++ 和一点点Scala 到目前为止。)还是我应该直接查看文档?

我们使用 Eclipse 作为 Web 应用程序的默认终端。

是的,您需要了解 Ruby 才能在 WATIR 中工作,但它是一种非常简单的语言,更准确地说,它的语法简洁明了。而且 WATIR 非常易于使用,并且与 selenium 相比代码更少,我在下面使用 WATIR 和 Selenium 编写代码,以便您可以看到它们之间的区别。

要在WATIR中select一个select_list,需要编写如下代码

b.select_list(:id,'country').select 'India'

Selenium 中的相同等价物

element=driver.findElement(By.id("country");
Select var=new Select(element);
var.selectByVisibleText("India");

因此,您可能已经了解使用 selenium 在 Java 中编写代码时的难度级别。

Ruby 有一个非常丰富的库,所以大部分功能都可以随时使用,而您没有您级别的代码。

这个问题不适合 SO,因为它会产生基于意见的答案。但我还是忍不住做了一些watir啦啦队:

考虑来自 https://github.com/watir/watir 的这个例子:

require 'watir'

browser = Watir::Browser.new
browser.goto 'google.com'
browser.text_field(title: 'Search').set 'Hello World!'
browser.button(type: 'submit').click

puts browser.title
# => 'Hello World! - Google Search'
browser.close

这里有一堆编程概念:需要外部库、实例化对象、局部变量、基于符号的定位器、方法链、打印到控制台等。

但是谁在乎呢?很明显,该脚本正在创建一个浏览器并转到 google 以执行搜索。

因此,开始编写 watir 代码并参考 documentation--watirruby-- 当你遇到困难或需要说明时。