Articles of ui testing

在运行适用于Android的Xamarin UI测试时,等待ClearAppData2的结果超时

我使用Xamarin UITest框架为我的Xamarin应用程序创建了自动Android和iOS UI测试。 在本地运行测试时,它们工作正常,但在Bitrise CI上运行时,iOS测试运行正常,但Android UI测试仍然失败,出现以下exception: StartFirstActivity_WaitForActivity_ExpectButtonToHaveText SetUp : System.Exception : Timed out waiting for result of ClearAppData2 Stack trace: at Xamarin.UITest.Shared.Android.Commands.CommandAdbClearAppData.Execute (IProcessRunner processRunner, IAndroidSdkTools androidSdkTools) in :0 at Xamarin.UITest.Shared.Execution.Executor.Execute[TDep1,TDep2] (ICommand2 command) in :0 at Xamarin.UITest.Shared.Android.LocalAndroidAppLifeCycle.EnsureInstalled (Xamarin.UITest.Shared.Android.ApkFile appApkFile, Xamarin.UITest.Shared.Android.ApkFile testServerApkFile) in :0 at Xamarin.UITest.Android.AndroidApp..ctor (IAndroidAppConfiguration appConfiguration) in :0 at Xamarin.UITest.Configuration.AndroidAppConfigurator.StartApp (AppDataMode appDataMode) in :0 at […]

Espresso – 如何获得当前活动来测试碎片?

我一直在玩Espresso测试几周,最后我决定开始测试片段。 我遇到了一个问题,如何获得当前的活动? 我的应用程序使用登录数据,因此我无法使用测试规则启动活动。 简单地说,在做espresso测试时是否有类似于getActivity()东西?

Android Espresso UI测试 – 测试运行失败:由于’java.lang.IllegalAccessError’导致仪表运行失败

我遇到了以下问题: 当我尝试使用Espresso启动独立的UI测试时,我总是会在没有运行测试的情况下收到以下控制台错误消息。 Test running startedTest running failed: Instrumentation run failed due to ‘java.lang.IllegalAccessError’ Empty test suite. 所以我试着运行命令: gradle -q dependencies 我获得了以下结果: androidTestCompile – Classpath for compiling the androidTest sources. +— com.android.support:support-annotations:23.0.1 +— com.android.support.test:runner:0.3 | +— com.android.support.test:exposed-instrumentation-api-publish:0.3 | +— junit:junit:4.12 | | \— org.hamcrest:hamcrest-core:1.3 | \— com.android.support:support-annotations:22.2.0 -> 23.0.1 +— com.android.support.test:rules:0.3 | \— com.android.support.test:runner:0.3 (*) +— […]

RuntimeException:无法创建输出目录:/ storage / emulated / 0 / app_spoon-screenshots

