使用macaca进行移动端hybird自动化测试(四)

移动开发 自动化
现在正是进入native里面的webview的测试。比如我要测试一个选择城市的组件:主要的思路就是模拟用户的一系列操作,然后看测试的结果和预期是否符号。首先还是通过控制台查看相应的DOM节点,通过macaca提供的API去获取相应的DOM元素然后触发用户操作。

现在正是进入native里面的webview的测试。比如我要测试一个选择城市的组件:

主要的思路就是模拟用户的一系列操作,然后看测试的结果和预期是否符号。

首先还是通过控制台查看相应的DOM节点,通过macaca提供的API去获取相应的DOM元素然后触发用户操作。

以下还是在REPL环境下进行操作:

  1. driver 
  2.     .webview() 
  3.     .elementByCssSelector('.location-city .input-tips'
  4.     .tap()  //首先唤起城市选择组件,见下图① 
  5.     .sleep(500) 
  6.     .elementByCssSelector('.province-list .list-item:nth-child(3)'
  7.     .tap()  //点击省份的第三个元素,见下图② 
  8.     .sleep(500) 
  9.     .elementByCssSelector('.city-list .list-item:nth-child(4)'
  10.     .tap()  //点击市的第四个元素,见下图③ 
  11.     .sleep(500) 
  12.     .elementByCssSelector('.area-list .list-item:nth-child(6)'
  13.     .tap()  //点击区域的第6个元素,见下图④ 
  14.     .sleep(500) 
  15.     .elementByCssSelector('.location-city .input-tips'
  16.     .text()  
  17.     .then(function(value) { //可以在控制台中看到输出的选中的城市内容,见下图⑤ 
  18.         console.log(value); 
  19.     });  

图①:

图②:

[[174582]]

图③:

图④:

图⑤:

图⑥:

[[174583]]

可以看到当前的功能是按我们的预期去执行的。

现在我再测试下另外一种情况:

选择了省份和区域,没有选择市的话,会出现一个弹窗。

  1. driver 
  2.     .webview() 
  3.     .elementByCssSelector('.location-city .input-tips'
  4.     .tap()  //重新唤起城市选择组件,见下图 
  5.     .sleep(500) 
  6.     .elementByCssSelector('.province-list .list-item:nth-child(2)'
  7.     .tap()  //重新选择省份 
  8.     .sleep(500) 
  9.     .elementByCssSelector('.area-list .list-item:nth-child(3)'
  10.     .tap()  //重新选择区域 
  11.     //这时就会出现一个弹窗,见下图  

图⑦:

图⑧:

 

这时功能也是按预期走的。

当然***写到测试脚本里面还需要添加断言相关的内容,这个也比较容易。

在编写webview测试脚本的时候也遇到了很多问题,比如说native出于安全方面的考虑,限制了input[type="file"]唤起native上传文件的组件,再比如有些滑动等操作测试比较困难等等。慢慢来吧。

责任编辑:庞桂玉 来源: segmentfault
相关推荐

2016-10-26 22:16:48

macaca自动化测试javascript

2016-10-26 22:07:06

macaca自动化测试javascript

2016-10-26 22:24:00

macaca自动化测试javascript

2009-08-19 09:00:48

单元测试框架自动化测试

2020-08-03 15:40:57

Web自动化工具测试

2017-04-21 07:41:37

iOS自动化测试容器

2022-01-14 11:51:00

测试工具自动化

2011-05-16 15:36:00

软件测试

2020-10-10 06:30:07

PythonSEO自动化测试

2023-01-09 15:20:16

2022-02-17 10:37:16

自动化开发团队预测

2023-11-21 22:48:50

2014-04-16 14:15:01

QCon2014

2012-02-27 17:34:12

Facebook自动化

2021-09-03 09:56:18

鸿蒙HarmonyOS应用

2013-05-16 10:58:44

Android开发自动化测试

2011-12-23 17:09:57

自动化测试

2012-12-24 22:54:31

2021-06-30 19:48:21

前端自动化测试Vue 应用

2020-07-28 08:41:21

Kubernetes自动化测试软件开发
点赞
收藏

51CTO技术栈公众号