mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-19 14:19:53 +01:00
Refactor tests so that all test data is created in the first test
This commit is contained in:
@@ -140,7 +140,7 @@ dependencies {
|
|||||||
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:2.0.2"
|
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:2.0.2"
|
||||||
androidTestCompileOnly 'javax.annotation:jsr250-api:1.0'
|
androidTestCompileOnly 'javax.annotation:jsr250-api:1.0'
|
||||||
androidTestImplementation 'junit:junit:4.12'
|
androidTestImplementation 'junit:junit:4.12'
|
||||||
androidTestScreenshotImplementation "tools.fastlane:screengrab:1.1.0"
|
androidTestScreenshotImplementation "tools.fastlane:screengrab:1.2.0"
|
||||||
androidTestScreenshotImplementation "com.android.support.test.uiautomator:uiautomator-v18:2.1.3"
|
androidTestScreenshotImplementation "com.android.support.test.uiautomator:uiautomator-v18:2.1.3"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,3 +3,5 @@ locales ['en-US']
|
|||||||
app_apk_path "build/outputs/apk/screenshot/debug/briar-android-screenshot-debug.apk"
|
app_apk_path "build/outputs/apk/screenshot/debug/briar-android-screenshot-debug.apk"
|
||||||
tests_apk_path "build/outputs/apk/androidTest/screenshot/debug/briar-android-screenshot-debug-androidTest.apk"
|
tests_apk_path "build/outputs/apk/androidTest/screenshot/debug/briar-android-screenshot-debug-androidTest.apk"
|
||||||
test_instrumentation_runner "org.briarproject.briar.android.BriarTestRunner"
|
test_instrumentation_runner "org.briarproject.briar.android.BriarTestRunner"
|
||||||
|
reinstall_app = true
|
||||||
|
exit_on_test_failure = true
|
||||||
@@ -7,6 +7,7 @@ import android.support.test.espresso.intent.rule.IntentsTestRule;
|
|||||||
import org.briarproject.bramble.api.account.AccountManager;
|
import org.briarproject.bramble.api.account.AccountManager;
|
||||||
import org.briarproject.bramble.api.lifecycle.LifecycleManager;
|
import org.briarproject.bramble.api.lifecycle.LifecycleManager;
|
||||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||||
|
import org.briarproject.briar.R;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
@@ -16,7 +17,8 @@ import static android.support.test.InstrumentationRegistry.getTargetContext;
|
|||||||
@SuppressWarnings("WeakerAccess")
|
@SuppressWarnings("WeakerAccess")
|
||||||
public abstract class UiTest {
|
public abstract class UiTest {
|
||||||
|
|
||||||
protected static final String USERNAME = "Alice";
|
protected final String USERNAME =
|
||||||
|
getTargetContext().getString(R.string.screenshot_alice);
|
||||||
protected static final String PASSWORD = "123456";
|
protected static final String PASSWORD = "123456";
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import org.briarproject.bramble.BrambleCoreModule;
|
|||||||
import org.briarproject.bramble.account.BriarAccountModule;
|
import org.briarproject.bramble.account.BriarAccountModule;
|
||||||
import org.briarproject.briar.BriarCoreModule;
|
import org.briarproject.briar.BriarCoreModule;
|
||||||
import org.briarproject.briar.android.contact.ConversationActivityScreenshotTest;
|
import org.briarproject.briar.android.contact.ConversationActivityScreenshotTest;
|
||||||
import org.briarproject.briar.android.login.SetupActivityScreenshotTest;
|
|
||||||
import org.briarproject.briar.android.settings.SettingsActivityScreenshotTest;
|
import org.briarproject.briar.android.settings.SettingsActivityScreenshotTest;
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
@@ -22,8 +21,9 @@ import dagger.Component;
|
|||||||
})
|
})
|
||||||
public interface BriarUiTestComponent extends AndroidComponent {
|
public interface BriarUiTestComponent extends AndroidComponent {
|
||||||
|
|
||||||
|
void inject(SetupDataTest test);
|
||||||
|
|
||||||
void inject(ConversationActivityScreenshotTest test);
|
void inject(ConversationActivityScreenshotTest test);
|
||||||
void inject(SetupActivityScreenshotTest test);
|
|
||||||
void inject(SettingsActivityScreenshotTest test);
|
void inject(SettingsActivityScreenshotTest test);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.briarproject.briar.android;
|
package org.briarproject.briar.android;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import org.briarproject.bramble.api.plugin.ConnectionRegistry;
|
import org.briarproject.bramble.api.plugin.ConnectionRegistry;
|
||||||
@@ -9,12 +10,10 @@ import org.junit.ClassRule;
|
|||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import tools.fastlane.screengrab.FalconScreenshotStrategy;
|
||||||
import tools.fastlane.screengrab.Screengrab;
|
import tools.fastlane.screengrab.Screengrab;
|
||||||
import tools.fastlane.screengrab.UiAutomatorScreenshotStrategy;
|
|
||||||
import tools.fastlane.screengrab.locale.LocaleTestRule;
|
import tools.fastlane.screengrab.locale.LocaleTestRule;
|
||||||
|
|
||||||
import static tools.fastlane.screengrab.Screengrab.setDefaultScreenshotStrategy;
|
|
||||||
|
|
||||||
public abstract class ScreenshotTest extends UiTest {
|
public abstract class ScreenshotTest extends UiTest {
|
||||||
|
|
||||||
@ClassRule
|
@ClassRule
|
||||||
@@ -27,14 +26,9 @@ public abstract class ScreenshotTest extends UiTest {
|
|||||||
@Inject
|
@Inject
|
||||||
protected Clock clock;
|
protected Clock clock;
|
||||||
|
|
||||||
public ScreenshotTest() {
|
protected void screenshot(String name, Activity activity) {
|
||||||
super();
|
|
||||||
setDefaultScreenshotStrategy(new UiAutomatorScreenshotStrategy());
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void screenshot(String name) {
|
|
||||||
try {
|
try {
|
||||||
Screengrab.screenshot(name);
|
Screengrab.screenshot(name, new FalconScreenshotStrategy(activity));
|
||||||
} catch (RuntimeException e) {
|
} catch (RuntimeException e) {
|
||||||
if (!e.getMessage().equals("Unable to capture screenshot."))
|
if (!e.getMessage().equals("Unable to capture screenshot."))
|
||||||
throw e;
|
throw e;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package org.briarproject.briar.android.login;
|
package org.briarproject.briar.android;
|
||||||
|
|
||||||
import android.support.test.espresso.intent.rule.IntentsTestRule;
|
import android.support.test.espresso.intent.rule.IntentsTestRule;
|
||||||
import android.support.test.runner.AndroidJUnit4;
|
import android.support.test.runner.AndroidJUnit4;
|
||||||
@@ -6,9 +6,12 @@ import android.support.test.uiautomator.UiDevice;
|
|||||||
import android.support.test.uiautomator.UiObject;
|
import android.support.test.uiautomator.UiObject;
|
||||||
import android.support.test.uiautomator.UiSelector;
|
import android.support.test.uiautomator.UiSelector;
|
||||||
|
|
||||||
|
import org.briarproject.bramble.api.FormatException;
|
||||||
|
import org.briarproject.bramble.api.contact.Contact;
|
||||||
|
import org.briarproject.bramble.api.db.DbException;
|
||||||
import org.briarproject.briar.R;
|
import org.briarproject.briar.R;
|
||||||
import org.briarproject.briar.android.BriarUiTestComponent;
|
import org.briarproject.briar.android.login.OpenDatabaseActivity;
|
||||||
import org.briarproject.briar.android.ScreenshotTest;
|
import org.briarproject.briar.android.login.SetupActivity;
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -26,14 +29,14 @@ import static android.support.test.espresso.matcher.ViewMatchers.isRoot;
|
|||||||
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
||||||
import static android.support.test.runner.lifecycle.Stage.PAUSED;
|
import static android.support.test.runner.lifecycle.Stage.PAUSED;
|
||||||
import static junit.framework.Assert.assertTrue;
|
import static org.briarproject.bramble.api.plugin.LanTcpConstants.ID;
|
||||||
import static org.briarproject.briar.android.ViewActions.waitForActivity;
|
import static org.briarproject.briar.android.ViewActions.waitForActivity;
|
||||||
import static org.briarproject.briar.android.ViewActions.waitUntilMatches;
|
import static org.briarproject.briar.android.ViewActions.waitUntilMatches;
|
||||||
import static org.briarproject.briar.android.util.UiUtils.needsDozeWhitelisting;
|
import static org.briarproject.briar.android.util.UiUtils.needsDozeWhitelisting;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class SetupActivityScreenshotTest extends ScreenshotTest {
|
public class SetupDataTest extends ScreenshotTest {
|
||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
public IntentsTestRule<SetupActivity> testRule =
|
public IntentsTestRule<SetupActivity> testRule =
|
||||||
@@ -61,7 +64,7 @@ public class SetupActivityScreenshotTest extends ScreenshotTest {
|
|||||||
onView(withId(R.id.nickname_entry))
|
onView(withId(R.id.nickname_entry))
|
||||||
.perform(waitUntilMatches(withText(USERNAME)));
|
.perform(waitUntilMatches(withText(USERNAME)));
|
||||||
|
|
||||||
screenshot("manual_create_account");
|
screenshot("manual_create_account", testRule.getActivity());
|
||||||
|
|
||||||
onView(withId(R.id.next))
|
onView(withId(R.id.next))
|
||||||
.check(matches(isDisplayed()))
|
.check(matches(isDisplayed()))
|
||||||
@@ -94,13 +97,54 @@ public class SetupActivityScreenshotTest extends ScreenshotTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// wait for OpenDatabaseActivity to show up
|
// wait for OpenDatabaseActivity to show up
|
||||||
onView(withId(R.id.progress))
|
|
||||||
.check(matches(isDisplayed()));
|
|
||||||
onView(isRoot())
|
onView(isRoot())
|
||||||
.perform(waitForActivity(testRule.getActivity(), PAUSED));
|
.perform(waitForActivity(testRule.getActivity(), PAUSED));
|
||||||
intended(hasComponent(OpenDatabaseActivity.class.getName()));
|
intended(hasComponent(OpenDatabaseActivity.class.getName()));
|
||||||
|
|
||||||
assertTrue(accountManager.hasDatabaseKey());
|
assertTrue(accountManager.hasDatabaseKey());
|
||||||
|
|
||||||
|
lifecycleManager.waitForStartup();
|
||||||
|
createTestData();
|
||||||
|
|
||||||
|
// close expiry warning
|
||||||
|
onView(withId(R.id.expiryWarning))
|
||||||
|
.perform(waitUntilMatches(isDisplayed()));
|
||||||
|
onView(withId(R.id.expiryWarningClose))
|
||||||
|
.check(matches(isDisplayed()));
|
||||||
|
onView(withId(R.id.expiryWarningClose))
|
||||||
|
.perform(click());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createTestData() {
|
||||||
|
try {
|
||||||
|
createTestDataExceptions();
|
||||||
|
} catch (DbException | FormatException e) {
|
||||||
|
throw new AssertionError(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createTestDataExceptions()
|
||||||
|
throws DbException, FormatException {
|
||||||
|
String bobName =
|
||||||
|
getTargetContext().getString(R.string.screenshot_bob);
|
||||||
|
Contact bob = testDataCreator.addContact(bobName);
|
||||||
|
|
||||||
|
String bobHi = getTargetContext()
|
||||||
|
.getString(R.string.screenshot_message_1);
|
||||||
|
long bobTime = getMinutesAgo(2);
|
||||||
|
testDataCreator.addPrivateMessage(bob, bobHi, bobTime, true);
|
||||||
|
|
||||||
|
String aliceHi = getTargetContext()
|
||||||
|
.getString(R.string.screenshot_message_2);
|
||||||
|
long aliceTime = getMinutesAgo(1);
|
||||||
|
testDataCreator.addPrivateMessage(bob, aliceHi, aliceTime, false);
|
||||||
|
|
||||||
|
String bobHi2 = getTargetContext()
|
||||||
|
.getString(R.string.screenshot_message_3);
|
||||||
|
long bobTime2 = getMinutesAgo(0);
|
||||||
|
testDataCreator.addPrivateMessage(bob, bobHi2, bobTime2, true);
|
||||||
|
|
||||||
|
connectionRegistry.registerConnection(bob.getId(), ID, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -2,11 +2,9 @@ package org.briarproject.briar.android.contact;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.support.test.rule.ActivityTestRule;
|
||||||
import android.support.test.runner.AndroidJUnit4;
|
import android.support.test.runner.AndroidJUnit4;
|
||||||
|
|
||||||
import org.briarproject.bramble.api.FormatException;
|
|
||||||
import org.briarproject.bramble.api.contact.Contact;
|
|
||||||
import org.briarproject.bramble.api.db.DbException;
|
|
||||||
import org.briarproject.briar.R;
|
import org.briarproject.briar.R;
|
||||||
import org.briarproject.briar.android.BriarUiTestComponent;
|
import org.briarproject.briar.android.BriarUiTestComponent;
|
||||||
import org.briarproject.briar.android.ScreenshotTest;
|
import org.briarproject.briar.android.ScreenshotTest;
|
||||||
@@ -15,23 +13,20 @@ import org.junit.Test;
|
|||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
import static android.support.test.InstrumentationRegistry.getInstrumentation;
|
import static android.support.test.InstrumentationRegistry.getInstrumentation;
|
||||||
import static android.support.test.InstrumentationRegistry.getTargetContext;
|
|
||||||
import static android.support.test.espresso.Espresso.onView;
|
import static android.support.test.espresso.Espresso.onView;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
import static android.support.test.espresso.matcher.ViewMatchers.isCompletelyDisplayed;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
||||||
import static org.briarproject.bramble.api.plugin.LanTcpConstants.ID;
|
|
||||||
import static org.briarproject.briar.android.contact.ConversationActivity.CONTACT_ID;
|
|
||||||
import static org.briarproject.briar.android.ViewActions.waitUntilMatches;
|
import static org.briarproject.briar.android.ViewActions.waitUntilMatches;
|
||||||
|
import static org.briarproject.briar.android.contact.ConversationActivity.CONTACT_ID;
|
||||||
import static org.hamcrest.Matchers.allOf;
|
import static org.hamcrest.Matchers.allOf;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class ConversationActivityScreenshotTest extends ScreenshotTest {
|
public class ConversationActivityScreenshotTest extends ScreenshotTest {
|
||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
public CleanAccountTestRule<ConversationActivity> testRule =
|
public ActivityTestRule<ConversationActivity> testRule =
|
||||||
new CleanAccountTestRule<>(ConversationActivity.class,
|
new ActivityTestRule<>(ConversationActivity.class, false, false);
|
||||||
this::createTestData);
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void inject(BriarUiTestComponent component) {
|
protected void inject(BriarUiTestComponent component) {
|
||||||
@@ -39,48 +34,19 @@ public class ConversationActivityScreenshotTest extends ScreenshotTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void messaging() {
|
public void messaging() throws Exception {
|
||||||
Context targetContext = getInstrumentation().getTargetContext();
|
Context targetContext = getInstrumentation().getTargetContext();
|
||||||
Intent intent = new Intent(targetContext, ConversationActivity.class);
|
Intent intent = new Intent(targetContext, ConversationActivity.class);
|
||||||
intent.putExtra(CONTACT_ID, 1);
|
intent.putExtra(CONTACT_ID, 1);
|
||||||
testRule.launchActivity(intent);
|
testRule.launchActivity(intent);
|
||||||
|
|
||||||
onView(withId(R.id.conversationView)).perform(waitUntilMatches(
|
onView(withId(R.id.conversationView))
|
||||||
allOf(withText(R.string.screenshot_message_3), isDisplayed())));
|
.perform(waitUntilMatches(allOf(
|
||||||
|
withText(R.string.screenshot_message_3),
|
||||||
|
isCompletelyDisplayed())
|
||||||
|
));
|
||||||
|
|
||||||
screenshot("manual_messaging");
|
screenshot("manual_messaging", testRule.getActivity());
|
||||||
}
|
|
||||||
|
|
||||||
private void createTestData() {
|
|
||||||
try {
|
|
||||||
createTestDataExceptions();
|
|
||||||
} catch (DbException | FormatException e) {
|
|
||||||
throw new AssertionError(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void createTestDataExceptions()
|
|
||||||
throws DbException, FormatException {
|
|
||||||
String bobName =
|
|
||||||
getTargetContext().getString(R.string.screenshot_bob);
|
|
||||||
Contact bob = testDataCreator.addContact(bobName);
|
|
||||||
|
|
||||||
String bobHi = getTargetContext()
|
|
||||||
.getString(R.string.screenshot_message_1);
|
|
||||||
long bobTime = getMinutesAgo(2);
|
|
||||||
testDataCreator.addPrivateMessage(bob, bobHi, bobTime, true);
|
|
||||||
|
|
||||||
String aliceHi = getTargetContext()
|
|
||||||
.getString(R.string.screenshot_message_2);
|
|
||||||
long aliceTime = getMinutesAgo(1);
|
|
||||||
testDataCreator.addPrivateMessage(bob, aliceHi, aliceTime, false);
|
|
||||||
|
|
||||||
String bobHi2 = getTargetContext()
|
|
||||||
.getString(R.string.screenshot_message_3);
|
|
||||||
long bobTime2 = getMinutesAgo(0);
|
|
||||||
testDataCreator.addPrivateMessage(bob, bobHi2, bobTime2, true);
|
|
||||||
|
|
||||||
connectionRegistry.registerConnection(bob.getId(), ID, true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,15 @@ package org.briarproject.briar.android.settings;
|
|||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.support.test.espresso.contrib.DrawerActions;
|
import android.support.test.espresso.contrib.DrawerActions;
|
||||||
|
import android.support.test.rule.ActivityTestRule;
|
||||||
import android.support.test.runner.AndroidJUnit4;
|
import android.support.test.runner.AndroidJUnit4;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
|
|
||||||
import org.briarproject.briar.R;
|
import org.briarproject.briar.R;
|
||||||
import org.briarproject.briar.android.BriarUiTestComponent;
|
import org.briarproject.briar.android.BriarUiTestComponent;
|
||||||
import org.briarproject.briar.android.navdrawer.NavDrawerActivity;
|
|
||||||
import org.briarproject.briar.android.ScreenshotTest;
|
import org.briarproject.briar.android.ScreenshotTest;
|
||||||
|
import org.briarproject.briar.android.navdrawer.NavDrawerActivity;
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -33,8 +34,8 @@ import static org.hamcrest.CoreMatchers.is;
|
|||||||
public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
public CleanAccountTestRule<SettingsActivity> testRule =
|
public ActivityTestRule<SettingsActivity> testRule =
|
||||||
new CleanAccountTestRule<>(SettingsActivity.class);
|
new ActivityTestRule<>(SettingsActivity.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void inject(BriarUiTestComponent component) {
|
protected void inject(BriarUiTestComponent component) {
|
||||||
@@ -46,7 +47,7 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
|||||||
onView(withText(R.string.settings_button))
|
onView(withText(R.string.settings_button))
|
||||||
.check(matches(isDisplayed()));
|
.check(matches(isDisplayed()));
|
||||||
|
|
||||||
screenshot("manual_dark_theme_settings");
|
screenshot("manual_dark_theme_settings", testRule.getActivity());
|
||||||
|
|
||||||
// switch to dark theme
|
// switch to dark theme
|
||||||
onView(withText(R.string.pref_theme_title))
|
onView(withText(R.string.pref_theme_title))
|
||||||
@@ -56,10 +57,20 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
|||||||
.check(matches(isDisplayed()))
|
.check(matches(isDisplayed()))
|
||||||
.perform(click());
|
.perform(click());
|
||||||
|
|
||||||
// open nav drawer and remove expiry warning
|
openNavDrawer();
|
||||||
openNavDrawer(true);
|
|
||||||
|
|
||||||
screenshot("manual_dark_theme_nav_drawer");
|
screenshot("manual_dark_theme_nav_drawer", testRule.getActivity());
|
||||||
|
|
||||||
|
// switch to back to light theme
|
||||||
|
onView(withText(R.string.settings_button))
|
||||||
|
.check(matches(isDisplayed()))
|
||||||
|
.perform(click());
|
||||||
|
onView(withText(R.string.pref_theme_title))
|
||||||
|
.check(matches(isDisplayed()))
|
||||||
|
.perform(click());
|
||||||
|
onView(withText(R.string.pref_theme_light))
|
||||||
|
.check(matches(isDisplayed()))
|
||||||
|
.perform(click());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -83,12 +94,11 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
|||||||
.check(matches(isDisplayed()))
|
.check(matches(isDisplayed()))
|
||||||
.check(matches(isEnabled()));
|
.check(matches(isEnabled()));
|
||||||
|
|
||||||
screenshot("manual_app_lock");
|
screenshot("manual_app_lock", testRule.getActivity());
|
||||||
|
|
||||||
// no more expiry warning to remove, because sharedprefs cached?
|
openNavDrawer();
|
||||||
openNavDrawer(false);
|
|
||||||
|
|
||||||
screenshot("manual_app_lock_nav_drawer");
|
screenshot("manual_app_lock_nav_drawer", testRule.getActivity());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -104,23 +114,15 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
|||||||
.check(matches(isDisplayed()))
|
.check(matches(isDisplayed()))
|
||||||
.perform(waitUntilMatches(isEnabled()));
|
.perform(waitUntilMatches(isEnabled()));
|
||||||
|
|
||||||
screenshot("manual_tor_settings");
|
screenshot("manual_tor_settings", testRule.getActivity());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void openNavDrawer(boolean expiry) {
|
private void openNavDrawer() {
|
||||||
// start main activity
|
// start main activity
|
||||||
Intent i =
|
Intent i =
|
||||||
new Intent(testRule.getActivity(), NavDrawerActivity.class);
|
new Intent(testRule.getActivity(), NavDrawerActivity.class);
|
||||||
testRule.getActivity().startActivity(i);
|
testRule.getActivity().startActivity(i);
|
||||||
|
|
||||||
// close expiry warning
|
|
||||||
if (expiry) {
|
|
||||||
onView(withId(R.id.expiryWarningClose))
|
|
||||||
.check(matches(isDisplayed()));
|
|
||||||
onView(withId(R.id.expiryWarningClose))
|
|
||||||
.perform(click());
|
|
||||||
}
|
|
||||||
|
|
||||||
// open navigation drawer
|
// open navigation drawer
|
||||||
onView(withId(R.id.drawer_layout))
|
onView(withId(R.id.drawer_layout))
|
||||||
.check(matches(isClosed(Gravity.START)))
|
.check(matches(isClosed(Gravity.START)))
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ dependencyVerification {
|
|||||||
'com.google.zxing:core:3.3.0:core-3.3.0.jar:bba7724e02a997cec38213af77133ee8e24b0d5cf5fa7ecbc16a4fa93f11ee0d',
|
'com.google.zxing:core:3.3.0:core-3.3.0.jar:bba7724e02a997cec38213af77133ee8e24b0d5cf5fa7ecbc16a4fa93f11ee0d',
|
||||||
'com.googlecode.json-simple:json-simple:1.1:json-simple-1.1.jar:2d9484f4c649f708f47f9a479465fc729770ee65617dca3011836602264f6439',
|
'com.googlecode.json-simple:json-simple:1.1:json-simple-1.1.jar:2d9484f4c649f708f47f9a479465fc729770ee65617dca3011836602264f6439',
|
||||||
'com.ibm.icu:icu4j:53.1:icu4j-53.1.jar:e37a4467bac5cdeb02c5c4b8e5063d2f4e67b69e3c7df6d6b610f13185572bab',
|
'com.ibm.icu:icu4j:53.1:icu4j-53.1.jar:e37a4467bac5cdeb02c5c4b8e5063d2f4e67b69e3c7df6d6b610f13185572bab',
|
||||||
|
'com.jraska:falcon:1.0.4:falcon-1.0.4.aar:6114a48d8b3814f75fc69b5e84dc087c1254883874eae8a36bd778979800630a',
|
||||||
'com.squareup:javawriter:2.1.1:javawriter-2.1.1.jar:f699823d0081f69cbb676c1845ea222e0ada79bc88a53e5d22d8bd02d328f57e',
|
'com.squareup:javawriter:2.1.1:javawriter-2.1.1.jar:f699823d0081f69cbb676c1845ea222e0ada79bc88a53e5d22d8bd02d328f57e',
|
||||||
'com.squareup:javawriter:2.5.0:javawriter-2.5.0.jar:fcfb09fb0ea0aa97d3cfe7ea792398081348e468f126b3603cb3803f240197f0',
|
'com.squareup:javawriter:2.5.0:javawriter-2.5.0.jar:fcfb09fb0ea0aa97d3cfe7ea792398081348e468f126b3603cb3803f240197f0',
|
||||||
'com.sun.activation:javax.activation:1.2.0:javax.activation-1.2.0.jar:993302b16cd7056f21e779cc577d175a810bb4900ef73cd8fbf2b50f928ba9ce',
|
'com.sun.activation:javax.activation:1.2.0:javax.activation-1.2.0.jar:993302b16cd7056f21e779cc577d175a810bb4900ef73cd8fbf2b50f928ba9ce',
|
||||||
@@ -171,7 +172,7 @@ dependencyVerification {
|
|||||||
'org.robolectric:shadows-framework:3.8:shadows-framework-3.8.jar:83548db7249edf1af87e1a1f4d8f4eec3e85d6220161da601e6f6398476911b2',
|
'org.robolectric:shadows-framework:3.8:shadows-framework-3.8.jar:83548db7249edf1af87e1a1f4d8f4eec3e85d6220161da601e6f6398476911b2',
|
||||||
'org.robolectric:shadows-support-v4:3.3.2:shadows-support-v4-3.3.2.jar:6f689264738266e70fe08db7c04b7b5a75155994f4e3f7f311960d90486bf005',
|
'org.robolectric:shadows-support-v4:3.3.2:shadows-support-v4-3.3.2.jar:6f689264738266e70fe08db7c04b7b5a75155994f4e3f7f311960d90486bf005',
|
||||||
'org.robolectric:utils:3.8:utils-3.8.jar:e945d04d40e37554e02d4be1bc3abf9bede45375c843aa36d10ccb6b63edbf34',
|
'org.robolectric:utils:3.8:utils-3.8.jar:e945d04d40e37554e02d4be1bc3abf9bede45375c843aa36d10ccb6b63edbf34',
|
||||||
'tools.fastlane:screengrab:1.1.0:screengrab-1.1.0.aar:03ce3868ee8a0082d14e7a1de0999f91531c0cc794392688beb08ee9bc4495fd',
|
'tools.fastlane:screengrab:1.2.0:screengrab-1.2.0.aar:af4ee23bb06f94404d3ab18e2ea69db8265539fc8da29f9ee45b7e472684ba83',
|
||||||
'uk.co.samuelwall:material-tap-target-prompt:2.8.0:material-tap-target-prompt-2.8.0.aar:ac70770c05bbc4675a1d5712c0e53d46ee4fa961b74947589fce50d8003065ec',
|
'uk.co.samuelwall:material-tap-target-prompt:2.8.0:material-tap-target-prompt-2.8.0.aar:ac70770c05bbc4675a1d5712c0e53d46ee4fa961b74947589fce50d8003065ec',
|
||||||
'xmlpull:xmlpull:1.1.3.1:xmlpull-1.1.3.1.jar:34e08ee62116071cbb69c0ed70d15a7a5b208d62798c59f2120bb8929324cb63',
|
'xmlpull:xmlpull:1.1.3.1:xmlpull-1.1.3.1.jar:34e08ee62116071cbb69c0ed70d15a7a5b208d62798c59f2120bb8929324cb63',
|
||||||
'xpp3:xpp3_min:1.1.4c:xpp3_min-1.1.4c.jar:bfc90e9e32d0eab1f397fb974b5f150a815188382ac41f372a7149d5bc178008',
|
'xpp3:xpp3_min:1.1.4c:xpp3_min-1.1.4c.jar:bfc90e9e32d0eab1f397fb974b5f150a815188382ac41f372a7149d5bc178008',
|
||||||
|
|||||||
Reference in New Issue
Block a user