我正在使用Spoon 2.0.0快照使用gradle-spoon-plugin为Android UI测试设置Spoon。 我的项目是使用Android Gradle插件3.0.1设置的。 通过spoonRule.screenshot(activity, “hello”)截取屏幕截图时,我得到此RuntimeException: java.lang.RuntimeException: Unable to create output dir: /storage/emulated/0/app_spoon-screenshots at com.squareup.spoon.SpoonRule.createDir(SpoonRule.java:167) at com.squareup.spoon.SpoonRule.createDir(SpoonRule.java:164) at com.squareup.spoon.SpoonRule.createDir(SpoonRule.java:164) at com.squareup.spoon.SpoonRule.obtainDirectory(SpoonRule.java:108) at com.squareup.spoon.SpoonRule.screenshot(SpoonRule.java:66) 如果我在Nexus 4 API 19仿真器上运行它,但它在Pixel 2 API 27仿真器上不起作用。 权限已从19变为27,所以这并非完全出乎意料。 我已经尝试了当前可用的大部分建议,包括在我的androidTest目录中添加一个清单,该清单授予读写外部存储(使用和不使用maxSdkVersion ): 在这两种情况下,我都看到这些权限被合并到我的应用程序AndroidManifest的最终清单中(不确定如何检查测试应用程序的清单)。 我尝试通过UIAutomator向应用和测试包授予权限: val device = UiDevice.getInstance(getInstrumentation()) device.executeShellCommand(“pm grant tv.twitch.android.test android.permission.READ_EXTERNAL_STORAGE”) device.executeShellCommand(“pm grant tv.twitch.android.debug android.permission.READ_EXTERNAL_STORAGE”) device.executeShellCommand(“pm grant tv.twitch.android.test android.permission.WRITE_EXTERNAL_STORAGE”) device.executeShellCommand(“pm grant tv.twitch.android.debug […]

是否可以使用浓缩咖啡拍摄屏幕截图并测试像素值?

我开始使用espresso并编写了一些简单的UI测试,用于点击按钮,输入文本并检查是否所有内容都应该存在。 现在我想截取屏幕截图并测试一些像素值,但我找不到办法做到这一点。 有人有什么建议吗? 甚至可以用浓缩咖啡吗?

Android Espresso ListView点击项目

我有ListView与图片和文字。 当我尝试点击项目时,我收到错误 android.support.test.espresso.AmbiguousViewMatcherException: ‘with id: com.cifrasoft.telefm:id/cardsGridView’ matches multiple views in the hierarchy. Problem views are marked with ‘****MATCHES****’ below. 我使用以下代码: onData(hasToString(startsWith(“Item Text”))) .inAdapterView(withId(R.id.cardsGridView)) .perform(click()); 我可以使用Adapter位置单击ListView ,没有匹配或startWith ?

浓缩咖啡动态微调试验

我正在尝试测试动态生成的Spinner 。 我能够点击微调器然后我需要从列表中选择一个显示给定文本的选项(我从hierarchyviewer中发现PopupWindow显示但是无法访问屏幕外的所需文本) 。 微调器使用自定义对象的ArrayAdapter(下面的代码), public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Spinner mySpinner = (Spinner) findViewById(R.id.my_spinner); List list = Arrays.asList( new MyValue(“One”, “1”), new MyValue(“Two”, “2”), new MyValue(“Three”, “3”), new MyValue(“Four”, “4”), new MyValue(“Five”, “5”), new MyValue(“Six”, “6”), new MyValue(“Seven”, “7”), new MyValue(“Eight”, “8”), new MyValue(“Nine”, “9”), […]

android espresso测试:空测试套件。 没有发现任何测试

我正在Windows上运行intelliJ idea 14.0.2 android开发环境,我正在尝试使用espresso UI测试框架来测试我的应用程序。但是当我按下运行androidTest配置时,我遇到以下情况: Testing started at 12:09 PM … Waiting for device. Target device: lge-nexus_5-05b1bd8af0ddba12 Uploading file local path: C:\Users\AsiAnSeNsAtIoN\Documents\note\ECSE428\AssB_2\build\classes\main\AssB_2.apk remote path: /data/local/tmp/com.cyc115.VectorCalculator Installing com.cyc115.VectorCalculator DEVICE SHELL COMMAND: pm install -r “/data/local/tmp/com.cyc115.VectorCalculator” pkg: /data/local/tmp/com.cyc115.VectorCalculator Success Running tests Test running startedFinish Empty test suite. 这是截图: 我的测试类看起来像这样: package com.cyc115.VectorCalculator.test; import android.support.test.espresso.assertion.ViewAssertions; import android.test.ActivityInstrumentationTestCase2; import android.test.suitebuilder.annotation.LargeTest; […]

Espresso:如何进行自定义滑动,例如swipeTop或swipeBottom

到目前为止我们可以做到: swipeLeft swipeRight swipeUp 刷下 我们如何swipeTop(一直到顶部)或swipeBottom(一直到底部)是expresso。 如果这些方法已经存在,请举个例子。

我的Android UI测试没有ID

我想在我的Android应用程序上编写一些UI测试,以便获取自动截图。 我的应用程序是用React-Native编写的。 为了编写我需要知道我的组件的资源ID的测试,但是你可以在这个截图中看到我在这个React-Native示例应用程序中看不到ui Automator Viewer的任何资源ID。 看这张照片。 我想知道是否有办法给我的组件提供一些ID,这样我就可以编写一些测试,或者是否有其他方法可以选择我的组件。 注意:我正在尝试编写Espresso Test。