Documentation ¶
Index ¶
Constants ¶
const ( StateNew = "new" StateQueued = "queued" StateInProgress = "in progress" StateComplete = "complete" StateError = "error" )
The different states that a job can be in.
const ( StatePassed = "passed" StateFailed = "failed" )
The following states are only used by RDC.
Variables ¶
var DoneStates = []string{StateComplete, StateError, StatePassed, StateFailed}
DoneStates represents states that a job doesn't transition out of, i.e. once the job is in one of these states, it's done.
Functions ¶
Types ¶
type Job ¶ added in v0.21.1
type Job struct { ID string `json:"id"` Passed bool `json:"passed"` Status string `json:"status"` Error string `json:"error"` BrowserShortVersion string `json:"browser_short_version"` BaseConfig struct { PlatformName string `json:"platformName"` PlatformVersion string `json:"platformVersion"` DeviceName string `json:"deviceName"` } `json:"base_config"` // IsRDC flags a job started as an RDC run. IsRDC bool `json:"-"` // TimedOut flags a job as an unfinished one. TimedOut bool `json:"-"` }
Job represents test details and metadata of a test run (aka Job), that is usually associated with a particular test execution instance (e.g. VM).
func (Job) TotalStatus ¶ added in v0.75.0
TotalStatus returns the total status of a job, combining the result of fields Status + Passed.
type Reader ¶ added in v0.21.1
type Reader interface { // ReadJob returns the job details. ReadJob(ctx context.Context, id string) (Job, error) // PollJob polls job details at an interval, until timeout has been reached or until the job has ended, whether successfully or due to an error. PollJob(ctx context.Context, id string, interval, timeout time.Duration) (job Job, err error) // GetJobAssetFileNames returns all assets files available. GetJobAssetFileNames(ctx context.Context, jobID string) ([]string, error) // GetJobAssetFileContent returns the job asset file content. GetJobAssetFileContent(ctx context.Context, jobID, fileName string) ([]byte, error) }
Reader is the interface for retrieving jobs.
type StartOptions ¶
type StartOptions struct { // DisplayName is used for local logging purposes only (e.g. console). DisplayName string `json:"-"` // Timeout is used for local/per-suite timeout. Timeout time.Duration `json:"-"` User string `json:"username"` AccessKey string `json:"accessKey"` App string `json:"app,omitempty"` Suite string `json:"suite,omitempty"` OtherApps []string `json:"otherApps,omitempty"` Framework string `json:"framework,omitempty"` ConfigFilePath string `json:"-"` CLIFlags map[string]interface{} `json:"-"` // FrameworkVersion contains the targeted version of the framework // It should not be confused with automation tool (like jest/folio). // This is currently supported only for frameworks available on Sauce Cloud: // Currently supported: Cypress. FrameworkVersion string `json:"frameworkVersion,omitempty"` Attempt int `json:"-"` BrowserName string `json:"browserName,omitempty"` BrowserVersion string `json:"browserVersion,omitempty"` PlatformName string `json:"platformName,omitempty"` PlatformVersion string `json:"platformVersion,omitempty"` DeviceID string `json:"deviceId,omitempty"` DeviceName string `json:"deviceName,omitempty"` DeviceOrientation string `json:"deviceOrientation"` DevicePrivateOnly bool `json:"devicePrivateOnly,omitempty"` DeviceType string `json:"deviceType,omitempty"` DeviceHasCarrier bool `json:"deviceHasCarrier,omitempty"` RealDevice bool `json:"realDevice,omitempty"` Name string `json:"name,omitempty"` Build string `json:"build,omitempty"` Tags []string `json:"tags,omitempty"` Tunnel TunnelOptions `json:"tunnel,omitempty"` ScreenResolution string `json:"screenResolution,omitempty"` Retries int `json:"-"` RunnerVersion string `json:"runnerVersion,omitempty"` Experiments map[string]string `json:"experiments,omitempty"` TestOptions TestOptions `json:"testOptions,omitempty"` TestsToRun []string `json:"testsToRun,omitempty"` TestsToSkip []string `json:"testsToSkip,omitempty"` StartTime time.Time `json:"startTime,omitempty"` }
StartOptions represents the options for starting a job in the Sauce Labs cloud.
type Starter ¶
type Starter interface {
StartJob(ctx context.Context, opts StartOptions) (jobID string, isRDC bool, err error)
}
Starter is the interface for starting jobs.
type TestOptions ¶ added in v0.37.0
type TestOptions struct { NotClass []string `yaml:"notClass,omitempty" json:"notClass"` Class []string `yaml:"class,omitempty" json:"class"` Package string `yaml:"package,omitempty" json:"package"` NotPackage string `yaml:"notPackage,omitempty" json:"notPackage"` Size string `yaml:"size,omitempty" json:"size"` Annotation string `yaml:"annotation,omitempty" json:"annotation"` NotAnnotation string `yaml:"notAnnotation,omitempty" json:"notAnnotation"` ShardIndex *int `yaml:"shardIndex,omitempty" json:"shardIndex"` NumShards *int `yaml:"numShards,omitempty" json:"numShards"` ClearPackageData *bool `yaml:"clearPackageData,omitempty" json:"clearPackageData"` UseTestOrchestrator *bool `yaml:"useTestOrchestrator,omitempty" json:"useTestOrchestrator"` }
TestOptions represents the espresso test filter options configuration.
type TunnelOptions ¶ added in v0.22.0
TunnelOptions represents the options that configure the usage of a tunnel when running tests in the Sauce Labs cloud.