Documentation ¶
Index ¶
Examples ¶
Constants ¶
const ( KindCypress = "cypress" KindPlaywright = "playwright" KindTestcafe = "testcafe" )
Kind* contains referenced config kinds
const (
VersionV1Alpha = "v1alpha"
)
Version* contains referenced config version
Variables ¶
This section is empty.
Functions ¶
func StandardizeVersionFormat ¶
StandardizeVersionFormat remove the leading v in version to ensure reliable comparisons.
Types ¶
type Docker ¶
type Docker struct { FileTransfer DockerFileMode `yaml:"fileTransfer,omitempty" json:"fileTransfer"` Image string `yaml:"image,omitempty" json:"image"` }
Docker represents docker settings.
type DockerFileMode ¶
type DockerFileMode string
DockerFileMode represent the file providing method
const ( DockerFileMount DockerFileMode = "mount" DockerFileCopy DockerFileMode = "copy" )
DockerFile* represent the different modes
type ImageDefinition ¶
type ImageDefinition struct { Base string `yaml:"base,omitempty"` Version string `yaml:"version,omitempty"` Exec string `yaml:"exec,omitempty"` Options map[string]interface{} `yaml:"options,omitempty"` }
ImageDefinition describe configuration to the testrunner image
type Metadata ¶
type Metadata struct { Name string `yaml:"name" json:"name"` Tags []string `yaml:"tags" json:"tags,omitempty"` Build string `yaml:"build" json:"build"` }
Metadata describes job metadata
func (*Metadata) ExpandEnv ¶
func (m *Metadata) ExpandEnv()
ExpandEnv expands environment variables inside metadata fields.
Example ¶
os.Setenv("tname", "Envy") os.Setenv("ttag", "xp1") os.Setenv("tbuild", "Bob") m := Metadata{ Name: "Test $tname", Tags: []string{"$ttag"}, Build: "Build $tbuild", } m.ExpandEnv() fmt.Println(m)
Output: {Test Envy [xp1] Build Bob}
type Npm ¶
type Npm struct { Registry string `yaml:"registry,omitempty" json:"registry,omitempty"` Packages map[string]string `yaml:"packages,omitempty" json:"packages"` }
Npm represents the npm settings
type Project ¶
type Project struct { TypeDef `yaml:",inline"` Metadata Metadata `yaml:"metadata,omitempty"` Suites []Suite `yaml:"suites,omitempty"` Files []string `yaml:"files,omitempty"` FileTransfer DockerFileMode `yaml:"fileTransfer,omitempty"` Image ImageDefinition `yaml:"image,omitempty"` BeforeExec []string `yaml:"beforeExec,omitempty"` Timeout int `yaml:"timeout,omitempty"` Sauce SauceConfig `yaml:"sauce,omitempty"` Env map[string]string `yaml:"env,omitempty"` Parallel bool `yaml:"parallel,omitempty"` Npm Npm `yaml:"npm,omitempty"` }
Project represents the project configuration.
func NewJobConfiguration ¶
NewJobConfiguration creates a new job configuration based on a config file
func (*Project) SyncCapabilities ¶
func (p *Project) SyncCapabilities()
SyncCapabilities uses the project capabilities if no settings have been defined in the suites.
type Run ¶
Run represents the configuration for a particular test run. This information is communicated to the test framework.
type RunnerConfiguration ¶
type RunnerConfiguration struct { RootDir string `yaml:"rootDir"` TargetDir string `yaml:"targetDir"` ExecCommand []string `yaml:"execCommand"` }
RunnerConfiguration describes configurations for the testrunner
func NewRunnerConfiguration ¶
func NewRunnerConfiguration(cfgFilePath string) (RunnerConfiguration, error)
NewRunnerConfiguration reads yaml file for runner configurations
type SauceConfig ¶
type SauceConfig struct { Region string `yaml:"region,omitempty" json:"region"` Metadata Metadata `yaml:"metadata,omitempty" json:"metadata"` Tunnel Tunnel `yaml:"tunnel,omitempty" json:"tunnel,omitempty"` Concurrency int `yaml:"concurrency,omitempty" json:"concurrency,omitempty"` Sauceignore string `yaml:"sauceignore,omitempty" json:"sauceignore,omitempty"` Experiments map[string]string `yaml:"experiments,omitempty" json:"experiments,omitempty"` }
SauceConfig represents sauce labs related settings.
type Settings ¶
type Settings struct { BrowserName string `yaml:"browserName,omitempty"` BrowserVersion string `yaml:"browserVersion,omitempty"` PlatformName string `yaml:"platformName,omitempty"` AcceptInsecureCerts bool `yaml:"acceptInsecureCerts,omitempty"` PageLoadStrategy bool `yaml:"pageLoadStrategy,omitempty"` SetWindowRect bool `yaml:"setWindowRect,omitempty"` Timeouts Timeouts `yaml:"timeouts,omitempty"` StrictFileInteractability bool `yaml:"strictFileInteractability,omitempty"` UnhandledPromptBehavior string `yaml:"unhandledPromptBehavior,omitempty"` }
Settings describes job settings
type Suite ¶
type Suite struct { Name string `yaml:"name,omitempty"` Capabilities Settings `yaml:"capabilities,omitempty"` Settings Settings `yaml:"settings,omitempty"` Match string `yaml:"match,omitempty"` }
Suite represents the test suite configuration.
type Timeouts ¶
type Timeouts struct { Script int `yaml:"script,omitempty"` PageLoad int `yaml:"pageLoad,omitempty"` Implicit int `yaml:"implicit,omitempty"` }
Timeouts describes WebDriver timeouts
type Tunnel ¶
type Tunnel struct { ID string `yaml:"id,omitempty" json:"id"` Parent string `yaml:"parent,omitempty" json:"parent,omitempty"` }
Tunnel represents a sauce labs tunnel.