目前app中存在越来越多的H5页面了,对于一些做app自动化的测试来说,要求也越来越高,自动化不仅仅要支持原生页面,也要可以H5中进行操作自动化,这一篇介绍如何查看页面上是否存在H5页面,这里首先要了解一个知识点webview是什么
webview是什么
webview是属于android中的一个控件,也相当于一个容器,需要把H5的一些前端内容,通过这个容器去调用,显示和渲染网页
目前很多app中都实现app原生页面(native)和webview页面(H5),我们如何查看页面上哪些存在webview和native呢?
查看webview和native
1、打开uiautomatorviewer定位工具,进行查看页面上是否存在webview。下图可以看到android.webkit.webview。

2、断网情况下,进行访问app,如果可以正常显示页面,说明为原生页面,如果不能访问,则为webview(H5)页面
3、通过fiddler进行抓包查看,内容存在html则为webview(H5)页面
那么我们在appium中如何查看呢?
4、通过contexts方法
def contexts(self):
"""
返回当前会话中的上下文。
"""
return self.execute(Command.CONTEXTS)['value']
执行脚本:
# coding:utf-8
from appium import webdriver
import time
desired_caps = {
'platformName': 'Android', # 测试版本
'deviceName': 'emulator-5554',

本文详细介绍在App自动化测试中如何识别和操作H5页面,包括使用uiautomatorviewer定位webview,通过断网测试区分原生与H5页面,利用fiddler抓包检查html内容,以及在appium中使用contexts方法和_switch_to.context()方法进行页面上下文切换。

579

被折叠的 条评论
为什么被折叠?



