/* * Copyright (C) 2013 Ustream Inc. * author chaotx <lombai.ferenc@ustream.tv> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ package com.robin.testcase; import java.io.File; import java.util.ArrayList; import com.android.ddmlib.IDevice; import com.jayway.android.robotium.remotecontrol.solo.Solo; import com.robin.reporter.TestCaseReporter; import com.robin.reporter.logcat.LogCatHandler; import com.robin.utilities.user.User; /** * @author ChaotX * This interface defines what information a single test is depend * upon and what data might be collect during the test run. */ public interface TestCaseSetup { // ----- TestNG setup required data related functions --------- String getDeviceSelectorRegexp(); void setDeviceSelectorRegexp(final String deviceRegexp); File getAutApk(); void setAutApk(final File deviceRegexp); // - After setup and during test run required data related functions - IDevice getDevice(final int... indexOfSolo); void addDevice(final IDevice device); String getTestClassName(); void setTestClassName(final String className); String getMethodName(); void setMethodName(final String methodNameParam); void addSolo(final Solo solo); Solo getSolo(final int... indexOfSolo); int getLastSoloIndex(); TestCaseReporter getReporter(); void addUser(User user); ArrayList<User> getUsers(); void generateTimeStamp(); String getTimeStamp(final Long threadId); void tic(); String toc(); void addLogCatHandler(final LogCatHandler logCatHandler); ArrayList<LogCatHandler> getLogCatHandlers(); }