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

简介:

现在正是进入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.     });  

图①:

图②:

图③:

图④:

图⑤:

图⑥:

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

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

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


  
  
  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上传文件的组件,再比如有些滑动等操作测试比较困难等等。慢慢来吧。




作者:苹果小萝卜
来源:51CTO
目录
相关文章
|
6月前
|
Web App开发 测试技术 定位技术
移动端测试金字塔
移动端测试金字塔
|
6月前
|
域名解析 JSON 测试技术
常见移动端APP测试场景
常见移动端APP测试场景
106 0
|
11月前
|
编解码 Shell Android开发
『移动端测试必备』ADB常用命令和使用
『移动端测试必备』ADB常用命令和使用
315 2
|
6月前
|
JavaScript 前端开发 测试技术
移动端(APP)自动化脚本工具详细列举(autojs、easyclick、hamibot、ctrljs ...)
移动端(APP)自动化脚本工具详细列举(autojs、easyclick、hamibot、ctrljs ...)
1942 0
|
14天前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
|
4月前
|
前端开发 开发者
移动端-------app开发02,了解apicloud功能和使用,真机测试
移动端-------app开发02,了解apicloud功能和使用,真机测试
|
6月前
|
编解码 测试技术 Android开发
Appium Inspector与Weditor:移动端测试的利器
本文介绍了两款移动端自动化测试的元素定位工具:Appium Inspector和weditor。Appium Inspector是官方推荐的辅助工具,而weditor是基于Python的ATX生态工具,支持Android和iOS界面分析。weditor安装需Python 3.6以上版本,可能遇到的GBK编码问题可通过更改系统区域设置解决。它提供设备界面、元素详情和代码运行三个主要部分,便于元素定位、属性查看及交互代码执行。这两款工具对于提升开发和测试效率具有积极作用。
165 8
|
6月前
|
编解码 测试技术 API
模拟手机设备:使用 Playwright 实现移动端自动化测试
本文介绍了使用Python的Playwright库进行移动设备模拟和自动化测试的方法。通过Playwright,开发者能模拟不同设备的硬件和软件特性,如屏幕尺寸、用户代理,以确保网站在移动设备上的表现。示例代码展示了如何模拟iPhone X并访问网站,之后可在此基础上编写测试代码以检验响应式布局和交互功能。Playwright的设备参数注册表支持多种设备,简化了移动端自动化测试的流程。
286 1
|
6月前
|
测试技术 持续交付 Android开发
如何实践移动端自动化
如何实践移动端自动化
|
11月前
|
设计模式 监控 Java
『APP稳定性测试干货』| 基于Monkey的移动端/APP稳定性测试过程和方法
『APP稳定性测试干货』| 基于Monkey的移动端/APP稳定性测试过程和方法
309 1