开发者社区 问答 正文

脚本编写该如何进行?(3)


“login”是一个密码框的resource-id, 我们通过上面这种方式就能获取到这个控件对象。
然后,可以用solo.enterText(loginView, “密码xxx”); 进行密码输入。
注:其他更多的Robotium API,请参见 Robotium官方文档
项目编译完之后是一个APK包。
图3.3.1 点击“Tab 4”:

然后,选择自己的签名文件地址,并输入签名的密码进行导出即可。


  • 我不知道被测APP的签名信息
    如果没有被测APP的签名文件信息,我们需要对被测APP进行重签名操作。具体步骤:

    1. 找到被测APP,修改文件后缀,“apk” => “zip”

    2. 打开zip文件,不需要解压,直接删除“META-INF”目录,并恢复文件后缀为”apk”

    3. 执行重签命令:
      Jarsigner -verbose -digestalg SHA1 –sigalg MD5withRSA -keystore 用户目录/.android/debug.keystore 被测APP.apk androiddebugkey
      在弹出框内输入密码:android,然后回车。
      注意:“用户目录”指的是:win下,C:\Users\xxxx\, 类unix下:/home/xxx/。
      上面我们用的是Eclipse默认的debug签名文件进行的签名,它的aliasName是androiddebugkey,密码是:android。

    4. 执行命令:jarsigner -verify 被测APP.apk

    5. 执行命令:zipalign -v 4 被测APP.apk 重签好的APP.apk。如果找不到zipalign, 可以把“adt目录/build-tools/android-xxxx”加入到环境变量中。


    5. 在Android设备上启动测试


    在重签名之后,我们把重签后的被测APP和脚本APP分别安装到手机或者模拟器上(可以使用adb install xxx.apk)。然后再命令行中执行命令:
    adb shell am instrument -w com.jayway.test.test/android.test.InstrumentationTestRunner
    测试完成后,可以看到有相应的测试结果生成。如果有错误,可以根据error trace进行测试代码修改。这里的com.jayway.test.test是测试APP的包名;android.test.InstrumentationTestRunner 是TestRunner的名字,用来启动测试。

    6. 上传到MQC云端进行测试,并查看测试结果


    确认在本地测试通过后,打开功能测试,先上传被测APP,然后在高级设置里上传登录脚本。并填写通知的旺旺和邮箱。
    完毕后,下一步选择想要进行测试的机型,之后提交测试就可以了。
    测试完成后,会用旺旺和邮箱通知您。
  • 展开
    收起
    猫饭先生 2017-10-25 10:18:38 1236 分享 版权
    阿里云 AI 助理回答

    从您的描述中,您正在使用Robotium进行Android应用的自动化测试,并且涉及到APP重签名、测试执行以及利用阿里云MQC(Mobile Quality Center)进行云端测试的过程。下面我将根据您的操作流程,提供一些基于阿里云产品的补充信息和建议:

    1. 关于Robotium自动化测试

      • Robotium是一个强大的用于UI测试的Android测试框架,它允许开发者编写功能性的UI测试脚本。您已经展示了如何通过资源ID定位元素并输入文本等基本操作。确保在编写测试脚本时遵循最佳实践,比如使用清晰的命名约定、合理的测试用例分割以及适当的异常处理。
    2. APP重签名: 您详细介绍了如何对被测APP进行重签名以适应自动化测试环境。使用默认的debug密钥是一种快速的方法,但请注意,对于生产环境或需要发布到应用市场的APP,应使用正式的签名文件。阿里云上没有直接涉及APP重签名的服务,这一过程需在本地完成。

    3. 使用ADB命令安装与测试: 通过adb install命令安装APK,以及使用adb shell am instrument来启动测试是基础的命令行操作。这些步骤确认了在设备或模拟器上部署和执行测试的能力。

    4. 阿里云MQC(Mobile Quality Center)

      • 上传被测APP与脚本:MQC是阿里云提供的移动应用质量保障平台,支持多种测试类型,包括功能测试、性能测试、兼容性测试等。您提到的上传被测APP及登录脚本至MQC,这一步骤能够让您利用MQC的分布式测试资源,覆盖更多机型和操作系统版本。
      • 高级设置与通知配置:填写旺旺和邮箱作为通知方式,可以确保测试结果及时反馈给您,便于快速响应和迭代优化。
      • 选择测试机型:MQC提供了丰富的真机测试资源库,涵盖各种品牌和型号的设备,可以根据目标用户群体选择合适的测试机型组合,提高测试覆盖率。
      • 提交测试与查看结果:提交测试后,MQC会自动执行测试计划,并在测试完成后通过设定的通知渠道发送报告。报告通常包含详细的测试日志、截图、视频记录以及可能的错误分析,帮助您高效定位问题。
    5. 后续操作建议

      • 在MQC上,除了查看测试结果外,还可以深入分析失败原因,利用其提供的测试报告优化您的应用。
      • 考虑集成持续集成/持续部署(CI/CD)工具,如Jenkins或GitLab CI,与MQC联动,实现测试自动化流程,进一步提升开发效率。
      • 利用阿里云的日志服务(Log Service)或监控服务,收集应用运行时日志,辅助故障排查。

    综上所述,结合阿里云MQC和其他相关服务,您可以构建一套完整的移动应用测试解决方案,从本地自动化测试到云端大规模兼容性测试,全方位保障应用质量。

    有帮助
    无帮助
    AI 助理回答生成答案可能存在不准确,仅供参考
    0 条回答
    写回答
    取消 提交回答