我是一名手动测试人员,正在尝试学习GEB和Spock。为了学习这些,我是否需要具备Java或Groovy的先前知识?我一直在阅读GEB的书籍,有哪些先决条件、书籍或学习资源?请帮忙,谢谢。
我是一名手动测试员,想要学习 GEB 和 Spock。我需要事先了解 Java 或 Groovy 吗?我一直在阅读 GEB 的书籍,请问有哪些必备条件、书籍或学习资源可以推荐呢?谢谢!我是一名手动测试人员,正在尝试学习GEB和Spock。为了学习这些,我是否需要具备Java或Groovy的先前知识?我一直在阅读GEB的书籍,有哪些先决条件、书籍或学习资源?请帮忙,谢谢。
我是一名手动测试员,想要学习 GEB 和 Spock。我需要事先了解 Java 或 Groovy 吗?我一直在阅读 GEB 的书籍,请问有哪些必备条件、书籍或学习资源可以推荐呢?谢谢!我尝试编译了一些在学习Geb时我发现非常有用的基础知识和一些“好东西”。
一些 Groovy 魔法。这个手册涵盖了你需要学习 Groovy 的大部分内容,但出于明显的原因,如果你对这门语言着迷,你可能需要考虑阅读 Groovy in Action。虽然不需要 Java(除了闭包),但如果你来自 Java(除了闭包)或甚至 Python 背景,你可能只需花 15 分钟浏览一下教程就可以掌握它了。
一点 Selenium。越多越好,但不用担心,这个 单页面 就能告诉你关于 Selenium Webdriver 的通用知识,但要强调的是:越多越好。
jQuery 选择器(每个人都说很容易,但坦白地说,我每小时至少要查看两次手册。我很笨,所以...)。如果你是 jQuery 新手,你应该从 基本选择器 开始,然后单击左侧导航菜单以获取更多信息。请注意,并非所有 jQuery 选择器都适用于 Geb,但 Geb 教程的选择器部分不是很详尽和有趣。
在我的测试用例结束时,我需要生成一个跨多个测试用例的花哨报告,而且我的测试用例之间有依赖关系。因此,我选择了 TestNG 而不是 Spock。坦白地说,我没有给 Spock 很多机会。
PageObjects 实际上并不是 Geb 的先决条件,但是 PageObjects 太棒了,让你无法在它外面思考 Geb。PageObjects 是一种可爱的小模式,它将你的 HTML 页面结构包装成一个对象,这样实际的测试就不必处理它。哈。骗到你了。让我用通俗易懂的语言来表述。
比如,你有一个带有输入文本框的注册表单,该文本框的 id 为“nametext”。你要如何获取文本框的句柄?用 DOM 术语来说,在 JavaScript 中,你只需执行以下操作:
document.getElementById("nametext")
driver.findElement(By.id("nametext"))
Jason
,你需要执行以下操作:driver.findElement(By.id("nametext")).sendKeys("Jason");
RegistrationPage
的新类,并将findElement
和sendKeys
包装起来:public class RegistrationPage{
…
public RegistrationPage fillRegistrationForm(String name, String email){
driver.findElement(By.id("nametext")).sendKeys(name);
driver.findElement(By.id("emailtext")).sendKeys(email);
}
}
根据您的测试用例,您会说:
RegistrationPage regPage=new RegistrationPage();
regPage.fillRegistrationForm("Jason","jason@bourne.com");
< p > < em >(更好的想法是将输入值封装到一个类中,并将其传递给fillRegistrationForm)
< p>事实上,Geb以更好的方式利用了PageObjects - jQuery选择器来拯救。
class InputFormPage extends Page{
…
static content={
name {$("input", id:"entry_0")}
emailAddress {$("input", id:"entry_1")}
}
}
name.value ("Jason")
emailAddress.value ("jason@bourne.com")
http://groovy.codehaus.org/Beginners+Tutorial
无法打开,PageObjects
也是如此。 - Yu Jiaao