Skip to content
gqlxj1987's Blog
Go back

geb简介

Edit page

geb

geb是什么

一个浏览器自动化测试的框架,基于selenium框架以及groovy语言

geb的作用

geb的问题

geb的使用

基本的代码

Browser.drive{
    go "http://gebish.org"

    assert title == "Geb - Very Groovy Browser Automation"

    $("#sidebar .sidemenu a", text: "jQuery-like API").click()

    assert $("#main h1")*.text() == ["Navigating Content", "Form Control Shortcuts"]

    assert $("#sidebar .sidemenu a", text: "jQuery-like API").parent().hasClass("selected")

}.quit()

运行该groovy.script,即可进行相关的测试程序

程序说明:

geb其他方面

class SearchPage extends Page {
    static url = "search"
    static at = { title == "Search engine" }
    static content = {
        searchField { $("input[name=q]") }
        searchButton(to: ResultsPage) { $("input[value='Search']") }
    }

    void search(String searchTerm) {
        searchField.value searchTerm
        searchButton.click()
    }
}

Browser.drive {
    to SearchPage
    search "Chuck Norris"
    assert result(0).text().contains("Chuck")
}

通过上述方式,进行相关页面的定义,进行相关页面的操作

<html>
    <head>
        <script type="text/javascript">
            var aVariable = 1;
        </script>
    </head>
</html>

针对这部分的测试案例:

Browser.drive {
    go "/"
    assert js.aVariable == 1
}

这样可以测试相关js的变量以及相应的运行流程。

这里有有个问题,众多周知,angularjs,形成了一个$scope,这块针对js的测试,可否加入angularjs的支持?

总结

geb作为黑盒测试部分,确实是个好东西,替代前端测试的checklist部分,同时,针对多浏览器的兼容性方面,应该是未来的一个很好的方向。


Edit page
Share this post on:

Previous Post
10.18一周总结
Next Post
10.11一周总结