- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 Android 开发编码非常陌生。我开发了一款非常基本的应用程序,只需按一下按钮即可进行 MO 调用。
我正在尝试通过浓缩咖啡测试这个应用程序。这是我的代码:
应用名称:电话
MainActicity.java代码:
package com.test.phonecall;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public void onClickFun(View view)
{
try
{
Uri number = Uri.parse("tel:" + "xxxxxxxx");
Intent dial = new Intent(Intent.ACTION_CALL, number);
startActivity(dial);
}catch(Exception e){
}
}
}
list 文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.phonecall"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.test.phonecall.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
测试项目:
package com.test.phonecall.test;
import junit.framework.Assert;
import android.app.Instrumentation;
import android.test.ActivityInstrumentationTestCase2;
import android.util.Log;
import com.google.android.apps.common.testing.ui.espresso.Espresso;
import com.google.android.apps.common.testing.ui.espresso.action.ViewActions;
import com.google.android.apps.common.testing.ui.espresso.matcher.ViewMatchers;
import com.test.phonecall.MainActivity;
import com.test.phonecall.R;
public class TestMainActivity extends ActivityInstrumentationTestCase2<MainActivity> {
private MainActivity activity;
private Instrumentation instrumentation;
public TestMainActivity(String name) {
super(MainActivity.class);
}
protected void setUp() throws Exception {
super.setUp();
this.activity = (MainActivity) super.getActivity();
this.instrumentation = super.getInstrumentation();
}
protected void tearDown() throws Exception {
super.tearDown();
}
public void testPhoneCallBtn() {
try {
Log.d("Test","in testPhoneCallBtn");
Espresso.onView(ViewMatchers.withId(R.id.button1)).perform(ViewActions.click());
} catch (Exception e) {
Log.d("MyTestApp", e.getMessage());
}
}
public void testActivityTitleIsCorrect()
{
Assert.assertTrue(this.activity.getTitle().equals("PhoneCall"));
Log.d("Test","in testPhoneCallBtn");
Espresso.onView(ViewMatchers.withId(R.id.button1)).perform(ViewActions.click());
}
}
list 文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.phonecall.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="20" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<uses-library android:name="android.test.runner" />
</application>
<instrumentation
android:name="com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner"
android:targetPackage="com.test.phonecall"/>
</manifest>
异常日志:
01-12 06:10:35.569: W/dalvikvm(10800): threadid=1: thread exiting with uncaught exception (group=0x415d9d58)
01-12 06:10:35.569: E/AndroidRuntime(10800): FATAL EXCEPTION: main
01-12 06:10:35.569: E/AndroidRuntime(10800): Process: com.test.phonecall, PID: 10800
01-12 06:10:35.569: E/AndroidRuntime(10800): java.lang.RuntimeException: Unable to instantiate instrumentation ComponentInfo{com.test.phonecall.test/com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner}: java.lang.ClassNotFoundException: Didn't find class "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner" on path: DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/data/app/com.test.phonecall.test-2.apk", zip file "/data/app/com.test.phonecall-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.test.phonecall.test-2, /data/app-lib/com.test.phonecall-2, /vendor/lib, /system/lib]]
01-12 06:10:35.569: E/AndroidRuntime(10800): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4379)
01-12 06:10:35.569: E/AndroidRuntime(10800): at android.app.ActivityThread.access$1500(ActivityThread.java:138)
01-12 06:10:35.569: E/AndroidRuntime(10800): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1259)
01-12 06:10:35.569: E/AndroidRuntime(10800): at android.os.Handler.dispatchMessage(Handler.java:102)
01-12 06:10:35.569: E/AndroidRuntime(10800): at android.os.Looper.loop(Looper.java:136)
01-12 06:10:35.569: E/AndroidRuntime(10800): at android.app.ActivityThread.main(ActivityThread.java:5111)
01-12 06:10:35.569: E/AndroidRuntime(10800): at java.lang.reflect.Method.invokeNative(Native Method)
01-12 06:10:35.569: E/AndroidRuntime(10800): at java.lang.reflect.Method.invoke(Method.java:515)
01-12 06:10:35.569: E/AndroidRuntime(10800): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
01-12 06:10:35.569: E/AndroidRuntime(10800): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
01-12 06:10:35.569: E/AndroidRuntime(10800): at dalvik.system.NativeStart.main(Native Method)
01-12 06:10:35.569: E/AndroidRuntime(10800): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner" on path: DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/data/app/com.test.phonecall.test-2.apk", zip file "/data/app/com.test.phonecall-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.test.phonecall.test-2, /data/app-lib/com.test.phonecall-2, /vendor/lib, /system/lib]]
01-12 06:10:35.569: E/AndroidRuntime(10800): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
01-12 06:10:35.569: E/AndroidRuntime(10800): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
01-12 06:10:35.569: E/AndroidRuntime(10800): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
01-12 06:10:35.569: E/AndroidRuntime(10800): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4376)
01-12 06:10:35.569: E/AndroidRuntime(10800): ... 10 more
最佳答案
1.确保 espresso jar 位于 libs 文件夹中
2.确保在类路径中导出
关于java - 通过 Espresso 运行单元测试时,由于 'java.lang.ClassNotFoundException' 错误,仪器运行失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23991722/
我的应用在尝试访问外部依赖项时遇到 NoClassDefFoundError,但仅限于作为 jar 运行时。 使用 Intellij,我有一个带有主类的简单应用程序,其中包含一些对外部依赖项(例如 s
我收到以下异常: java.lang.ClassNotFoundException: org.jboss.resteasy.plugins.server.servlet.ResteasyBootstr
我正在尝试使用eclipse和tomcat调试solr4.6源代码。我收到错误消息:HTTP 状态 500 - {msg=SolrCore 'collection1' 由于初始化失败而不可用:[sch
我是新来的,很抱歉我的英语不好;)。 我尝试使用以下代码在 java 中加载插件 jar: package testprogramm; import java.io.File; import java
我重新安装了 ADT Bundle,因为我在更新 eclipse 后遇到了一些问题。 现在,当我想测试我的应用程序时,出现以下异常: 06-05 10:33:35.770: E/AndroidRunt
我浏览过现有的帖子,这些帖子处理在 Eclipse 中的 Tomcat 下运行 Java Web 应用程序的 ClassNotFoundException。 我无法提供源代码和配置 Artifact
我忙于我的应用一个多星期,突然: 11-12 07:59:17.860 1653-1653/nl.test.myapp E/AndroidRuntime﹕ FATAL EXCEPTION: ma
我的应用程序有问题,昨天一切正常,但今天我更新了 sdk,现在当我尝试运行我的应用程序时,出现这样的错误 05-21 00:14:19.285: W/dalvikvm(7061): Unable t
我正在阅读 JPA docs在 Spring ,我正在尝试重组我的代码。 我现在所拥有的: BrewerRepository @Repository public class BrewerReposi
我想像 BalusC's example 一样实现 fileUpload . 不幸的是,我已经在努力声明 servlet。 Extensions Filter javax.faces
在某些机器上运行这个小程序不起作用,但在其他机器上它工作得很好。在所有情况下看起来都安装了 JRE 1.6.0_26。 var attributes = {codebase:'http://kas
我将跟随这个非常简单的教程(http://www.tutorialspoint.com/hadoop/hadoop_mapreduce.htm)一起学习,直到我尝试运行Java文件为止,一切运行良好。
我看到了帖子,并按照流程进行了操作。但这没有用。 ClassNotFoundException, while running example job of Hadoop 请帮助我。 创建的 mapre
我尝试在cloudera quickstart vm上为hadoop运行Mahout Kmeans示例。我在这里读link to clouudera block和这里stack overflow po
我有一个mapreduce程序,其中我使用Hcatalog从Hive表'A'中获取带有HcatInputFormat的详细信息,对其进行处理,然后使用HcatOutput格式将其写回到Hive表'B'
我是激发应用程序编程的新手,因此在这里为这个基本的编程而苦苦挣扎。 我有 scala ide 并附加了来自最新 hadoop 和 spark 发行版的相关 jar 文件。我正在使用的只有一个基本的 s
我正在尝试在本地模式下运行Spark示例,但是正在获取以下堆栈跟踪: Exception in thread "main" java.lang.NoClassDefFoundError: org/ap
我有以下代码: // Test TODO remove try { System.out.println(System.getProperties().getPrope
我有以下文件: src/my_proj/myns.clj: (ns my-proj.myns) (defrecord MyRecord [a b c]) 测试/my_proj/myns_test.c
我试图让应用程序动态加载某些类,然后调用启动方法,但问题是,由于 ClassLoader 不同,一个类无法调用另一个类的方法,但是正如我已经用 google 搜索的那样,我用父类创建了两个类加载器。这
我是一名优秀的程序员,十分优秀!