ui

package
Version: v0.0.0-...-683b059 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2022 License: BSD-3-Clause Imports: 101 Imported by: 0

Documentation

Overview

Package ui contains local Tast tests that exercise Chrome's integration with the rest of Chrome OS.

Please use Chrome browser tests (https://www.chromium.org/developers/testing/browser-tests) or unit tests instead whenever possible.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ArcYoutubeCUJ

func ArcYoutubeCUJ(ctx context.Context, s *testing.State)

func BasicYoutubeCUJ

func BasicYoutubeCUJ(ctx context.Context, s *testing.State)

BasicYoutubeCUJ plays YouTube video and performs basic user actions. Also checks for significant video frame drops and if the audio is being routed through expected device.

func BubbleLauncherAnimationPerf

func BubbleLauncherAnimationPerf(ctx context.Context, s *testing.State)

func CUJRunner

func CUJRunner(ctx context.Context, s *testing.State)

func ChromeCrashLoggedIn

func ChromeCrashLoggedIn(ctx context.Context, s *testing.State)

func ChromeCrashLoggedInDirect

func ChromeCrashLoggedInDirect(ctx context.Context, s *testing.State)

ChromeCrashLoggedInDirect tests that Chrome crashes that happen during tast tests are properly captured (that is, during tast tests which are testing something other than the crash system).

The other Chrome crash tests cover cases that we expect to occur on end-user machines, by simulating user consent. This test covers the tast case, where we bypass consent by telling the crash system that we are in a test environment. In particular, breakpad goes through a very different code path which doesn't involve crash_reporter at all, and we want that to keep working.

Note: The name is a misnomer; the 'Direct' refers to the old days when both breakpad and crashpad bypassed crash_reporter and wrote the crashes directly onto disk during this test. Crashpad no longer does that; the test should be named "TastMode". TODO(https://crbug.com/1201467): Rename to ChromeCrashLoggedInTastMode

func ChromeCrashLoop

func ChromeCrashLoop(ctx context.Context, s *testing.State)

ChromeCrashLoop tests the crash-loop-mode crash reporter system. If Chrome crashes often enough to log the user out, a crash report will be generated and immediately sent to crash_sender; check that crash_sender correctly receives the crash report. DEPRECATED: This test has persistent issues where unrelated Chrome crashes make the test seem flaky. See ChromeCrashLoopV2 for a rewrite that removes this problem. See b/202795944 for more. TODO(b/202795944): Remove this version once ChromeCrashLoopV2 is out of "informational".

func ChromeCrashLoopV2

func ChromeCrashLoopV2(ctx context.Context, s *testing.State)

ChromeCrashLoopV2 tests the crash-loop-mode crash reporter system. If Chrome crashes often enough to log the user out, a crash report will be generated and immediately sent to crash_sender; check that crash_sender correctly receives the crash report. This the V2 version, a rewrite to avoid some of the intractable problems with the previous version. TODO(b/202795944): Remove old version once this is out of "informational".

func ChromeCrashNotLoggedIn

func ChromeCrashNotLoggedIn(ctx context.Context, s *testing.State)

func ChromeCrashNotLoggedInDirect

func ChromeCrashNotLoggedInDirect(ctx context.Context, s *testing.State)

ChromeCrashNotLoggedInDirect tests that Chrome crashes that happen during tast tests are properly captured (that is, during tast tests which are testing something other than the crash system).

The other Chrome crash tests cover cases that we expect to occur on end-user machines, by simulating user consent. This test covers the tast case, where we bypass consent by telling the crash system that we are in a test environment. In particular, breakpad goes through a very different code path which doesn't involve crash_reporter at all, and we want that to keep working.

Note: The name is a misnomer; the 'Direct' refers to the old days when both breakpad and crashpad bypassed crash_reporter and wrote the crashes directly onto disk during this test. Crashpad no longer does that; the test should be named "TastMode". TODO(https://crbug.com/1201467): Rename to ChromeCrashNotLoggedInTastMode

func ChromeCrashReporterMetrics

func ChromeCrashReporterMetrics(ctx context.Context, s *testing.State)

func ChromePIPEnergyAndPower

func ChromePIPEnergyAndPower(ctx context.Context, s *testing.State)

func ChromePIPRoundedCornersUnderlay

func ChromePIPRoundedCornersUnderlay(ctx context.Context, s *testing.State)

func ChromeRespawn

func ChromeRespawn(ctx context.Context, s *testing.State)

func ChromeValidity

func ChromeValidity(ctx context.Context, s *testing.State)

func ChromeVariationsSmoke

func ChromeVariationsSmoke(ctx context.Context, s *testing.State)

ChromeVariationsSmoke tests that Chrome doesn't crash and basic web content rendering is functional when loading a given variations seed.

func DMICRecord

func DMICRecord(ctx context.Context, s *testing.State)

func DeskTemplatesCUJ

func DeskTemplatesCUJ(ctx context.Context, s *testing.State)

func DesksAnimationPerf

func DesksAnimationPerf(ctx context.Context, s *testing.State)

func DesksCUJ

func DesksCUJ(ctx context.Context, s *testing.State)

func DesksChainedAnimationPerf

func DesksChainedAnimationPerf(ctx context.Context, s *testing.State)

func DesksTrackpadSwipePerf

func DesksTrackpadSwipePerf(ctx context.Context, s *testing.State)

func DesktopControl

func DesktopControl(ctx context.Context, s *testing.State)

func DragMaximizedWindowPerf

func DragMaximizedWindowPerf(ctx context.Context, s *testing.State)

func DragTabInClamshellPerf

func DragTabInClamshellPerf(ctx context.Context, s *testing.State)

func DragTabInTabletPerf

func DragTabInTabletPerf(ctx context.Context, s *testing.State)

func DragWindowFromShelfPerf

func DragWindowFromShelfPerf(ctx context.Context, s *testing.State)

func EverydayMultiTaskingCUJ

func EverydayMultiTaskingCUJ(ctx context.Context, s *testing.State)

func Exceptions

func Exceptions(ctx context.Context, s *testing.State)

func ExtendedDisplayCUJ

func ExtendedDisplayCUJ(ctx context.Context, s *testing.State)

ExtendedDisplayCUJ performs the video cuj (youtube web) test on extended display. Known issues: b:187165216 describes an issue that click event cannot be executed on extended display on certain models.

func ForceRegion

func ForceRegion(ctx context.Context, s *testing.State)

func FrontlineWorkerCUJ

func FrontlineWorkerCUJ(ctx context.Context, s *testing.State)

FrontlineWorkerCUJ measures the system performance.

func GoogleDocsWebCUJ

func GoogleDocsWebCUJ(ctx context.Context, s *testing.State)

func GoogleSheetsCUJ

func GoogleSheetsCUJ(ctx context.Context, s *testing.State)

func GoogleSlidesCUJ

func GoogleSlidesCUJ(ctx context.Context, s *testing.State)

func GuestModeExtension

func GuestModeExtension(ctx context.Context, s *testing.State)

func HotseatAnimation

func HotseatAnimation(ctx context.Context, s *testing.State)

HotseatAnimation measures the performance of hotseat background bounds animation.

func HotseatDrag

func HotseatDrag(ctx context.Context, s *testing.State)

func HotseatScrollPerf

func HotseatScrollPerf(ctx context.Context, s *testing.State)

HotseatScrollPerf records the animation smoothness for shelf scroll animation.

func IdlePerf

func IdlePerf(ctx context.Context, s *testing.State)

func KeyboardBinding

func KeyboardBinding(ctx context.Context, s *testing.State)

KeyboardBinding verifies keyboard key bindings can be changed properly.

func LauncherAnimationPerf

func LauncherAnimationPerf(ctx context.Context, s *testing.State)

func LauncherDragPerf

func LauncherDragPerf(ctx context.Context, s *testing.State)

func LauncherPageSwitchPerf

func LauncherPageSwitchPerf(ctx context.Context, s *testing.State)

func LoginPerf

func LoginPerf(ctx context.Context, s *testing.State)

func MeetCUJ

func MeetCUJ(ctx context.Context, s *testing.State)

MeetCUJ measures the performance of critical user journeys for Google Meet. Journeys for Google Meet are specified by testing parameters.

Pre-preparation:

  • Open a Meet window.
  • Create and enter the meeting code.
  • Open a Google Docs window (if necessary).
  • Enter split mode (if necessary).
  • Turn off camera (if necessary).

During recording:

  • Join the meeting.
  • Add participants(bots) to the meeting.
  • Set up the layout.
  • Max out the number of the maximum tiles (if necessary).
  • Start to present (if necessary).
  • Input notes to Google Docs file (if necessary).
  • Wait for 30 seconds before ending the meeting.

After recording:

  • Record and save metrics.

func MeetMultiTaskingCUJ

func MeetMultiTaskingCUJ(ctx context.Context, s *testing.State)

MeetMultiTaskingCUJ measures the performance of critical user journeys for multi-tasking with video conference.

Pre-preparation:

  • Open a Meet window and grant permissions.

During recording:

  • Join the meeting.
  • Add a participant (bot) to the meeting.
  • Open a large Google Docs file and scroll down.
  • Open a large Google Slides file and go down.
  • Open the Gmail inbox and scroll down.

After recording:

  • Record and save metrics.

func MicrosoftOfficeWebCUJ

func MicrosoftOfficeWebCUJ(ctx context.Context, s *testing.State)

func MultiAccountLogin

func MultiAccountLogin(ctx context.Context, s *testing.State)

func NotificationClosePerf

func NotificationClosePerf(ctx context.Context, s *testing.State)

func NotificationPopupPerf

func NotificationPopupPerf(ctx context.Context, s *testing.State)

func NotificationScrollingPerf

func NotificationScrollingPerf(ctx context.Context, s *testing.State)

func OobePerf

func OobePerf(ctx context.Context, s *testing.State)

func OverviewDragWindowPerf

func OverviewDragWindowPerf(ctx context.Context, s *testing.State)

func OverviewPerf

func OverviewPerf(ctx context.Context, s *testing.State)

func OverviewScrollPerf

func OverviewScrollPerf(ctx context.Context, s *testing.State)

func PerformantSplitViewPerf

func PerformantSplitViewPerf(ctx context.Context, s *testing.State)

func PlayPauseChrome

func PlayPauseChrome(ctx context.Context, s *testing.State)

func QuickCheckCUJ

func QuickCheckCUJ(ctx context.Context, s *testing.State)

func QuickCheckCUJ2

func QuickCheckCUJ2(ctx context.Context, s *testing.State)

QuickCheckCUJ2 measures the system performance after login or wakeup by checking common apps

func QuickSettingsPerf

func QuickSettingsPerf(ctx context.Context, s *testing.State)

func ScreenRotationPerf

func ScreenRotationPerf(ctx context.Context, s *testing.State)

func SessionManagerRespawn

func SessionManagerRespawn(ctx context.Context, s *testing.State)

func SnapPerf

func SnapPerf(ctx context.Context, s *testing.State)

func SplitViewResizePerf

func SplitViewResizePerf(ctx context.Context, s *testing.State)

func StadiaGameplayCUJ

func StadiaGameplayCUJ(ctx context.Context, s *testing.State)

StadiaGameplayCUJ test starts and plays a exploration scene and gathering the performance. The game playing is hardcoded.

func SystemTrayItemsPerf

func SystemTrayItemsPerf(ctx context.Context, s *testing.State)

func TabHoverCardAnimationPerf

func TabHoverCardAnimationPerf(ctx context.Context, s *testing.State)

func TabLoadingAnimationPerf

func TabLoadingAnimationPerf(ctx context.Context, s *testing.State)

func TabSwitchCUJ

func TabSwitchCUJ(ctx context.Context, s *testing.State)

func TabSwitchCUJ2

func TabSwitchCUJ2(ctx context.Context, s *testing.State)

TabSwitchCUJ2 measures the performance of tab-switching CUJ.

WPR server should be running in a remote server. TabSwitchCUJRecorder2 case can be used to record WPR content for this test in the remote server.

func TabSwitchCUJRecorder

func TabSwitchCUJRecorder(ctx context.Context, s *testing.State)

func TabSwitchCUJRecorder2

func TabSwitchCUJRecorder2(ctx context.Context, s *testing.State)

TabSwitchCUJRecorder2 runs tab-switching CUJ test in chrome wpr recording mode. It will record the premium scenario, which can be used for basic and plus testing as well.

The test can either do recording on a DUT local WPR server, or a remote WPR server. Local WPR server will be set up automatically by the preconditon. Steps to do remote recording:

  1. Manually run wpr in record mode on a remote server.
  2. Run this test.
  3. Manually terminate wpr to output a record file on remote server.
  4. Check remote wpr configureation to find the record file

func TabletOperations

func TabletOperations(ctx context.Context, s *testing.State)

func TabletTransitionPerf

func TabletTransitionPerf(ctx context.Context, s *testing.State)

func TaskSwitchCUJ

func TaskSwitchCUJ(ctx context.Context, s *testing.State)

func UnlockPerf

func UnlockPerf(ctx context.Context, s *testing.State)

func VideoCUJ

func VideoCUJ(ctx context.Context, s *testing.State)

func VideoCUJ2

func VideoCUJ2(ctx context.Context, s *testing.State)

VideoCUJ2 performs the video cases including youtube web, and youtube app.

func WebUIJSErrors

func WebUIJSErrors(ctx context.Context, s *testing.State)

func WindowArrangementCUJ

func WindowArrangementCUJ(ctx context.Context, s *testing.State)

func WindowControl

func WindowControl(ctx context.Context, s *testing.State)

func WindowCyclePerf

func WindowCyclePerf(ctx context.Context, s *testing.State)

func WindowResizePerf

func WindowResizePerf(ctx context.Context, s *testing.State)

func YoutubeAudioStress

func YoutubeAudioStress(ctx context.Context, s *testing.State)

YoutubeAudioStress plays youtube video for long duration and verify audio routing through onboard speaker.

func YoutubeMultiTab

func YoutubeMultiTab(ctx context.Context, s *testing.State)

YoutubeMultiTab plays YouTube video on multiple tabs concurrently, checks for significant frame drops and if the audio is being routed through expected device.

func YoutubeScreenRotate

func YoutubeScreenRotate(ctx context.Context, s *testing.State)

YoutubeScreenRotate plays YouTube video, performs screen rotation using display APIs and checks for any frame drops and if the audio is routing through expected device.

func YoutubeStreamCUJ

func YoutubeStreamCUJ(ctx context.Context, s *testing.State)

YoutubeStreamCUJ plays YouTube video of different quality and checks for any frame drops and if the audio is routing through expected device.

Types

type AudioService

type AudioService struct {
	// contains filtered or unexported fields
}

AudioService implements tast.cros.ui.AudioService.

func (*AudioService) AudioCrasSelectedOutputDevice

func (as *AudioService) AudioCrasSelectedOutputDevice(ctx context.Context, req *empty.Empty) (*ui.AudioServiceResponse, error)

AudioCrasSelectedOutputDevice will return selected audio device name and audio device type.

func (*AudioService) Close

func (as *AudioService) Close(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

Close releases the resources obtained by New.

func (*AudioService) ConvertRawToWav

func (as *AudioService) ConvertRawToWav(ctx context.Context, req *ui.AudioServiceRequest) (*empty.Empty, error)

ConvertRawToWav will convert raw data file to wav file format.

func (*AudioService) GenerateTestRawData

func (as *AudioService) GenerateTestRawData(ctx context.Context, req *ui.AudioServiceRequest) (*empty.Empty, error)

GenerateTestRawData generates test raw data file.

func (*AudioService) KeyboardAccel

func (as *AudioService) KeyboardAccel(ctx context.Context, req *ui.AudioServiceRequest) (*empty.Empty, error)

KeyboardAccel will create keyboard event and performs keyboard key press with Accel().

func (*AudioService) New

func (as *AudioService) New(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

New logs into a Chrome session as a fake user. Close must be called later to clean up the associated resources.

func (*AudioService) OpenDirectoryAndFile

func (as *AudioService) OpenDirectoryAndFile(ctx context.Context, req *ui.AudioServiceRequest) (*empty.Empty, error)

OpenDirectoryAndFile performs launching filesapp and opening particular file in given directory.

func (*AudioService) SetActiveNodeByType

func (as *AudioService) SetActiveNodeByType(ctx context.Context, req *ui.AudioServiceRequest) (*empty.Empty, error)

SetActiveNodeByType will set the provided audio node as Active audio node.

func (*AudioService) VerifyFirstRunningDevice

func (as *AudioService) VerifyFirstRunningDevice(ctx context.Context, req *ui.AudioServiceRequest) (*empty.Empty, error)

VerifyFirstRunningDevice will check for audio routing device status.

type AutomationService

type AutomationService struct {
	// contains filtered or unexported fields
}

AutomationService implements tast.cros.ui.AutomationService

func (*AutomationService) DoubleClick

func (svc *AutomationService) DoubleClick(ctx context.Context, req *pb.DoubleClickRequest) (*empty.Empty, error)

DoubleClick clicks on the location of the node found by the input finder. It will wait until the location is stable before clicking.

func (*AutomationService) Info

Info returns the information for the node found by the input finder.

func (*AutomationService) IsNodeFound

IsNodeFound immediately checks if any nodes found with given finder. It returns true if found otherwise false.

func (*AutomationService) LeftClick

func (svc *AutomationService) LeftClick(ctx context.Context, req *pb.LeftClickRequest) (*empty.Empty, error)

LeftClick clicks on the location of the node found by the input finder. It will wait until the location is stable before clicking.

func (*AutomationService) MouseClickAtLocation

func (svc *AutomationService) MouseClickAtLocation(ctx context.Context, req *pb.MouseClickAtLocationRequest) (*empty.Empty, error)

MouseClickAtLocation clicks on the specified location.

func (*AutomationService) RightClick

func (svc *AutomationService) RightClick(ctx context.Context, req *pb.RightClickRequest) (*empty.Empty, error)

RightClick clicks on the location of the node found by the input finder. It will wait until the location is stable before clicking.

func (*AutomationService) WaitUntilExists

func (svc *AutomationService) WaitUntilExists(ctx context.Context, req *pb.WaitUntilExistsRequest) (*empty.Empty, error)

WaitUntilExists waits until the node found by the input finder exists.

type CheckVirtualKeyboardService

type CheckVirtualKeyboardService struct {
	// contains filtered or unexported fields
}

CheckVirtualKeyboardService implements the methods defined in CheckVirtualKeyboardServiceServer.

func (*CheckVirtualKeyboardService) CheckVirtualKeyboardIsPresent

CheckVirtualKeyboardIsPresent checks whether the virtual keyboard is present.

func (*CheckVirtualKeyboardService) ClickChromeAddressBar

func (cvk *CheckVirtualKeyboardService) ClickChromeAddressBar(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

ClickChromeAddressBar sends a left click on the address bar.

func (*CheckVirtualKeyboardService) CloseChrome

func (cvk *CheckVirtualKeyboardService) CloseChrome(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

CloseChrome closes a Chrome session and cleans up the resources obtained by NewChrome.

func (*CheckVirtualKeyboardService) NewChromeLoggedIn

func (cvk *CheckVirtualKeyboardService) NewChromeLoggedIn(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

NewChromeLoggedIn Logs into a user session.

func (*CheckVirtualKeyboardService) OpenChromePage

func (cvk *CheckVirtualKeyboardService) OpenChromePage(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

OpenChromePage opens a chrome page.

func (*CheckVirtualKeyboardService) TouchChromeAddressBar

func (cvk *CheckVirtualKeyboardService) TouchChromeAddressBar(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

TouchChromeAddressBar uses touch screen to send a tap on the address bar.

type ChromeService

type ChromeService struct {
	// contains filtered or unexported fields
}

ChromeService implements tast.cros.ui.ChromeService

func (*ChromeService) Close

func (svc *ChromeService) Close(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

Close closes all surfaces and Chrome. This will likely be called in a defer in remote tests instead of called explicitly.

func (*ChromeService) New

func (svc *ChromeService) New(ctx context.Context, req *pb.NewRequest) (*empty.Empty, error)

New logs into Chrome with the supplied chrome options.

type ChromeUIService

type ChromeUIService struct{}

ChromeUIService implements the methods defined in ChromeUIServiceServer.

func (*ChromeUIService) EnsureLoginScreen

func (c *ChromeUIService) EnsureLoginScreen(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

EnsureLoginScreen emulates log out, and ensures login screen.

type ConferenceService

type ConferenceService struct {
	// contains filtered or unexported fields
}

func (*ConferenceService) RunGoogleMeetScenario

func (s *ConferenceService) RunGoogleMeetScenario(ctx context.Context, req *pb.MeetScenarioRequest) (*empty.Empty, error)

func (*ConferenceService) RunZoomScenario

func (s *ConferenceService) RunZoomScenario(ctx context.Context, req *pb.MeetScenarioRequest) (*empty.Empty, error)

type PowerMenuService

type PowerMenuService struct {
	// contains filtered or unexported fields
}

PowerMenuService implements tast.cros.ui.PowerMenuService.

func (*PowerMenuService) CloseChrome

func (p *PowerMenuService) CloseChrome(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

func (*PowerMenuService) NewChrome

func (p *PowerMenuService) NewChrome(ctx context.Context, req *pb.NewChromeRequest) (*empty.Empty, error)

func (*PowerMenuService) PowerMenuItem

func (p *PowerMenuService) PowerMenuItem(ctx context.Context, req *empty.Empty) (*pb.PowerMenuItemResponse, error)

PowerMenuItem reads from the power menu. Checking PowerMenuPresent is required prior to calling PowerMenuItem.

func (*PowerMenuService) PowerMenuPresent

func (p *PowerMenuService) PowerMenuPresent(ctx context.Context, req *empty.Empty) (*pb.PowerMenuPresentResponse, error)

type ScreenLockService

type ScreenLockService struct {
	// contains filtered or unexported fields
}

ScreenLockService implements tast.cros.ui.ScreenLockService.

func (*ScreenLockService) CloseChrome

func (p *ScreenLockService) CloseChrome(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

func (*ScreenLockService) Lock

func (p *ScreenLockService) Lock(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

func (*ScreenLockService) NewChrome

func (p *ScreenLockService) NewChrome(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

func (*ScreenLockService) ReuseChrome

func (p *ScreenLockService) ReuseChrome(ctx context.Context, req *empty.Empty) (*empty.Empty, error)

type ScreenRecorderService

type ScreenRecorderService struct {
	// contains filtered or unexported fields
}

ScreenRecorderService implements tast.cros.ui.ScreenRecorderService It provides functionalities to perform screen recording.

func (*ScreenRecorderService) Start

Start creates a new media recorder and starts to record the screen. There can be only a single recording in progress at a time. If user does not specify the file name, the service will generate a temporary location for the recording and return that to the user in Stop().

func (*ScreenRecorderService) Stop

Stop stops and saves the recording to the specified location.

Source Files

Directories

Path Synopsis
Package chromecrash contains functionality shared by tests that exercise Chrome crash-dumping.
Package chromecrash contains functionality shared by tests that exercise Chrome crash-dumping.
Package conference contains conference CUJ utilities and conference room instances.
Package conference contains conference CUJ utilities and conference room instances.
cuj
Package cuj has utilities for CUJ-style UI performance tests.
Package cuj has utilities for CUJ-style UI performance tests.
bluetooth
Package bluetooth provides the control of bluetooth settings from the OS settings window.
Package bluetooth provides the control of bluetooth settings from the OS settings window.
Package cujrunner implements a way to run composed cuj using a json config.
Package cujrunner implements a way to run composed cuj using a json config.
Package everydaymultitaskingcuj contains the test code for Everyday MultiTasking CUJ.
Package everydaymultitaskingcuj contains the test code for Everyday MultiTasking CUJ.
Package frontlineworkercuj contains frontlineworker CUJ test cases library.
Package frontlineworkercuj contains frontlineworker CUJ test cases library.
Package googleapps provides the control of google apps, including google docs and google slides.
Package googleapps provides the control of google apps, including google docs and google slides.
Package netflix provides gmail instance for cuj tests on Chrome OS.
Package netflix provides gmail instance for cuj tests on Chrome OS.
Package notification contains utilities to help writing ARC notification tests.
Package notification contains utilities to help writing ARC notification tests.
Package perfutil provides utilities of storing performance data for UI tests.
Package perfutil provides utilities of storing performance data for UI tests.
Package productivitycuj contains productivity CUJ test cases library.
Package productivitycuj contains productivity CUJ test cases library.
Package quickcheckcuj contains quick check CUJ test cases scenario.
Package quickcheckcuj contains quick check CUJ test cases scenario.
Package setup implements utils for ui testing setup.
Package setup implements utils for ui testing setup.
Package tabswitchcuj contains the test code for TabSwitchCUJ.
Package tabswitchcuj contains the test code for TabSwitchCUJ.
Package videocuj contains the test code for VideoCUJ.
Package videocuj contains the test code for VideoCUJ.
Package windowarrangementcuj contains helper util and test code for WindowArrangementCUJ.
Package windowarrangementcuj contains helper util and test code for WindowArrangementCUJ.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL