首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

聊聊 Python 做微信小程序自动化,那些踩过的坑?

场景 之前写过 微信小程序的几种方式,对于有源码的小程序推荐使用微信开放的 SDK 来做自动化,否则只能使用原生或 WebView 的方式。...小程序入口 对大部分人来说,使用小程序的方式一般是在微信主界面下拉屏幕后,然后选中目标小程序的图标,进入到程序应用 另外,由于小程序在屏幕的展示位置不固定,会影响到自动化程序的稳定性 def swipe_down...x1 = int(x * 0.5) y1 = int(y * 0.25) # 终点y轴坐标 y2 = int(y * (0.25 + step)) # 向下滑动屏幕...driver.swipe(x1, y1, x1, y2, 1000) # 向下滑动屏幕 swipeDown(0.4) # 找到目标小程序的图标元素,从顶部进入小程序 # pass 这里,...最后 使用 Appium 做微信小程序自动化遇到的坑主要就上面这些,其他操作和原生、混合应用类似,这里就不详细展开说明。

2.6K1512

自动化-Appium-​第一个Demo-混合(Python版)

要想在IOS模拟器中运行应用,则必须在Xcode中编译时选择模拟器类型,编译生成的文件后缀为.app (2)如果是在真机上运行,需要装.ipa的应用程序文件。分为正式版和开发版。...# 被测应用的bundle ID # 用于在真实设备中启动测试,也用于使用其他需要bundle ID的关键字启动测试 # 在使用bundle ID在真实设备上执行测试时,你可以不提供`app`关键字,但你必须提供...会假设客户端退出然后自动结束会话 desired_caps['newCommandTimeout'] = 60 # Appium中使用IWDP,指的就是ios-webkit-debug-proxy desired_caps...要想在IOS模拟器中运行应用,则必须在Xcode中编译时选择模拟器类型,编译生成的文件后缀为.app (2)如果是在真机上运行,需要装.ipa的应用程序文件。分为正式版和开发版。.../app/VWallet.ipa') # 被测应用的bundle ID # 用于在真实设备中启动测试,也用于使用其他需要bundle ID的关键字启动测试 # 在使用bundle ID在真实设备上执行测试时

