qq_34497880 2016-05-19 09:10
浏览 802
已结题

robotium跨应用操作~~~请大神们帮忙解答,,新手见谅

                执行  if(!solo.searchText("您没"));需要跨应用进入contacts中 程序无法执行,请帮忙进行编写跨应用操作,请帮忙直接进行在代码上进行修改,,最好能进行备注,新手请谅解
                注:不需要写调用什么,然后声明什么的,新手看不懂直接改代码就好。

                可以的话加我QQ:1158996359~~~
                ~~~~~~~~~~~~~~~~~谢谢您!

public class Call extends ActivityInstrumentationTestCase2
{
//声明一个Solo对象,Solo实例封装了所有Robotium的可用方法
public Solo solo;
public Activity activity;
//声明一个Class诶性变量,用于ActivityInstrumentationTestCase2加载启用被测程序
public static Class<?> launchActivityClass;
private static String mainActivity = "com.android.dialer.DialtactsActivity";//启动路径
private static String packageName = "com.android.dialer";//包名

//声明一个标签用于日志的输出控制,便于调试
final String TAG="Robotium-Test";

        static
        {
            try
            {
                launchActivityClass = Class.forName(mainActivity);

            }
            catch (ClassNotFoundException e){throw new RuntimeException(e);}
        }

       //构造函数,传入被测应用包名和launchActivityClass
        @SuppressWarnings("rawtypes")
        public Call() 
        {
            super(packageName,launchActivityClass);
        }   
        //这个必须有,在测试用例初始化时执行,在这边初始化solo
         @SuppressWarnings("unchecked")
        protected void setUp() throws Exception
            {
                super.setUp();
                this.activity = this.getActivity();
                this.solo = new Solo(getInstrumentation(),getActivity());
                solo = new Solo(getInstrumentation(), getActivity());
            }
         //测试用例执行完毕后销毁了测试中建立的所有实例
        public void  tearDown() throws Exception
        {
            solo.finishOpenedActivities();
        }
        //case
         public void test()
            {
             solo.sleep(5000);
                long startTime=SystemClock.uptimeMillis();                                  
                String  dial=solo.getCurrentActivity().getClass().getName();        /
                Log.d(TAG, "此Activity类名:"+dial);    
                solo.sleep(2000);
                //隐藏键盘
                solo.clickOnView(solo.getView("id/dialpad_keyboard_key_button"));
                //判断是否有通话记录
                if(!solo.searchText("您没"));
                {
                    solo.clickOnView(solo.getView("com.android.dialer:id/rcs_public_menu_option"));
                    solo.clickOnText("清除通话记录");
                    solo.clickOnView(solo.getView("com.android.contacts:id/check_all"));
                    solo.sleep(1000);
                    solo.clickOnView(solo.getView("com.android.contacts:id/rcs_delete"));
                    solo.clickOnText("确定");
                }
                        //solo.enterText(0,"10086");
                solo.clickOnView(solo.getView("id/dialpad_key_number",0));
                solo.enterText(0,"0086");
                //呼出电话
                solo.clickOnView(solo.getView("id/dialpad_floating_action_button"));
                solo.sleep(10000);
                String Call=solo.getCurrentActivity().getClass().getName();
                Log.d(TAG, "此Activity类名:"+Call);    
                solo.sleep(2000);
                solo.takeScreenshot("通话界面");
                        //挂断电话
                assertTrue("未拨出电话",solo.waitForText("10086"));
                }
        }

                执行  if(!solo.searchText("您没"));需要跨应用进入contacts中 程序无法执行,请帮忙进行编写跨应用操作,请帮忙直接进行在代码上进行修改,,最好能行备注,新手请谅解
                注:不需要写调用什么,然后声明什么的,新手看不懂直接改代码就好。

                可以的话加我QQ:1158996359~~~
                ~~~~~~~~~~~~~~~~~谢谢您!
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名
    • ¥65 汇编语言除法溢出问题