59 lines
1.9 KiB
Kotlin
59 lines
1.9 KiB
Kotlin
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
package org.mozilla.fenix.helpers
|
|
|
|
import android.content.Context
|
|
import android.net.Uri
|
|
import android.os.Build
|
|
import android.preference.PreferenceManager
|
|
import androidx.test.espresso.Espresso.onView
|
|
import androidx.test.espresso.action.ViewActions.longClick
|
|
import androidx.test.espresso.matcher.ViewMatchers.withId
|
|
import androidx.test.espresso.matcher.ViewMatchers.withText
|
|
import androidx.test.uiautomator.By
|
|
import androidx.test.uiautomator.UiScrollable
|
|
import androidx.test.uiautomator.UiSelector
|
|
import androidx.test.uiautomator.Until
|
|
import org.hamcrest.CoreMatchers.allOf
|
|
import org.mozilla.fenix.R
|
|
import org.mozilla.fenix.helpers.ext.waitNotNull
|
|
import org.mozilla.fenix.ui.robots.mDevice
|
|
|
|
object TestHelper {
|
|
fun scrollToElementByText(text: String): UiScrollable {
|
|
val appView = UiScrollable(UiSelector().scrollable(true))
|
|
appView.scrollTextIntoView(text)
|
|
return appView
|
|
}
|
|
|
|
fun longTapSelectItem(url: Uri) {
|
|
mDevice.waitNotNull(
|
|
Until.findObject(By.text(url.toString())),
|
|
TestAssetHelper.waitingTime
|
|
)
|
|
onView(
|
|
allOf(
|
|
withId(R.id.url),
|
|
withText(url.toString())
|
|
)
|
|
).perform(longClick())
|
|
}
|
|
|
|
fun setPreference(context: Context, pref: String, value: Int) {
|
|
val preferences = PreferenceManager.getDefaultSharedPreferences(context)
|
|
val editor = preferences.edit()
|
|
editor.putInt(pref, value)
|
|
editor.apply()
|
|
}
|
|
|
|
fun getPermissionAllowID(): String {
|
|
return when
|
|
(Build.VERSION.SDK_INT > Build.VERSION_CODES.P) {
|
|
true -> "com.android.permissioncontroller"
|
|
false -> "com.android.packageinstaller"
|
|
}
|
|
}
|
|
}
|