3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    两款iOS和Android都通用的开源自动化测试工具

    Cucumber中的所有语句使用Ruby定义。在Calabash,Cucumber语句只能被定义一次,但可以在Cucumber脚本的不同场景中重复使用。...◆支持在屏幕上的所有动作,如滑动,缩放,旋转,敲击等。 ◆大型且热心的社区。 ◆跨平台开发支持(同样的代码在Android和iOS设备中都适用)。...2.Appium(Android和iOS) Appium是Sauce Labs出品的一个开源的自动化测试框架,用于原生、混合和移动的web app。...◆使用Appium Server应用程序的Inspector工具提取标识符。 ◆通过Appium Server的桌面应用程序对Selendroid内置支持。...◆支持原生,混合和移动的web自动化应用程序。 缺点: ◆Appium Server桌面应用程序的发布常常不稳定。

    3K80

    【腾讯 TMQ 】移动 APP 自动化测试框架对比

    Cucumber中的所有语句使用Ruby定义。 优点: 有大型社区支持。 列表项 简单,类似英语表述的测试语句 支持在屏幕上的所有动作,如滑动,缩放,旋转,敲击等。...Appium http://appium.io/ Appium是一个开源的、跨平台的自动化测试工具,支持IOS、Android和FirefoxOS平台。...它允许使用Cucumber编写结构化英语句子的测试场景。 Frank要求测试时在应用程序内部编译,这意味着对源代码的改变是强制性的。...操作方式为使用Cucumber和JSON组合命令,将命令发送到在本地应用程序内部运行的服务器上,并利用UISpec运行命令。 优点: 测试场景是在Cucumber的帮助下,用可理解的英语句子写的。...脚本执行过程中,利用图像检索算法分析匹配当前屏幕中对应的控件,并对其应用相应的鼠标或键盘操作。这种方式使得我们在脚本编写时,既无需关心繁琐的应用程序相关 API 亦不用获取 Web 内容对象。

    6.9K11

    自动化-Appium-微信小程序(Python版)

    5、接下来开始使用查找元素定位工具来获取元素的属性值等信息,微信应用程序的原生例如可以使用Android SDK的uiautomatorviewer工具查找元素,小程序页面识别不到webview中的元素..., Android Emulator, Galaxy S4 等等 # 在IOS上,这个关键字的值必须是使用`instruments -s devices`得到的可使用的设备名称之一 # 在Android...] = True # 在此会话之前不要重置应用程序状态 # Android 不要停止应用程序,不要清除应用程序数据,也不要卸载apk # IOS 测试后不要销毁或关闭SIM卡。...开始测试运行在任何模拟运行,或设备插入 desired_caps['noReset'] = True # 执行完整的重置 # Android 停止应用程序,清除应用程序数据并在测试后卸载apk # IOS...在真机设备测试后卸载应用程序,在模拟器测试后摧毁模拟器 desired_caps['fullReset'] = False # 设置命令超时时间,单位:秒 # 达到超时时间仍未接收到新的命令时Appium

    6.3K20

    移动APP自动化测试框架对比

    Cucumber中的所有语句使用Ruby定义。 优点: 有大型社区支持。列表项简单,类似英语表述的测试语句支持在屏幕上的所有动作,如滑动,缩放,旋转,敲击等。...6、Appium http://appium.io/ Appium是一个开源的、跨平台的自动化测试工具,支持IOS、Android和FirefoxOS平台。...它允许使用Cucumber编写结构化英语句子的测试场景。Frank要求测试时在应用程序内部编译,这意味着对源代码的改变是强制性的。...操作方式为使用Cucumber和JSON组合命令,将命令发送到在本地应用程序内部运行的服务器上,并利用UISpec运行命令。 优点:测试场景是在Cucumber的帮助下,用可理解的英语句子写的。...Sikuli将GUI对象的屏幕截图作为函数的参数直接引用,整个代码的语义清晰明了,可读性极强。脚本执行过程中,利用图像检索算法分析匹配当前屏幕中对应的控件,并对其应用相应的鼠标或键盘操作。

    4.3K20

    Appium自动化测试框架

    将自动辅助程序appium.setting推送到手机端,如果已经安装就不管了 获取手机相关信息,屏幕尺寸,品牌等 检查对应包名是否已经安装好了,如果安装好了,如果该应用程序在执行,会停止掉 清空应用程序数据...(By.name("")); 最新版本Appium不再支持此API,需要使用UIAutomator原生自动化引擎 androidDriver.findElementByAndroidUIAutomator...("new UiSelector().text('登录')"); ---- className定位 根据class属性去找元素,一般在页面中很多元素的class属性都是一致的,所以这种方式基本不用。...Native app的测试,下面开始讲解,如何完成对Hybrid APP(混合型—>Native+H5)进行自动化测试 手机端页面分为两类,一类使用原生安卓开发,另一类使用原生安卓加h5页面混合而成...,对于原生页面的自动化测试,就如上面所讲,而要把上面对原生安卓页面的自动化测试放到webView–>web页面上来的时候,则无法生效,需要进行特殊处理。

    2.2K30

    自动化-Appium-微信小程序(Java版)

    5、接下来开始使用查找元素定位工具来获取元素的属性值等信息,微信应用程序的原生例如可以使用Android SDK的uiautomatorviewer工具查找元素,小程序页面识别不到webview中的元素...("automationName", "Appium"); // 使用哪个移动操作系统平台 // iOS, Android, FirefoxOS...// Android 不要停止应用程序,不要清除应用程序数据,也不要卸载apk // IOS 测试后不要销毁或关闭SIM卡。...,清除应用程序数据并在测试后卸载apk // IOS 在真机设备测试后卸载应用程序,在模拟器测试后摧毁模拟器 capabilities.setCapability...脚本执行结束后,控制台打印的信息: 3、在执行测试脚本切换到WebView模式操作中,可能多多少少会遇到一些报错,排除元素定位不对的情况,大部分报错都是WebView与驱动的版本不匹配所产生的。

    2.8K20

    移动测试 Appium源码初探

    移动测试 Appium源码初探 介绍 Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合应用。...“移动原生应用”是指那些用 iOS 或者 Android SDK 写的应用。...“移动 web 应用”是指使用移动浏览器访问的应用(Appium 支持 iOS 上的 Safari 和 Android 上的 Chrome)。...Appium支持各种语言的类库驱动来做移动端自动化测试,这些类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON 格式selenium命令以及额外的移动设备控制相关的命令,如多点触控手势和屏幕朝向...客户端驱动包是基于json wire protocol实现的,其依赖selenium2中的webdriver,所以在实际是应用Appium-Python-Client时,是需要先安装selenium2的

    1.8K50

    深入了解设备交互 API 如何改变我们的生活

    在移动端应用程序测试中,设备交互的范围扩展到模拟通信方面和模拟设备本身的功能和行为,会涉及到设备的通信行为,例如模拟电话呼叫和短信发送,以及控制设备的一些系统级别的功能,例如网络连接状态、屏幕方向等。...设备交互应用场景模拟电话和短信:在测试通讯类应用程序时,模拟电话呼叫和接听、发送和接收短信等操作可以帮助验证应用程序在与电话功能相关的场景中的行为和响应。...横竖屏切换:应用程序在不同屏幕方向下的布局和用户界面的适应性是非常重要的。通过模拟设备从横屏到竖屏或从竖屏到横屏的切换,可以验证应用程序在不同屏幕方向下的布局和显示效果。...App 处理:模拟应用程序被其他应用或系统中断(如来电、短信、通知等),然后再返回到应用程序中,可以测试应用程序在中断和恢复过程中的稳定性和用户体验。...录屏:录制设备屏幕上的操作过程,可以用于制作演示视频、记录应用程序的缺陷复现步骤,以及在教学和培训中展示设备和应用程序的操作方法。

    15010

    app自动化面试题

    官方的说法是Activity一个应用程序的组件,它提供一个屏幕来与用户交互,以便做一些诸如打电话、发邮件和看地图之类的事情,它提供屏幕进行交互。...Activity:应用程序中,一个Activity就相当于手机屏幕,它是一种可以包含用户界面的组件,主要用于和用户进行交互。...只有需要在多个应用程序间共享数据时才需要内容提供者。例如:通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中。它的好处:统一数据访问方式。...Appium是一个免费分发的开源移动应用UI测试框架,可以对android及ios系统的app进行自动化测试 12 解释移动应用程序中如何查找DOM元素 要找到DOM元素,使用“UIAutomateviewer...2、两者后台制度不同:IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。 3、IOS中用于UI指令权限最高,安卓中数据处理指令权限最高。

    1.8K20

    移动APP自动化测试框架对比

    Cucumber中的所有语句使用Ruby定义。 优点: 有大型社区支持。列表项 简单,类似英语表述的测试语句支持在屏幕上的所有动作,如滑动,缩放,旋转,敲击等。...Appium http://appium.io/ Appium是一个开源的、跨平台的自动化测试工具,支持IOS、Android和FirefoxOS平台。...它允许使用Cucumber编写结构化英语句子的测试场景。 Frank要求测试时在应用程序内部编译,这意味着对源代码的改变是强制性的。...操作方式为使用Cucumber和JSON组合命令,将命令发送到在本地应用程序内部运行的服务器上,并利用UISpec运行命令。 优点: 测试场景是在Cucumber的帮助下,用可理解的英语句子写的。...Sikuli将 GUI 对象的屏幕截图作为函数的参数直接引用,整个代码的语义清晰明了,可读性极强。脚本执行过程中,利用图像检索算法分析匹配当前屏幕中对应的控件,并对其应用相应的鼠标或键盘操作。

    6K101

    自动化-Appium-第一个Demo-原生(Java版)

    8、第一个Demo项目,IOS-原生(模拟器/真机)创建完成。 2.2编写脚本 2.2.1模拟器 1、使用Xcode创建模拟器,例如:本章示例模拟器名iPhone 8,IOS版本11.2。...要想在IOS模拟器中运行应用,则必须在Xcode中编译时选择模拟器类型,编译生成的文件后缀为.app (2)如果是在真机上运行,需要装.ipa的应用程序文件。分为正式版和开发版。...// 被测应用的bundle ID // 用于在真实设备中启动测试,也用于使用其他需要bundle ID的关键字启动测试 // 在使用bundle ID在真实设备上执行测试时,你可以不提供`app`关键字...要想在IOS模拟器中运行应用,则必须在Xcode中编译时选择模拟器类型,编译生成的文件后缀为.app (2)如果是在真机上运行,需要装.ipa的应用程序文件。分为正式版和开发版。...// 被测应用的bundle ID // 用于在真实设备中启动测试,也用于使用其他需要bundle ID的关键字启动测试 // 在使用bundle ID在真实设备上执行测试时,你可以不提供`app`关键字

    2.4K30

    原生 APP 的性能测试

    关于原生 APP 的性能测试,这是确保应用程序在用户设备上运行流畅、响应迅速且资源消耗合理的重要环节。性能测试的目的是识别和解决潜在的瓶颈,提升用户体验。...高 CPU、高网络活动、频繁使用 GPS 或其他传感器、长时间保持屏幕亮起等都可能导致电量快速消耗。性能测试需要分析哪些操作或模块是耗电大户。...常用的性能测试工具:针对 iOS 和 Android 平台,有一些官方和第三方工具可以帮助进行性能测试:iOS (使用 Xcode Instruments):Time Profiler: 分析 CPU...自动化测试框架(如 Appium, Espresso, XCUITest)可以结合性能监控工具,在自动化脚本执行过程中收集性能指标。...持续监控: 在应用发布后,使用 APM 工具持续监控应用的性能表现。原生 App 的性能测试是一个复杂但至关重要的过程,需要贯穿于整个开发生命周期,而不仅仅是在开发后期进行。

    21410

    Appium移动测试入门指南(二) - Capability 配置

    Appium DesiredCapability Desired Capability是编码在JSON对象中的键和值,在请求新的自动化会话时由Appium客户端发送到服务器。...Desired Capability可以在WebDriver编写的测试脚本中配置,也可以在Appium服务器GUI中设置(通过Inspector会话) 常用Capability与解释 键 描述 app...如果是一个应用则只需填写个空的字符串 'Safari' 对应 iOS,'Chrome', 'Chromium', 或 'Browser' 则对应 Android newCommandTimeout 用于客户端在退出或者结束...用于在真实设备中启动测试,也用于使用其他需要 bundle ID 的关键字启动测试。在使用 bundle ID 在真实设备上执行测试时,你可以不提供 app 关键字,但你必须提供 udid 。...,通过 USB 发送数据到 iOS 设备中。

    3K00

    Appium+python自动化(十四)- 与Capability完美懈垢之解读(超详解)

    适用于iOS的“Safari”,适用于Android的“Chrome”,“Chromium”或“浏览器” newCommandTimeout 在假定客户端退出并结束会话之前,Appium将等待来自客户端的新命令...在这里看到更多的细节 true, false eventTimings 启用或禁用各种Appium内部事件的时间报告(例如,每个命令的开始和结束等)。默认为false。启用,使用true。...如果被测试的应用程序是由另一个定位应用程序创建的,那么将其设置为false将允许在使用adb的测试应用程序启动过程中定位应用程序的过程仍然存在。...3.3 ios独有Capability   在我选择appium时,最主要是因为他能够同时支持ios和android,在基础参数配置中ios也有他自己的独一份,不和android一样,下面我们大概介绍一下...默认:8 例如, 12 appName 被测应用程序的显示名称。用于在iOS 9+中自动化后台应用程序。

    3.7K50

    自动化-Appium-第一个Demo-原生(Python版)

    要想在IOS模拟器中运行应用,则必须在Xcode中编译时选择模拟器类型,编译生成的文件后缀为.app (2)如果是在真机上运行,需要装.ipa的应用程序文件。分为正式版和开发版。...# 被测应用的bundle ID # 用于在真实设备中启动测试,也用于使用其他需要bundle ID的关键字启动测试 # 在使用bundle ID在真实设备上执行测试时,你可以不提供`app`关键字,但你必须提供...# 被测应用的bundle ID # 用于在真实设备中启动测试,也用于使用其他需要bundle ID的关键字启动测试 # 在使用bundle ID在真实设备上执行测试时,你可以不提供`app`关键字...要想在IOS模拟器中运行应用,则必须在Xcode中编译时选择模拟器类型,编译生成的文件后缀为.app (2)如果是在真机上运行,需要装.ipa的应用程序文件。分为正式版和开发版。...# 被测应用的bundle ID # 用于在真实设备中启动测试,也用于使用其他需要bundle ID的关键字启动测试 # 在使用bundle ID在真实设备上执行测试时,你可以不提供`app`关键字,但你必须提供

    2.5K20

    APP自动化测试系列之Desired Capabilities详解

    true、falseunicodeKeyboard使用Unicode输入法,默认 falsetrue、falseresetKeyboard在使用了unicode输入法测试结束后,重置输入法到原有状态。...默认为falsetrue、falsenativeWebScreenshot在Web上下文中,使用本机(adb)方法截取屏幕截图,而不是ChromeDriver代理。...独有的Capabilities : 键描述值calendarFormat(仅限SIM)为iOS模拟器设置的日历格式例如 gregorianbundleId测试中的应用程序的BundleID。...用于在设备上启动应用程序。在真实设备上执行测试使用BundleID时,可以省略app参数,但是必须提供udid参数。...默认:8例如:12appName被测应用程序的显示名称。用于在iOS 9+在后台自动化应用程序。例如:UICatalogcustomSSLCert(仅限Sim)向模拟器添加SSL证书。

    4.2K20

    自动化-Appium-元素定位工具

    元素定位工具 本章节讲解Android / IOS常用的元素定位工具,针对包括原生(APP)、Web(WEBVIEW)和混合(APP与WEBVIEW)。...使用adb devices命令查看模拟器或真机是否连接上。如图所示已经连上设备。 在模拟器或真机里,打开要定位元素的App应用程序,操作到想要定位的页面。...1.1.2Appium Inspector Appium Inspector是Appium Desktop附带的一个元素定位检查器,用来调试定位应用程序很方便。...在Windows / Mac环境下操作基本一致,这里以Windows进行讲解。使用adb devices命令查看模拟器或真机是否连接上。如图所示已经连上设备。 启动Appium Desktop。...第2章 IOS 2.1APP 2.1.1Appium Inspector Appium Inspector是Appium Desktop附带的一个元素定位检查器,用来调试定位应用程序很方便。

    5.2K11
    领券