本文整理汇总了Golang中github.com/sclevine/agouti.Page.Refresh方法的典型用法代码示例。如果您正苦于以下问题:Golang Page.Refresh方法的具体用法?Golang Page.Refresh怎么用?Golang Page.Refresh使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/sclevine/agouti.Page
的用法示例。
在下文中一共展示了Page.Refresh方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Authenticate
func Authenticate(page *agouti.Page, username, password string) {
header := fmt.Sprintf("%s:%s", username, password)
page.SetCookie(&http.Cookie{
Name: auth.CookieName,
Value: "Basic " + base64.StdEncoding.EncodeToString([]byte(header)),
})
// PhantomJS won't send the cookie on ajax requests if the page is not
// refreshed
page.Refresh()
}
示例2:
Eventually(page).Should(HaveURL(withPath("/pipelines/another-pipeline")))
Expect(page.Find(".js-pipelinesNav-toggle").Click()).To(Succeed())
Eventually(page.Find(defaultPipelineLink)).Should(HaveText("some-pipeline"))
Eventually(page.Find("#pipeline").Text).Should(ContainSubstring("another-job-name"))
Eventually(page.Find(anotherPipelineItem + " .js-pauseUnpause")).Should(BeVisible())
Eventually(page.Find(anotherPipelineItem + " .js-pauseUnpause.disabled")).Should(BeFound())
Expect(page.Find(anotherPipelineItem + " .js-pauseUnpause").Click()).To(Succeed())
Eventually(page.Find(anotherPipelineItem + " .js-pauseUnpause.enabled")).Should(BeFound())
// top bar should show the pipeline is paused
Eventually(page.Find(".js-groups.paused")).Should(BeFound())
page.Refresh()
Eventually(page.Find(".js-groups.paused")).Should(BeFound())
Expect(page.Find(".js-pipelinesNav-toggle").Click()).To(Succeed())
Eventually(page.Find(anotherPipelineItem + " .js-pauseUnpause")).Should(BeVisible())
Eventually(page.Find(anotherPipelineItem + " .js-pauseUnpause.enabled")).Should(BeFound())
Expect(page.Find(anotherPipelineItem + " .js-pauseUnpause").Click()).To(Succeed())
Eventually(page.Find(anotherPipelineItem + " .js-pauseUnpause.disabled")).Should(BeFound())
Consistently(page.Find(".js-groups.paused")).ShouldNot(BeFound())
page.Refresh()
Expect(page.Find(".js-pipelinesNav-toggle").Click()).To(Succeed())
Eventually(page.Find(anotherPipelineItem + " .js-pauseUnpause")).Should(BeVisible())
示例3: itShouldBehaveLikeAPage
//.........这里部分代码省略.........
By("executing provided JavaScript", func() {
arguments := map[string]interface{}{"elementID": "some_element"}
var result string
Expect(page.RunScript("return document.getElementById(elementID).innerHTML;", arguments, &result)).To(Succeed())
Expect(result).To(Equal("some text"))
})
}
})
It("should support taking screenshots", func() {
Expect(page.Screenshot(".test.screenshot.png")).To(Succeed())
defer os.Remove(".test.screenshot.png")
file, _ := os.Open(".test.screenshot.png")
_, err := png.Decode(file)
Expect(err).NotTo(HaveOccurred())
})
It("should support links and navigation", func() {
By("clicking on a link", func() {
Expect(page.FindByLink("Click Me").Click()).To(Succeed())
Expect(page.URL()).To(ContainSubstring("#new_page"))
})
By("navigating through browser history", func() {
Expect(page.Back()).To(Succeed())
Expect(page.URL()).NotTo(ContainSubstring("#new_page"))
Expect(page.Forward()).To(Succeed())
Expect(page.URL()).To(ContainSubstring("#new_page"))
})
By("refreshing the page", func() {
checkbox := page.Find("#some_checkbox")
Expect(checkbox.Check()).To(Succeed())
Expect(page.Refresh()).To(Succeed())
Expect(checkbox).NotTo(BeSelected())
})
})
// NOTE: browsers besides PhantomJS do not support JavaScript logs
if name == "PhantomJS" {
It("should support retrieving logs", func() {
Eventually(page).Should(HaveLoggedInfo("some log"))
Expect(page).NotTo(HaveLoggedError())
Eventually(page, "4s").Should(HaveLoggedError("ReferenceError: Can't find variable: doesNotExist\n (anonymous function)"))
})
}
It("should support switching frames", func() {
By("switching to an iframe", func() {
Expect(page.Find("#frame").SwitchToFrame()).To(Succeed())
Expect(page.Find("body")).To(MatchText("Example Domain"))
})
// NOTE: PhantomJS does not support Page.SwitchToParentFrame
if name != "PhantomJS" {
By("switching back to the default frame by referring to the parent frame", func() {
Expect(page.SwitchToParentFrame()).To(Succeed())
Expect(page.Find("body")).NotTo(MatchText("Example Domain"))
})
Expect(page.Find("#frame").SwitchToFrame()).To(Succeed())
}
By("switching back to the default frame by referring to the root frame", func() {
Expect(page.SwitchToRootFrame()).To(Succeed())
Expect(page.Find("body")).NotTo(MatchText("Example Domain"))
示例4: testPage
func testPage(browserName string, newPage pageFunc) {
Describe("page test for "+browserName, func() {
var (
page *agouti.Page
server *httptest.Server
)
BeforeEach(func() {
server = httptest.NewServer(http.HandlerFunc(func(response http.ResponseWriter, request *http.Request) {
html, _ := ioutil.ReadFile("test_page.html")
response.Write(html)
}))
var err error
page, err = newPage()
Expect(err).NotTo(HaveOccurred())
Expect(page.Size(640, 480)).To(Succeed())
Expect(page.Navigate(server.URL)).To(Succeed())
})
AfterEach(func() {
Expect(page.Destroy()).To(Succeed())
server.Close()
})
It("should support retrieving page properties", func() {
Expect(page).To(HaveTitle("Page Title"))
Expect(page).To(HaveURL(server.URL + "/"))
Expect(page.HTML()).To(ContainSubstring("<h1>Title</h1>"))
})
It("should support JavaScript", func() {
By("waiting for page JavaScript to take effect", func() {
Expect(page.Find("#some_element")).NotTo(HaveText("some text"))
Eventually(page.Find("#some_element"), "4s").Should(HaveText("some text"))
Consistently(page.Find("#some_element")).Should(HaveText("some text"))
})
// NOTE: disabled due to recent Firefox regression with passing args
if browserName != "Firefox" {
By("executing provided JavaScript", func() {
arguments := map[string]interface{}{"elementID": "some_element"}
var result string
Expect(page.RunScript("return document.getElementById(elementID).innerHTML;", arguments, &result)).To(Succeed())
Expect(result).To(Equal("some text"))
})
}
})
It("should support taking screenshots", func() {
Expect(page.Screenshot(".test.screenshot.png")).To(Succeed())
defer os.Remove(".test.screenshot.png")
file, _ := os.Open(".test.screenshot.png")
_, err := png.Decode(file)
Expect(err).NotTo(HaveOccurred())
})
It("should support links and navigation", func() {
By("clicking on a link", func() {
Expect(page.FindByLink("Click Me").Click()).To(Succeed())
Expect(page.URL()).To(ContainSubstring("#new_page"))
})
By("navigating through browser history", func() {
Expect(page.Back()).To(Succeed())
Expect(page.URL()).NotTo(ContainSubstring("#new_page"))
Expect(page.Forward()).To(Succeed())
Expect(page.URL()).To(ContainSubstring("#new_page"))
})
By("refreshing the page", func() {
checkbox := page.Find("#some_checkbox")
Expect(checkbox.Check()).To(Succeed())
Expect(page.Refresh()).To(Succeed())
Expect(checkbox).NotTo(BeSelected())
})
})
// NOTE: browsers besides PhantomJS do not support JavaScript logs
if browserName == "PhantomJS" {
It("should support retrieving logs", func() {
Eventually(page).Should(HaveLoggedInfo("some log"))
Expect(page).NotTo(HaveLoggedError())
Eventually(page, "4s").Should(HaveLoggedError("ReferenceError: Can't find variable: doesNotExist\n (anonymous function)"))
})
}
It("should support switching frames", func() {
By("switching to an iframe", func() {
Expect(page.Find("#frame").SwitchToFrame()).To(Succeed())
Expect(page.Find("body")).To(MatchText("Example Domain"))
})
// NOTE: PhantomJS does not support Page.SwitchToParentFrame
if browserName != "PhantomJS" {
By("switching back to the default frame by referring to the parent frame", func() {
Expect(page.SwitchToParentFrame()).To(Succeed())
Expect(page.Find("body")).NotTo(MatchText("Example Domain"))
})
//.........这里部分代码省略.........
示例5: testMobile
func testMobile(browserName string, newPage pageFunc) {
Describe("mobile test for "+browserName, func() {
var (
page *agouti.Page
server *httptest.Server
)
BeforeEach(func() {
server = httptest.NewServer(http.HandlerFunc(func(response http.ResponseWriter, request *http.Request) {
html, _ := ioutil.ReadFile("mobile_test_page.html")
response.Write(html)
}))
var err error
page, err = newPage()
Expect(err).NotTo(HaveOccurred())
Expect(page.Size(640, 480)).To(Succeed())
port := strings.Split(server.URL, ":")[2]
Expect(page.Navigate("http://10.0.2.2:" + port)).To(Succeed())
})
AfterEach(func() {
Expect(page.Destroy()).To(Succeed())
server.Close()
})
It("should support various touch events", func() {
touch := page.Find("#touch")
message := page.Find("#message")
By("performing tap actions", func() {
Expect(touch.Tap(agouti.SingleTap)).To(Succeed())
Eventually(message).Should(HaveText("event: start with 1 end with 0"))
Expect(page.Refresh()).To(Succeed())
Expect(touch.Tap(agouti.DoubleTap)).To(Succeed())
Eventually(message).Should(HaveText("event: start with 1 end with 0 start with 1 end with 0"))
})
By("performing touch actions", func() {
Expect(page.Refresh()).To(Succeed())
Expect(touch.Touch(agouti.HoldFinger)).To(Succeed())
Eventually(message).Should(HaveText("event: start with 1"))
Expect(page.Refresh()).To(Succeed())
Expect(touch.Touch(agouti.HoldFinger)).To(Succeed())
Expect(touch.Touch(agouti.ReleaseFinger)).To(Succeed())
Eventually(message).Should(HaveText("event: start with 1 end with 0"))
})
By("performing a flick", func() {
Expect(page.Refresh()).To(Succeed())
Expect(touch.FlickFinger(10, 10, 10)).To(Succeed())
Eventually(message).Should(HaveText("event: start with 1 end with 0"))
})
By("performing a finger scroll", func() {
Expect(page.Refresh()).To(Succeed())
Expect(touch.ScrollFinger(40, 50)).To(Succeed())
Eventually(message).Should(MatchText("event: scroll left [45][0-9] scroll top [56][0-9]"))
})
})
})
}