あなたのGradleにこのライブラリを追加します。
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3'
次に、あなたのエスプレッソのテストであなたの広告が表示された後:
Thread.sleep(5000); // Necessary time you needed to show your ads, for example 5 seconds
// After that, press back button to go back
UiDevice mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
mDevice.pressBack();
あなたのアプリがSDKレベルでより低い実行されている場合18あなたのテストディレクトリsrc/androidTest/
に別のAndroidManifest.xmlファイルを作成し、このコードでテストを実行します。minSdkVersion=18
(UIAutomatorのために必要なAPIレベルである):
<?xml version="1.0" encoding="utf-8"?>
<manifest
package="com.monkingme.monkingme"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-sdk
android:minSdkVersion="18"
tools:overrideLibrary="android.support.test.uiautomator.v18" />
</manifest>
これで運がいいですか?私もここにこだわっている。 – Matej
私は、アクティビティ間のライブラリUI(この場合はGoogleのadmob)を含むエスプレッソテストを実行するための簡単な方法はないと思う..私のケースでは、それは無料で支払った味のものだった。私は 'フリー'フレーバー2つのアクティビティの間で、 '支払われた'ものではありません。無料のフレーバの場合は、ユーザーを第2の画面にするいくつかの要素をクリックすると、次の画面のUI要素が表示されるかどうかをテストします。彼らは目に見えるし、テストは失敗する必要がありますし、逆も同様です。これを改善するための提案はありますか? – Droidwala
あなたはUIオートメーションを使用して、それを使ってシステムの戻るボタンを押して、この方法でインタースティシャルを閉じることができます。とにかく、私は時間を押されてから諦めてしまいました。エスプレッソは皮肉なことに、Robotiumよりも私にとっては薄れていることが判明しました。それでは、ちょっとしたカスタムロジックでそれを使いました。 – Matej