Skip to content

Commit

Permalink
use className selector instead(to make test work in android 19)
Browse files Browse the repository at this point in the history
  • Loading branch information
gigiyy committed Aug 30, 2018
1 parent 8aca203 commit d17f84f
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -153,12 +153,12 @@ private void testOauthFlow(String dummyLogin) throws InterruptedException, UiObj

UiDevice device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
UiSelector selector = new UiSelector();
UiObject login = device.findObject(selector.resourceId("loginUser"));
UiObject login = device.findObject(selector.className(EditText.class).instance(0));
login.clearTextField();
login.click();
login.setText(dummyLogin);

UiObject password = device.findObject(selector.resourceId("loginPwd"));
UiObject password = device.findObject(selector.className(EditText.class).instance(1));
password.clearTextField();
password.click();
password.setText("dummy");
Expand All @@ -169,7 +169,7 @@ private void testOauthFlow(String dummyLogin) throws InterruptedException, UiObj
Thread.sleep(3000l); //TODO there should be a better way for waiting

if ("dummySecurity".equals(dummyLogin) || "dummyOption".equals(dummyLogin)) {
UiObject answer = device.findObject(selector.resourceId("securityAnswer"));
UiObject answer = device.findObject(selector.className(EditText.class).instance(0));
answer.clearTextField();
answer.click();
answer.setText("dummySecurity".equals(dummyLogin) ? "tradingticket" : "option 1");
Expand Down Expand Up @@ -199,6 +199,7 @@ private void selectBroker(String brokerLongName) {

appCompatCheckedTextView.perform(click());
}

private void testGetLinkedBrokers(int number) throws InterruptedException {
tapOnText(MainActivity.MainActivityActions.GET_LINKED_BROKERS.getLabel());

Expand Down Expand Up @@ -260,7 +261,7 @@ private void testPreviewAndPlaceTradeFirstLinkedBrokerAccount() throws Interrupt

Thread.sleep(1500l); //TODO there should be a better way for waiting

checkFieldContainsText(R.id.preview_order_textview,"TradeItPlaceStockOrEtfOrderResponseParcelable{broker='Dummy', confirmationMessage='Your order message");
checkFieldContainsText(R.id.preview_order_textview, "TradeItPlaceStockOrEtfOrderResponseParcelable{broker='Dummy', confirmationMessage='Your order message");

navigateUp();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
class MainActivityTest {

@Rule @JvmField
@Rule
@JvmField
var mActivityTestRule: ActivityTestRule<MainActivity> = object : ActivityTestRule<MainActivity>(MainActivity::class.java) {
override fun beforeActivityLaunched() {
clearSharedPrefs(InstrumentationRegistry.getTargetContext(), TradeItKeystoreService.TRADE_IT_SHARED_PREFS_KEY)
Expand Down Expand Up @@ -137,13 +138,15 @@ class MainActivityTest {

Thread.sleep(3000L) //TODO there should be a better way for waiting

val name = "android.widget.EditText"

val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
val login = device.findObject(UiSelector().resourceId("loginUser"))
val login = device.findObject(UiSelector().className(name).instance(0))
login.clearTextField()
login.click()
login.text = dummyLogin

val password = device.findObject(UiSelector().resourceId("loginPwd"))
val password = device.findObject(UiSelector().className(name).instance(1))
password.clearTextField()
password.click()
password.text = "dummy"
Expand All @@ -154,7 +157,7 @@ class MainActivityTest {
Thread.sleep(3000L) //TODO there should be a better way for waiting

if (dummyLogin in arrayOf("dummySecurity", "dummyOption")) {
device.findObject(UiSelector().resourceId("securityAnswer")).run {
device.findObject(UiSelector().className(name).instance(0)).run {
clearTextField()
click()
text = if (dummyLogin == "dummySecurity") "tradingticket" else "option 1"
Expand Down

0 comments on commit d17f84f

Please sign in to comment.