Cordova:插件测试小结-cordova-plugin-test-framework

最近研究cordova插件测试,官网公布的测试框架只有cordova-plugin-test-framework是比较完善的,不过官方文档有点坑(比如plugin.xml的设置,根本不需要),而且网上也搜不到资料(stack overflow上面也只有一些提问的,难道是太少人用?。。)以至于调试好久才通,分享下心得哈:

项目github地址:https://github.com/QiuZidane/hello2.git

以android为例(ios也是支持的):
测试脚本id:device-testdemo.tests
脚本文件:testsa.js  ———> 通常是tests.js,在cordova_plugins.js内定义路径

1、编写测试脚本:
  • 脚本文件testsa.js
  • 格式:define(“脚本id",function(){})
  • 脚本类型分为自动测试脚本- defineAutoTests和手工脚本-defineManualTests
  • 自动测试脚本采用jasmine测试框架编写,语法大概介绍:
  • Jasmine单元测试有二个核心的部分:describe 函数块和it函数块:
        1.    //建立个describe块
        2.    describe('JavaScript addition operator',function(){
        3.        //建立it块
        4.       it('adds two numbers together',function(){
        5.            //测试1+2是否等于3
        6.           expect(1+2).toEqual(3);
        7.       });
        8.    });
        9.    //完了……


  • describe可以嵌套describe(通常不会嵌套很多)
  • 每个describe里面可以定义多个it
  • 每个it相当于一个测试案例
  • 具体语法可参考:Jasmine - 入门教程Jasmine - JavaScript 单元测试框架Jasmine - 官方文档--->这3个网上搜吧,很多。
  • 栗子如下:


  • 手工脚本:使用createActionButton()方法新建按钮,往里面加入需要测试的功能:

     
     效果图:
    

2、注册测试插件:
  • 同样是通过cordova_plugins.js配置测试脚本文件的id、文件路径
  • /<cordova project>/platforms/android/platform_www/cordova_plugins.js


3、完成后执行$ cordova prepare命令分发到platform下面具体的路径。或者直接修改../assets/www/下的文件

4、将启动页面指向cdvtests/index.html

5、运行
自动脚本:有多少个案例就有多少个点,其中绿点表示执行通过,红x表示失败

点Failures可以查看具体错误信息:

testa.js第30行有问题,错误原因:xx.platform返回成功,但.length=0,导致返回和预期结果不一致



6、补充说明:
  • 测试插件的id命名方式通常是<插件名-test.test>,比如cordova-plugin-device-tests.tests
  • 该命名格式在../cordova-plugin-test-framework/www/tests.js内定义:
  • 如上述定义则必须以.tests结尾,如果不按格式定义将找不到插件。
  • 本例中为了区分,将插件id命名为device-tests.tests
  • 启动过程中会报错缺少文件也没问题:csp-incl.js和medic.json,不影响后续使用
  • 目前测试了苹果和安卓都支持
  • 比较坑人的是:完全不需要像官方写的那样配置plugin.xml和新建test文件夹,只要配置cordova_plugin.js和tests.js匹配即可…………#@¥##



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cordova-hot-code-push-pluginCordova 平台下的一个插件,可以帮助开发者实现 APK 包热更新。下面是详细的使用教程: 1. 安装插件Cordova 项目中执行以下命令安装插件: ```bash cordova plugin add cordova-hot-code-push-plugin ``` 2. 配置插件Cordova 项目的 `config.xml` 文件中添加以下配置: ```xml <hcp> <auto-download enabled="true" /> <auto-install enabled="true" /> <widget id="com.example.app" version="0.0.1"> <content src="index.html" /> <platform name="android"> <preference name="android-minSdkVersion" value="16" /> <preference name="android-targetSdkVersion" value="30" /> <icon src="res/android/ldpi.png" density="ldpi" /> <icon src="res/android/mdpi.png" density="mdpi" /> <icon src="res/android/hdpi.png" density="hdpi" /> <icon src="res/android/xhdpi.png" density="xhdpi" /> <icon src="res/android/xxhdpi.png" density="xxhdpi" /> <icon src="res/android/xxxhdpi.png" density="xxxhdpi" /> <allow-navigation href="*" /> <allow-intent href="*" /> <access origin="*" /> </platform> </widget> </hcp> ``` 其中,`auto-download` 和 `auto-install` 分别表示是否开启自动下载和自动安装更新。`widget` 标签下的其他配置项与 Cordova 项目一致。 3. 打包 APK 在 Cordova 项目中执行以下命令打包 APK: ```bash cordova build android --release ``` 4. 生成更新包 在 Cordova 项目中执行以下命令生成更新包: ```bash cordova-hcp build ``` 该命令会在项目根目录下生成一个 `www.zip` 文件,该文件包含了需要更新的代码和资源。 5. 上传更新包 将 `www.zip` 文件上传到服务器上。可以使用任何支持 HTTP 文件下载的服务器,例如 Apache、Nginx 等。 6. 应用更新 在 Cordova 项目中引入 `chcp.js` 文件,并在应用程序启动时执行以下代码: ```javascript chcp.fetchUpdate(function(error, data) { if (error) { console.error('Failed to fetch update:', error); } else if (data) { console.log('Update is available:', data); chcp.installUpdate(function(error) { if (error) { console.error('Failed to install update:', error); } else { console.log('Update installed successfully'); } }); } else { console.log('No update available'); } }); ``` 该代码会检查是否有更新可用,并在有更新时下载并安装更新。 以上就是使用 cordova-hot-code-push-plugin 实现 APK 包热更新的详细教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值