package com.example;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import java.io.File;
import java.io.IOException;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import com.gorillalogic.monkeytalk.java.MonkeyTalkDriver;
import com.gorillalogic.monkeytalk.java.api.Application;
import com.gorillalogic.monkeytalk.java.error.MonkeyTalkFailure;
import com.gorillalogic.monkeytalk.java.utils.Mods;
public class LoginTest {
private static MonkeyTalkDriver mt;
private Application app;
@BeforeClass
public static void beforeClass() throws IOException {
File dir = new File(".");
// Android driver
// mt = new MonkeyTalkDriver(dir, "AndroidEmulator");
// mt.setAdb(new File("/path/to/adb"));
// iOS driver
mt = new MonkeyTalkDriver(dir, "iOS");
mt.setThinktime(250);
}
@Before
public void before() {
app = mt.app();
app.tabBar().select("login");
}
@Test
public void testLogin() {
app.input("username").enterText("fred");
app.input("password").enterText("pass");
app.button("LOGIN").tap();
app.button("LOGOUT").verify(new Mods.Builder().timeout(3500).build());
app.label().verify("Welcome, fred!");
app.button("LOGOUT").tap();
}
@Test(expected = MonkeyTalkFailure.class)
public void testBadLogin() {
app.input("username").enterText("joe");
app.input("password").enterText("pass");
app.button("LOGIN").tap();
app.button("LOGOUT").verify(new Mods.Builder().timeout(3500).build());
}
@Test
public void testGet() {
app.input("username").enterText("i like cheese");
String val = app.input("username").get();
assertThat(val, is("i like cheese"));
}
@Test
public void testRaw() {
app.raw("Input username EnterText \"i am fred\"");
String val = app.raw("Input username Get dummy");
assertThat(val, is("i am fred"));
}
}