安卓app微信小程序自动化测试

伴随着手机微信小程序功能的和生态日益健全,许多企业的小程序新项目页面构造愈来愈多,领域模型也变得越来越繁杂。怎样做好小程序的功能测试便成为检测同学们广泛遭遇的一大困扰难点。手机微信小程序小程序嵌入于微信中部,页面包括Native原生元素和Web元素,等同于混和运用。而且,小程序Web一部分都是基于腾讯官方的X5内核开发的,

伴随着手机微信小程序功能的和生态日益健全,许多企业的小程序新项目页面构造愈来愈多,领域模型也变得越来越繁杂。怎样做好小程序的功能测试便成为检测同学们广泛遭遇的一大困扰难点。

手机微信小程序

小程序嵌入于微信中部,页面包括 Native 原生元素和 Web 元素,等同于混和运用。而且,小程序 Web 一部分都是基于腾讯官方的 X5 内核开发的,都是特殊 WebView。那样,对手机微信小程序开展功能测试,包含实际操作原生运用、WebView、根据微信公众自动化技术 SDK。

WebView页面元素获得

应用元素定位工具:

  • weditor

weditor安装方法

pip install weditor

参照文本文档:GitHub – alibaba/web-editor: web editor for atx 2
应用 chrome inspect 精准定位时,解析元素就是将页面解析为了能 html 页面,应用 weditor,往往会把页面解析为原生页面,而 Appium 在使用元素时,也是把页面解析变成原生来操作的(转换 webview 以外)

安卓app微信小程序自动化测试

Mac:

adb shell dumpsys activity top| grep ACTIVITY

Windows:

adb shell dumpsys activity top| findstr ACTIVITY

安卓app微信小程序自动化测试

安卓app微信小程序自动化测试

from time import sleepfrom appium import webdriverclass TestDemo:    def setup(self):        self.desire_cap= {            'automationName': "uiautomator2",            "platformName": "Android",            "deviceName": "wechat",            "appPackage": "com.tencent.mm",            "appActivity": ".ui.LauncherUI",            "noReset": "true",            'chromeOptions': {'androidProcess': 'com.tencent.mm:appbrand0'}        }        # androidProcess:webview是单独的进程,造成无法获取,必须在 chromeOptions 加上 androidProcess 就可以        self.driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",self.desire_cap)        self.driver.implicitly_wait(20)    def teardown(self):        self.driver.quit()    def test_demo(self):        # 刚进入微信时,页面载入时长不明,        # 必须通过find_element触发隐式等候,避免后面操作失败        self.driver.find_element_by_xpath("//*[@text='手机通讯录']")        size = self.driver.get_window_size()        # 获得现阶段显示器的宽、高        width = size.get("width")        height = size.get("height")        # 滚动开启小程序页面        self.driver.swipe((width / 2), int((height * 0.2)), (width / 2), (height * 0.8), 2000)        self.driver.find_element_by_xpath("//*[@resource-id='com.tencent.mm:id/gam' and @text='滚雪球']").click()        sleep(5)        print(self.driver.contexts,'第一次打印出')        self.driver.find_element_by_xpath("//*[@content-desc='检索股票消息/编码']/..").click()        self.driver.find_element_by_xpath('//*[@text="输入您股票代码/编码"]').send_keys("阿里")        text = self.driver.find_element_by_xpath('//*[@content-desc="阿里"]')        assert text
  • 手机模拟器:Genymotion
  • 系统版本:8.1
  • 微信旧版本:7.0.15
  • 小程序:滚雪球
  • Desired Capabilities – Appium 1
  • https://sites.google.com/a/chromium.org/chromedriver/capabilities 1
  • https://sites.google.com/a/chromium.org/chromedriver/getting-started/getting-started—android 1

小程序的测试标准有许多种,由于微信旧版本常常更新,webview的设定也会出现转变,因此可利用的测试标准可能会因每一个版本号有所不同。

创业项目群,学习操作 18个小项目,添加 微信:FX951741939  备注:小项目

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1825684320@qq.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.fxzy666.com/6135.html