Documentation ¶
Index ¶
Constants ¶
const ( StateNew = "new" StateQueued = "queued" StateInProgress = "in progress" StateComplete = "complete" StateError = "error" StateUnknown = "?" )
The different states that a job can be in.
const ( StatePassed = "passed" StateFailed = "failed" )
The following states are only used by RDC.
Variables ¶
var AllStates = []string{StatePassed, StateComplete, StateFailed, StateError, StateInProgress, StateQueued}
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 AppSettings ¶ added in v0.93.0
type AppSettings struct { AudioCapture bool `json:"audio_capture,omitempty"` Instrumentation Instrumentation `json:"instrumentation,omitempty"` }
AppSettings represents app settings for real device
type ArtifactDownloader ¶ added in v0.99.2
type ArtifactDownloader interface { // DownloadArtifact downloads artifacts and returns a list of what was downloaded. DownloadArtifact(jobID, suiteName string, realDevice bool) []string }
ArtifactDownloader represents the interface for downloading artifacts.
type Instrumentation ¶ added in v0.93.0
type Instrumentation struct {
NetworkCapture bool `json:"network_capture,omitempty"`
}
Instrumentation represents instrumentation settings for real device
type Job ¶ added in v0.21.1
type Job struct { ID string Name string Passed bool Status string Error string BrowserName string BrowserVersion string DeviceName string Framework string OS string OSVersion string // IsRDC flags a job started as an RDC run. IsRDC bool // TimedOut flags a job as an unfinished one. TimedOut bool }
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, realDevice bool) (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, realDevice bool) (Job, error) // GetJobAssetFileNames returns all assets files available. GetJobAssetFileNames(ctx context.Context, jobID string, realDevice bool) ([]string, error) // GetJobAssetFileContent returns the job asset file content. GetJobAssetFileContent(ctx context.Context, jobID, fileName string, realDevice bool) ([]byte, error) }
Reader is the interface for retrieving jobs.
type Service ¶ added in v0.99.2
type Service interface { Starter Reader Writer Stopper ArtifactDownloader }
Service represents the interface for Job interactions.
type SmartRetry ¶ added in v0.130.0
type SmartRetry struct {
FailedOnly bool `json:"-"`
}
SmartRetry represents the retry strategy.
type StartOptions ¶
type StartOptions struct { // DisplayName is used for local logging purposes only (e.g. console). DisplayName string `json:"-"` // PrevAttempts contains any previous attempts of the job. PrevAttempts []report.Attempt `json:"-"` // Timeout is used for local/per-suite timeout. Timeout time.Duration `json:"-"` StartTime time.Time `json:"startTime,omitempty"` User string `json:"username"` AccessKey string `json:"accessKey"` App string `json:"app,omitempty"` OtherApps []string `json:"otherApps,omitempty"` Suite string `json:"suite,omitempty"` // FrameworkVersion contains the targeted version of the framework. // It should not be confused with RunnerVersion. FrameworkVersion string `json:"frameworkVersion,omitempty"` Framework string `json:"framework,omitempty"` PlatformName string `json:"platformName,omitempty"` PlatformVersion string `json:"platformVersion,omitempty"` Tunnel TunnelOptions `json:"tunnel,omitempty"` Experiments map[string]string `json:"experiments,omitempty"` Name string `json:"name,omitempty"` Build string `json:"build,omitempty"` Tags []string `json:"tags,omitempty"` Visibility string `json:"public,omitempty"` Attempt int `json:"-"` CurrentPassCount int `json:"-"` PassThreshold int `json:"-"` Retries int `json:"-"` SmartRetry SmartRetry `json:"-"` BrowserName string `json:"browserName,omitempty"` BrowserVersion string `json:"browserVersion,omitempty"` TimeZone string `json:"timeZone,omitempty"` RunnerVersion string `json:"runnerVersion,omitempty"` ScreenResolution string `json:"screenResolution,omitempty"` TestApp string `json:"testApp,omitempty"` DeviceName string `json:"deviceName,omitempty"` DeviceOrientation string `json:"deviceOrientation"` TestOptions map[string]interface{} `json:"testOptions,omitempty"` AppSettings AppSettings `json:"appSettings,omitempty"` DeviceID string `json:"deviceId,omitempty"` DeviceHasCarrier bool `json:"deviceHasCarrier,omitempty"` DevicePrivateOnly bool `json:"devicePrivateOnly,omitempty"` DeviceType string `json:"deviceType,omitempty"` RealDevice bool `json:"realDevice,omitempty"` TestsToRun []string `json:"testsToRun,omitempty"` TestsToSkip []string `json:"testsToSkip,omitempty"` RealDeviceKind string `json:"realDeviceKind,omitempty"` ARMRequired bool `json:"armRequired,omitempty"` Env map[string]string `json:"-"` ConfigFilePath string `json:"-"` CLIFlags map[string]interface{} `json:"-"` }
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 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.