Sunday, May 28, 2023

Golang: selenium test with Google Chrome browser


package main
 
import (
  "errors"
  "fmt"
  "log"
  "os"
 
  "github.com/tebeka/selenium"
)
 
const (
  chromeDriverPath = `C:\WebDriver\chromedriver.exe`
  port = 22222
)
 
func main() {
  opts := []selenium.ServiceOption {
    selenium.Output(os.Stderr),
  }
 
  selenium.SetDebug(true)
  service, err := selenium.NewChromeDriverService(chromeDriverPath, port, opts...)
  if err != nil {
    log.Fatal(err)
  }
  defer service.Stop()
 
  caps := selenium.Capabilities {
    "browserName": "chrome",
    // "acceptInsecureCerts": true,   // when using self-signed certificate
  }
 
  wd, err := selenium.NewRemote(caps, fmt.Sprintf("http://localhost:%d/wd/hub", port))
  if err != nil {
    log.Fatal(err)
  }
 
  defer wd.Quit()
 
  err = wd.Get("https://localhost/")
  if err != nil {
    log.Fatal(err)
  }
 
  elm, err := wd.FindElement(selenium.ByXPATH, "/html/body/h1")
  if err != nil {
    log.Fatal(err)
  }
 
  text, err := elm.Text()
  if err != nil {
    log.Fatal(err)
  }
 
  if text != "Hello World!" {
    fmt.Println("Failed")
  } else {
    fmt.Println("Passed")
  }
}
 
  

No comments:

 
Get This <