问题标签 [android-testing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何为我的 android 方法编写单元测试?
我写了一些代码。现在我需要为它编写单元测试。我不知道如何为这种方法编写它:
baseDocElement 和 authResult 定义为
我使用junit和反射测试的其他一些方法
请帮忙,我不知道如何测试。
android - 在测试用例中,第二个 getActivity() 没有调用 onCreate()
我有一个单元测试,在我销毁并完成应用程序后,我再次调用 getActivity() 以验证它是否正确加载。但是,它没有调用 onCreate()!
这是日志
我不知道为什么它在日志文件中说 onCreate 。就像 onCreate() 被异步调用一样!这是我的 onCreate()。
我试过 waitForIdleSync()
但这没有帮助。
android - ActivityMonitor 被击中,但 getLastActivity 返回 null
我的测试套件中的一个测试用例有问题。我想要做的只是点击一个按钮并等待一个新的活动启动。
根据文档,此代码应等待最多 60 秒以使监视器被击中。如果它被击中,则将返回活动(否则为 null)。
发生的情况是,有时测试会通过,但大多数时候它会失败,因为a == null
. 我正在观察运行的测试用例,我可以清楚地看到它没有等待 60 秒。只有一点。通过一些打印输出,我还注意到监视器实际上被击中,但返回的活动getLastActivity()
仍然是null
.
1)这怎么可能?
2)我能做些什么来避免它吗?
android - 如何向 CTS-Tradefed 输入指令?
我目前正在尝试自动化 android ICS CTS 中的几个步骤。
- 当我们执行时,
./cts-tradefed
我们会得到cts-tf >
提示。 - 然后我可以进入运行
cts --plan CTS
- 然后 exit 命令退出提示。
在这里,我想在一个 shell 脚本中编写以上 3 个步骤。但无法用下面的脚本做到这一点。尝试了多种方式,但无法实现。请帮忙。
想要执行:
1. ./cts-tradefed
2.运行cts --plan CTS exit
3. ./cts-tradefed
4. run cts --plan CTS
5. exit
任何 shell、python 或 perl 语言的帮助表示赞赏。
android - 测试项目中片段的ActivityMock
我的Activity
内容很少Fragments
,现在我想测试其中之一,Fragment
但我想分开测试并仅测试 selected 的核心功能,Fragment
而不打扰 main 中发生的事情Activity
。
我的想法是创建一个Activity
只添加方法Fragment
的模拟。onCreate()
然后我会做一些测试。但我不想Activity
在我的主要项目中包含模拟,我宁愿将它包含在测试项目中。所以我做了这样的事情:
我创建了
/li>MockActivity
:我想像这样测试它:
/li>
问题是我得到错误:
好的接下来我尝试修改测试项目AndroidManifest.xml
但我得到了同样的错误。我认为那是因为无论如何在测试运行主要项目中都会搜索ActivityMock
. 所以我尝试添加
我不知道这是否是个好主意,但主要想法是测试项目将能够测试(仪器)本身。但现在我得到:
所以我认为修改后的AndroidManifest.xml
工作但仍在ActivityMock
主项目中搜索类,尽管它在测试项目中。我假设该getActivity()
方法总是在主项目中寻找活动类。
有没有人尝试过Fragment
这种方式并能够创建Activity
模拟?
干杯
android - Android WebDriver 不使用 Android 测试框架加载 https 页面
如何使用 AVD 上的 Android 测试框架在 Android WebDriver 上加载 https 页面?根据 AndroidDriver 常见问题解答 (http://code.google.com/p/selenium/wiki/AndroidDriver#Android_fails_to_load_HTTPS_pages),您需要在制作新的 AndroidDriver 时启用功能:
但是,当使用 Android 测试框架时,使用的驱动程序是 AndroidWebDriver 而不是 AndroidDriver。在 AndroidDriver 构造函数中,您可以使用功能作为参数来允许 https 页面,但在 AndroidWebDriver 构造函数中,唯一的参数是需要使用的 Activity。那么,您将如何设置功能以允许 AndroidWebDriver 加载 https 页面?
android - Robolectric:findViewById 返回 null
我正在尝试用 Robolectric 做一个非常简单的测试,我想测试一个视图是否存在。这与 Robolectric 网站中的示例非常相似,但findViewById
一直返回 null。
可能是什么问题?
这是活动:
这是测试:
布局 XML 文件包含ImageView
具有正确 id 和资源的,在模拟器中运行活动就可以了。
android - 警告(junit.framework.TestSuite$1):通过 Maven 执行 Android 测试时,构造函数中出现异常
我通过 Maven 设置了一个 Android 测试项目,并按照此处的说明进行操作。基本上我能够设置测试项目,即使模拟器被识别,但在执行 mvn install (在 Eclipse 中)时我仍然无法通过 Maven 运行测试。如果我尝试执行它,我会收到以下错误:
失败的测试:警告(junit.framework.TestSuite$1):构造函数中的异常:testPersistAndRead(java.lang.RuntimeException:存根!(..)警告(junit.framework.TestSuite$1):构造函数中的异常:testFileNotExists(java.lang .RuntimeException:存根!(..)警告(junit.framework.TestSuite$1):构造函数中的异常:testCreateFiles(java.lang.RuntimeException:存根!(..)警告(junit.framework.TestSuite$1):构造函数中的异常:testFilesExist(java.lang.RuntimeException:存根!(..)警告(junit.framework.TestSuite $ 1):构造函数中的异常:testAndroidTestCaseSetupProperly(java.lang.RuntimeException:存根!(..)
surfire 的输出告诉我它嵌套在 AndroidTestCase 中:
junit.framework.AssertionFailedError: 构造函数中的异常:testPersistAndRead (java.lang.RuntimeException: Stub! at android.test.AndroidTestCase.(AndroidTestCase.java:5) [...]
这是我尝试运行的测试。
...这是来自测试项目的 pom.xml。
任何想法为什么这不起作用?
android - Robolectric:如何测试 SherlockActivity
我正在尝试对扩展 SherlockActivity 的 Activity 运行测试。我阅读了有关使用 ActionBarSherlock 测试活动的解决方案的所有信息,并尝试遵循https://github.com/passy/absshadow-sample
这就是我目前正在做的事情:
自定义测试运行器:
影子夏洛克活动:
由于某种原因,它的失败与此有关:
我的活动确实setContentView
先调用,然后再调用findViewById
。
奇怪的是,无论我在影子实现中做setContentView
什么,似乎都没有发生任何事情(例如,抛出 a NullPojnterException
)。我的影子确实被注册了,就好像我试图覆盖的实现onCreate
并在那里抛出异常一样,它确实有效。
我在这里想念什么?