当前位置:  编程技术>移动开发
本页文章导读:
    ▪Robotium学习札记二        Robotium学习笔记二一、 控制测试用例的执行顺序 采用TestSuit方式来控制每条Case的运行顺序 Demo如下 public static Test suite() { TestSuite suite = new TestSuite(); //$JUnit-BEGIN$ suite.addTestSuite(CopyOfTestApk.class); .........
    ▪ 关于无法接收消息推送有关问题的修改        关于无法接收消息推送问题的修改                 今天解决了一下发布版消息推送证书无法收到消息推送的问题,经过一番折腾发现原来是服务器配置问题,不过也捋了一下消息推送的.........
    ▪ Robotium学习札记一       Robotium学习笔记一一、 重签名问题 1、从手机Pull所需的apk通过压缩工具删除META-INF目录 2、通过以下命令行进行签名 >jarsigner -keystore "C:\Documents and Settings\ey\.android\debug.keystore" -storepass android -.........

[1]Robotium学习札记二
    来源: 互联网  发布时间: 2014-02-18
Robotium学习笔记二
一、 控制测试用例的执行顺序
采用TestSuit方式来控制每条Case的运行顺序
Demo如下
public static Test suite() {
TestSuite suite = new TestSuite();
//$JUnit-BEGIN$
suite.addTestSuite(CopyOfTestApk.class);
//$JUnit-END$
return suite;
}
二、 bat批处理方式启动Robotium脚本
单个启动
am instrument -w com.testcalculator/android.test.InstrumentationTestRunner
启动Test Suit
Am instrument -e class com.testcalculator.AllTests -w com.testcalculator/android.test.InstrumentationTestRunner
Java中启动
public  void callChosenTest(){

Runtime run = Runtime.getRuntime();
try {
//Process p = run.exec("am instrument -w com.testcalculator/android.test.InstrumentationTestRunner");///执行全部的测试案例
Process p = run.exec("am instrument -e class com.testcalculator.AllTests -w com.testcalculator/android.test.InstrumentationTestRunner");
//执行一个测试案例
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}


命令行启动
1.运行所有的测试用例
举个栗子:运行测试工程下的所有用例
1 adb shell am instrument -w com.taobao.taobao.test/android.test.InstrumentationTestRunner
 
2.运行单个测试类或某个TestSuite
举个栗子:运行测试类com.taobao.taobao.test.TestRegister 


1 adb shell am instrument -e class com.taobao.taobao.test.TestRegister -w com.taobao.taobao.test/android.test.InstrumentationTestRunner
 
3.运行某个测试类里面的某个测试方法
举个栗子:运行com.taobao.taobao.test.TestRegister中的测试方法testRegister
adb shell am instrument -e class com.taobao.taobao.test.TestRegister#testRegister -w com.taobao.taobao.test/android.test.InstrumentationTestRunner 
4.运行两个不同的测试类或类中的方法
举个栗子:运行com.taobao.taobao.test.TestLogin
和com.taobao.taobao.test.TestRegister类中的方法testRegister
1 adb shell am instrument -e class com.taobao.taobao.test.TestLogin,com.taobao.taobao.test.TestRegister#testRegister  -w com.taobao.taobao.test/android.test.InstrumentationTestRunner


    
[2] 关于无法接收消息推送有关问题的修改
    来源: 互联网  发布时间: 2014-02-18
关于无法接收消息推送问题的修改



                今天解决了一下发布版消息推送证书无法收到消息推送的问题,经过一番折腾发现原来是服务器配置问题,不过也捋了一下消息推送的流程。

                之前有一次也是消息推送无法收到,用开发版证书跟踪找到原因是devicetoken的问题,只测试了开发版证书就没测试发布版证书了,后来又提出了消息推送无法接收的问题,先测试了一下开发版证书,一切正常,换到发布版证书后确实收不到消息推送,查看服务器日志error为Invalid certificate chain (Received fatal alert: certificate_unknown)!  Verify that the keystore you provided was produced according to specs...  于是在网上搜索  找到一片关于这个问题的文章,连接如下:http://blog.csdn.net/dj0708/article/details/8721336  内容如下:

Invalid certificate chain (Received fatal alert: certificate_unknown)!  Verify that the keystore you provided was produced according to specs...是由于导证书的时候 导的是产品推送的钥匙串.p12而不是 Apple Production IOS Push Services:XXX 的.p12 ,切记选择导出证书的时候保证推送证书的p12而不是钥匙串的


正常的导出p12


错误的导出p12


  文中说是导出p12的问题,由于无法在最初的电脑上重新导出p12 所以我准备重新create一个证书,这里先推荐两篇不错的文章:

   实现ios应用push功能的文章:

    http://tanqisen.github.io/blog/2013/02/27/ios-push-apns/

  push证书的步骤

   http://saeapns.sinaapp.com/doc.html

  新改版的苹果网站和教程上有一些不同但都大同小异  基本都可以搞清楚的,重新create的过程我就不在多说了,看上面的文章就可以解决

  用新的证书测试之后还是无法收到推送的消息,后来又仔细看服务器端的问题才发现是配置问题,修改配置之后又用原来的证书测试 也能收到推送的消息了。按道理重新create证书之后之前的证书应该就不能用了 可能是苹果服务器还没有更新吧

   



    

             


    
[3] Robotium学习札记一
    来源: 互联网  发布时间: 2014-02-18
Robotium学习笔记一
一、 重签名问题
1、从手机Pull所需的apk通过压缩工具删除META-INF目录
2、通过以下命令行进行签名
>jarsigner -keystore "C:\Documents and Settings\ey\.android\debug.keystore" -storepass android -keypass android D:\Mms.apk androiddebugkey
>zipalign 4 D:\Mms.apk D:\debug\Mms.apk
 
3、Push签名后的文件到手机上
二、只有APK程序的测试
Demo如下
package com.phone.test;


import com.jayway.android.robotium.solo.Solo;


import android.annotation.SuppressLint;
import android.test.ActivityInstrumentationTestCase2;


public class CallTest extends ActivityInstrumentationTestCase2 {


private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "com.android.mms.ui.ConversationList";
private static String PACKAGENAME = "com.android.mms";





private static Class<?> launcherActivityClass;
static {
try {
launcherActivityClass = Class
.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}


@SuppressWarnings("unchecked")
public CallTest() throws ClassNotFoundException {
super(PACKAGENAME,launcherActivityClass);
}


private Solo solo;


@Override
protected void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}


public void testSms() {
solo.clickOnText("新信息");
solo.typeText(0, "10086");
solo.sleep(2000);
solo.clickOnEditText(1);
solo.sleep(500);
solo.goBack();
solo.typeText(1, "test");
solo.sleep(2000);
solo.typeText(1, "test");
solo.sleep(1000);
solo.clickOnButton("发送");
solo.sleep(2000);
}


@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();


}


}
存在以下问题
 TypeText无法输入内容,正在查找解决办法。

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3