各位小伙伴,大家好,今天给大家带来的是-带你轻松实现小程序的自动化测试。小程序作为变种的移动端程序,拥有节省用户手机空间,便捷,易推广的特性,越来越多的企业研发出品小程序,用户也越来越青睐小程序。

对于我们测试人员来说,也要紧跟时代的脚步,进行小程序的测试,自动化测试小程序无疑是最省人力财力的方式,接下来我们就使用java+appium+selenium来轻松的实现自动化测试小程序

简单介绍java,appium,selenium

1.java是面向对象的编程大语言,可以使用java语言来编写自动化测试小程序的代码。

2.Appium是一种工具,我们可以在代码中调用appium的api进而控制我们手机上的微信小程序

3.Selenium是可以用来定位和操作小程序中的元素的,也是一种市场上使用率比较高的自动化测试工具

接下来我们搭建自动化测试环境,需要的软件是eclips,我们用来写代码和运行代码的IDE,还需要模拟器,用来模拟我们的手机,手机上装上微信。Jdk和环境变量也要配置好,安装上appium,在eclips中创建工程,导入java版的appium包和selenium包,准备好adb等。需要的软件和工具如下:

1. eclips

2. 模拟器,并安装好微信

3. appium软件安装好

4. java版的appium包

5. java版的selenium包

6. jdk安装好,并配置好环境变量

7. adb用来验证和操作模拟器

详细配置请看软件测试藏经阁的其他文章,配置安装好后如下图:

接下来编写代码,我们进行一个简单的操作,进入到微信,点击发现,点击小程序,点击千锋学习站(前提是你使用过千锋学习站),点击软件测试

代码中首先要获取模拟器和微信的一些信息,然后进行操作微信,如下:

