html5 手机自动化,基于Appium的手机H5应用UI自动化实践

本文介绍了如何使用Appium进行手机H5应用UI自动化测试,区别于APP内嵌H5,重点在于测试手机浏览器打开的H5页面。首先,文章明确了测试目标,接着详细讲解了测试环境的准备,包括安装Appium、JDK、Maven等。然后,搭建了一个测试框架,包括BaseDriver、PageObjects、PageNavigator、TestCases等模块,其中PageObjects采用了PageFactory模式提高维护性。最后,通过具体的代码示例展示了如何实现Android设备上Chrome浏览器的H5页面自动化测试,涉及元素定位、操作和页面切换。文章强调了配置参数的重要性,并指出此框架适用于jenkins自动化部署。
摘要由CSDN通过智能技术生成

原标题:基于Appium的手机H5应用UI自动化实践

e92d2d284bb6b7b7c6ed81442192002a.png

简单说明

首先介绍一下我这里提到的手机H5页面是什么东西,做APP测试的同学应该都知道手机APP里面也嵌入了一些H5页面,就是通过APP内嵌的webview组件去承载的页面。但是我这里做的手机H5的测试不是APP内嵌的H5,而是通过手机浏览器打开的页面,也就是普通的网页。比如我们下面的实例中用到百度的手机网页版 http://m.baidu.com

之所以这么啰嗦的区分这两种H5是因为用appium做UI自动化,测试APP里面的H5和测试手机浏览器打开的H5的操作流程上是有所区别的。比如要测试APP内嵌的H5需要先操作appium启动APP,然后通过context切到webview模式,才能操作H5页面,但是如果测试手机网页的话就比较简单了,设置好浏览器比如选择Chrome,直接访问网址就好了。如果抛开外面的框架不说,单纯两种H5页面的测试上是没有太大区别的。

54c6694eb13e149ee2bf2995d3c21732.png

准备测试环境

最重要也是最基本的安装appium,appium的安装这里就不过过多的介绍了。

安装JDK,Maven ,开发语言我选择的是Java,因为比较熟。也可以选择Python等,因为appium支持多语言

安装adb,需要使用它去连接测试机或者模拟器,如果使用iPhone的话还需要安装Xcode。

搭建测试框架

c87fe5487afcf7b59c7b481b0c20b9d1.png

测试库的构建就是按照上图的框架来操作的,为了简单起见,没有引入过多的复杂功能,比如测试用例的管理,测试日志的管理等,只有简单的测试用例。我们先按照上图简单介绍一下各个模块。

BaseDriver主要作用就是负责与测试机或者模拟器之间建立连接

PageObjects这个模块其实是一种成熟的UI页面测试模式,就是把每个单一的页面写到一个类里面,包括页面的元素,页面的操作等等,这样便于维护。我这里把这个模块又细分成了两个模块,一个是页面模块另一个是页面元素模块,考虑到页面元素太多为了便于管理和升级改动我单独把元素从页面里面拉出来,这个后面会详细介绍

PageNavigator这个模块功能很简单,其实就是个页面池子,测试中用到的页面对象会写入池子,用的时候再取出来,这个模块其实是为了方便测试用例级别操作页面更简洁一些,

TestCases这个模块就不用过多的介绍了,就是测试用例

GlobalVars & TestData这模块用户存放测试中用到的变量和测试数据

对应代码层面是这个样子的。

bf59699e8bbab8d6d0dac4b1de543f86.png

各模块详细介绍绍

BaseDriver

废话不多说了先上代码,通过代码做展开说明

package testdriver;import io.appium.java_client.android.AndroidDriver;import io.appium.java_client.ios.IOSDriver;import org.openqa.selenium.WebDriver;import org.openqa.selenium.remote.DesiredCapabilities;import testdata.GlobalVars;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.InputStream;import java.net.MalformedURLException;import java.net.URL;import java.util.Properties;public class BaseDriver {public static WebDriver driver;/*** 启动driver* @return*/public void startDriver throws MalformedURLException {/*** 初始化appium webdriver*/initializeTestData;DesiredCap

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值