App自动化测试appium之微信小程序

关于定位工具,Appium Inspector,uiautomatorviewer,weditor  都定位不到X5内核的程序。

X5内核调试工具腾讯也不支持了。使用Chrome://inspect需要翻墙,UC的工具我下载发现也是404。

后来我想既然我appium可以操作控制 小程序,那就把源码直接打印出来。

先通过webdriver.contexts找到小程序context,再切换到用switch_to.context切换到小程序里面。
from time import sleep
from appium import webdriver
import pytest
class Test_xingtu():

    def test_xingtu_charge_ElectricBicycle(self):

        desired_caps = {
            "platformName": "Android",  # 手机系统
            "platformVersion": "9",  # 手机系统版本
            "deviceName": 'HUAWEI',  # 手机的名字,不会进行校验,但是没有会报错
            "appPackage": "com.tencent.mm", # app包名
            # "appActivity": "com.tencent.mm.app.WeChatSplashActivity",  # app的启动页面
            "appActivity": ".ui.LauncherUI",  # 微信首页
            "noReset": True,
            'automationName': 'Uiautomator2',
            'chromeOptions': {'androidProcess': 'WEBVIEW_com.tencent.mm:appbrand0'}
        }
        wd = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
        # 元素定位
        wd.implicitly_wait(5)
        sleep(1)
        wd.find_element(by='xpath',value="//*[@text='发现']").click()
        wd.find_element(by='xpath',value="//*[@text='小程序']").click()
        wd.find_element(by='xpath',value="//*[@text='星途']").click()#小程序名称
        print(wd.contexts)#通过这里找到要切换的小程序context
        wd.switch_to.context('WEBVIEW_com.tencent.mm:appbrand0')#切换到小程序

        print(wd.window_handles)#进入小程序再切换到要使用的window
        wd.switch_to.window(wd.window_handles[0])#进入小程序再切换到要使用的window
        print(wd.page_source)
        
        

        
进入小程序再切换到要使用到的window
print(wd.window_handles)#打印当前的window
wd.switch_to.window(wd.window_handles[0])#进入小程第一个window
最后把页面源码打印出来
print(wd.page_source)
把页面源码copy到html一个里面。再用浏览器打开就可以定位到元素了

也可写一个方法把源码写入到html 再打开因为我不是频繁使用,copy到源码就直接用了,还有小程序里面的window每次使用ID都不是固定的,所以只能按顺序去找window。网上找到一些可以用wd.window_handles[0].title() 的方式写循环去定位要切换的window。但是我用的小程序发现.title()都是空的所以没办法定位

  • 15
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值