Mac 微信公众号等H5应用 UITest

微信UITest

需求:

微信端公众号测试

要求:

覆盖微信公众号用户操作所有流程,模拟用户使用方式

解决方案:

1.使用已有框架Appium模拟用户操作,检测UI展示正确性!

设计思路:

微信公众号基本均为H5页面设计。我们选择selenium来进行web页面的自动化测试,appium已集成selenium众多页面操作查找方式。基本能完全覆盖web的所有测试需求。

环境搭建 Mac版:
# SetUP 1

开启微信内核调试。
微信内核开启方式: 微信会话模式中任意好友或者自己发送 debugX5.qq.com
点击发送的链接,进入到内核配置界面,打开TBS内核调试功能
配置截图

# SetUP 2

Chrome 安装(建议采用最新版本的Chrome)
浏览器URL中输入: Chrome://inspect 可以看到手机
这里写图片描述
点击inspect 就可以查看手机当前页面的所有元素来。同时也可以抓取手机的接口等请求数据。

# 注意事项:

android因手机不同,每个厂商的手机应用中内置的 Android System WebView
版本不同。导致对应的ChromeDriver 版本不同。安装Chrome前请选择对应版本!

chromedriver版本支持的Chrome版本
v2.31v58-60
v2.30v58-60
v2.29v56-58
v2.28v55-57
v2.27v54-56
v2.26v53-55
v2.25v53-55
v2.24v52-54
v2.23v51-53
v2.22v49-52
v2.21v46-50
v2.20v43-48
v2.19v43-47
v2.18v43-46
v2.17v42-43
v2.13v42-45
v2.15v40-43
v2.14v39-42
v2.13v38-41
v2.12v36-40
v2.11v36-40
v2.10v33-36
v2.9v31-34
v2.8v30-33
v2.7v30-33
v2.6v29-32
v2.5v29-32
v2.4v29-32

chromedriver驱动下载地址

要求掌握技能:

1.熟悉selenium 定位查找元素方式
2.熟悉android Uiautormator 元素操作方式。
3.熟悉分辨应用是H5还是Native。

H5/native切换方式
def SetWEBVIEW(self):
    '''
    :param self: 设置为 WEBVIEW模式
    :return:
    '''
    time.sleep(5)
    self.driver.switch_to.context('WEBVIEW_com.tencent.mm:tools')
    time.sleep(5)
def SetNATIVEAPP(self):
    '''
    :param self: 设置为 NATIVE_APP模式
    :return:
    '''
    time.sleep(5)
    self.driver.switch_to.context('NATIVE_APP')
    time.sleep(5)
Demo 代码片段
def startApp(self):
    desired_caps = {}
    desired_caps['unicodeKeyboard'] = True
    desired_caps['resetKeyboard'] = True
    desired_caps['newCommandTimeout'] = '180'
    desired_caps['devices'] = 'android'
    desired_caps['platformVersion'] = '6.0'
    desired_caps['platformName'] = 'android'  # 测试平台
    desired_caps['deviceName'] = 'XIAOMI'
    desired_caps['appPackage'] = 'com.tencent.mm'
    desired_caps['appActivity'] = '.ui.LauncherUI'
    desired_caps['chromeOptions'] = {'androidProcess': 'com.tencent.mm:tools'}
    desired_caps['recreateChromeDriverSessions'] = True
    self.driver = webdriver.Remote('http://127.0.0.1:' + deviceItems["port"] + '/wd/hub',desired_caps)
SetWEBVIEW(self)
if getelement(self, 90, "我的"):
     pass
else:
    time.sleep(20)
self.driver.find_element_by_id("jk_acb_101_05").click()
SetNATIVEAPP(self)
self.driver.get_screenshot_as_file(pic_path)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值