package maker;
import io.appium.java_client.AppiumDriver;import java.net.MalformedURLException;import java.net.URL;import org.openqa.selenium.remote.DesiredCapabilities;public class WXmin {public static void main(String[] args)throws MalformedURLException,InterruptedException {// TODO 自动生成的方法存根// 配置设备信息DesiredCapabilities des = new DesiredCapabilities();// 1.手机的操作系统des.setCapability("platformName", "Android");// 2.平台名称,如果是真机,那么名字是:adb devices查询出来的名字des.setCapability("deviceName", "Android Emulator");// 3.版本号des.setCapability("platformVersion", "7.1.2");// 4.是否保留上一次状态des.setCapability("noReset", "true");// 5.包名des.setCapability("appPackage", "com.tencent.mm");// 6.活动页des.setCapability("appActivity","com.tencent.mm.ui.LauncherUI");// 创建appium对象AppiumDriver dr = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), des);Thread.sleep(3000);//点击发现dr.findElementById("com.tencent.mm:id/dtx").click();Thread.sleep(3000);//点击小程序dr.findElementByAndroidUIAutomator("text(\"小程序\")").click();Thread.sleep(3000);//点击千锋学习站dr.findElementById("com.tencent.mm:id/gh0").click();Thread.sleep(10000);//点击软件测试dr.findElementByAndroidUIAutomator("text(\"软件测试\")").click();Thread.sleep(10000);//关闭浏览器dr.quit();}
}

上面的元素信息需要使用appium或uiautomatorviewer.bat截图来进行获取,然后运行,不要忘了开启appium。

总结一下,移动端自动化测试相对于web自动化测试来说增加了模拟器和定位工具,代码都差不多,增加了模拟器和app的一些信息。需要注意是从微信开始操作,从微信打开小程序然后在进行自动化测试。

注意点是:

1.截图定位要准确。

2.代码休眠时间要控制好。

3.注意第二次的自动化测试,小程序操作后会增加一些流程或减少一些流程。

好了,今天的分享就到这啦,小程序的自动化测试东西,其实也是比较简单的,就是流程上多了一层主程序,还有测试点多了一些和主程序的接口方面的。

带你轻松实现小程序自动化测试相关推荐

  1. 小程序 input自动换行_直播 | 最实用的微信小程序自动化测试技术独家揭秘

    随着微信小程序的功能和生态日益完善,很多企业级小程序项目的页面越来越多,业务逻辑也越来越复杂.如何做好微信小程序的自动化测试成为测试同学面临的一大难题. 如何合理构建多端架构和自动化测试体系? 如何深 ...

  2. 小程序自动化测试--测试3

    使用 Appium 进行微信小程序自动化测试 使用 node(wd)编写 Appium 测试用例 介绍了使用 wd 编写简单的 Appium 测试用例 本文主要介绍使用 Appium 进行微信小程序自 ...

  3. 小程序 text decode 真机无效_【移动端测试】APP自动化测试案例2:微信小程序自动化测试...

    APP自动化测试之案例:微信小程序自动化测试 1.前提 基于win10专业版64位系统+jdk1.8+python3+pycharm+android SDK+appium+unittest. 2.痛点 ...

  4. appium+java(五)微信小程序自动化测试实践

    前言: 上一篇<appium+java(四)微信公众号自动化测试实践>中,尝试使用appium实现微信公众号自动化测试,接着尝试小程序自动化,以学院小程序为例 准备工作 1.java-cl ...

  5. 10分钟带你学会微信小程序的反编译

    以xxxxx小程序为例10分钟带你学会微信小程序的反编译 2019-11-28 12:59:26 以一个简单的例子介绍下小程序反编译操作流程 实验环境 前置准备 模拟器内软件安装 获取小程序包 开始解 ...

  6. 03-13 微信小程序自动化测试

    小程序的运行环境 准备工作 设置 chromedriver 正确版本 设置 chrome option 传递给 chromedriver 使用 adb proxy 解决 fix chromedrive ...

  7. Python实现输入电影名字自动生成豆瓣评论词云图(带GUI界面)小程序

    Python实现输入电影名字自动生成豆瓣评论词云图(带GUI界面)小程序 一.项目背景 电影逐渐成为人们生活的不可或缺的一部分,而了解一部电影的可以通过电影评分与大众推荐度,但以上的方式都太过于片面, ...

  8. 微信 小程序 python 渲染_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版,进阶学习文末加群! 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序. ...

  9. 点微同城系统整站源码 带pc端与小程序端+49款插件

    介绍: 点微同城系统整站源码 带pc端与小程序端+49款插件 下载 百度网盘 请输入提取码百度网盘为您提供文件的网络备份.同步和分享服务.空间大.速度快.安全稳固,支持教育网加速,支持手机端.注册使用 ...

最新文章

  1. js把html转换成图片格式,纯JS实现将DIV中的内容转化为PNG图片
  2. mysql分库主键_分库主键设计-Mysql
  3. 一种Android闪屏页实现方法(偏门别类)
  4. 国服服务器_《Minecraft我的世界》第三方服务器的基本储备
  5. 清华博士直播 | 如何让AI模型更皮实、更稳定?
  6. 转行进入互联网的一条可行路径
  7. linux虚拟网卡上网,Linux添加虚拟网卡的多种方法
  8. 制药企业常用质量管理软件TrackWise概述
  9. 贴上AI标签的综艺,未来的模样你敢想象吗?
  10. MALLOC_PERTURB_ 环境变量
  11. 64位Win10 2004正式版_MSDN我告诉你win10 2004镜像下载
  12. 体悟朝闻道,夕死可以
  13. 有关计算机知识竞赛的新闻稿,知识竞赛通讯稿5篇
  14. 初中三年级计算机表格考试模拟,初中三年要做这些事情,三张表格说透初中三年,收藏必看...
  15. Codeforces Round #670 (Div. 2) D. Three Sequences(差分序列、数学思维分析)
  16. http网页返回状态码含义
  17. 浅谈Involution与Volo
  18. 英语语法笔记——冠词
  19. Java实验6 接口、异常处理、注解与反射答案
  20. 稠密集和疏朗集_稠密集与疏朗集

热门文章

  1. 论HAL层、FDL层、FTL层的参数传递
  2. zabbix snmp监控ensp路由器
  3. Linux 内核 C 语言深度解析
  4. 浏览器无法写入cookie值
  5. 【数据挖掘与商务智能决策】第一、二章 数据分析与三重工具
  6. 用xnview批处理图片
  7. 中国安全防范行业协会:地震频发,安防可以为我们做些什么?
  8. ubuntu 更换pip源
  9. 那些你不知道的MapStruct用法——Mapstruct自定义映射
  10. 恺撒Caesar密码