App自动化测试:高级控制定位技巧

简介APP 的控件元素不仅涵盖了基础用户界面操作,还包括用户与应用程序中更复杂、功能丰富的空间之间的互动。这种交互远不止于简单的按钮或输入框。通过借助 Appi

大家好,今天来为大家解答App自动化测试:高级控制定位技巧这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

ActionChains 和 Actions 区别

ActionChains是Selenium WebDriver中的一个类,可以用来执行一系列操作,例如鼠标悬停、拖放、键盘按下等。

Actions是Appium中的一个类,用于执行手势和交互操作,例如点击、滑动、长按等。

虽然两者名称相似,但它们是针对不同的自动化测试环境而设计的。

ActionChains适合网页自动化测试,通过Selenium WebDriver控制浏览器执行各种交互操作,并提供一系列方法来模拟用户行为。

Actions适合移动应用的自动化测试,使用Appium控制设备或模拟器进行各种手势操作。

除了适合不同的自动化测试环境之外,ActionChains 和Actions 的用法和语法也略有不同。在Selenium WebDriver 中使用ActionChains 时,您可以链接方法来执行一系列操作,并使用Perform() 方法来触发操作的执行。在Appium中使用Actions时,需要创建一个TouchAction对象,使用它提供的方法来执行手势操作,并使用perform()方法来触发手势的执行。

Actions 用法

App自动化测试:高级控制定位技巧

使用ActionChains自动化用户交互时,首先需要导入ActionChains类和其他相关模块,然后定义一个ActionChains实例并传入驱动程序。之后,可以通过定义输入源和特定操作来实现各种用户交互。

导入ActionChains类和其他模块来定义ActionChains实例’actions’,并传入驱动程序来定义输入源并定义执行动作的动作。

滑动解锁示例

安装手势密码锁定应用程序(TouchAction.apk)。打开App,点击【设置手势】即可完成手势操作(如图)

在实现手势滑动时,通常需要组合坐标,具体的坐标点可以通过设置设备的输入选项从界面中找到。

手势滑动路径如下图所示:

Python 版本

pythonclass testactionChins3360 def setup_class(self):设置启动参数caps={‘platformname’:’android’,’appium333660apppackage’: amsung.ui.f lashActivity ‘, ‘appium:noReset’: True, ‘appium:shouldTerminateApp’: True, } # 初始化驱动self.driver=webdriver.Remote(‘http://localhost:4723′, options=UiAutomator2Options().load_capability(caps)) # 设置隐式等待self.driver. implicitly_wait(15) defteartdown_class(self): # 退出应用self.driver.quit() def test_slide_to_unlock(self): # 点击设置手势self.driver.find_element(by=AppiumBy.ID, value=’cn. kmob. screenfingermovelock:id/patternTxt’).click() print(self.driver.get_window_size()) # 定义ActionChains 实例actions=ActionChains(self.driver) # 定义输入源actions.w3c_actions=ActionBuilder(self.driver, mouse=PointerInput (interaction .POINTER_TOUCH, ‘touch’)) # 定义动作pointer_down按下暂停释放release #需要实现3个点之间的滑动,A-B水平滑动B-C垂直滑动bounds=self.driver.find_element(AppiumBy.ID, ‘cn.kmob. screenfingermovelock:id/patternView’).get_attribute( ‘bounds’) actions.w3c_actions.pointer_action.move_to_location(204, 377) actions.w3c_actions.pointer_action.pointer_down() actions.w3c_actions.pointer_action.move_to_location(930, 373) # 暂停0.5 秒模拟两点之间的拖动actions.w3c_actions.pointer_action.pause(0.5) actions.w3c_actions.pointer_action.move_to_location(846, 1150) actions.w3c_actions.pointer_action.pause(0.5) actions.w3c_actions .pointer_action.release() # 执行动作actions .perform() # 获取【继续】按钮的可点击属性值result=self.driver.find_element(AppiumBy.ID, ‘cn.kmob.screenfingermovelock:id/btnTwo’).get_attribute( ‘ clickable’) # 断言[继续]按钮] 可点击断言结果==’true’

总结

操作使用滑动解锁示例

用户评论

App自动化测试:高级控制定位技巧
优雅的叶子

终于看到这篇文章了!一直卡在控件定位上,感觉App自动化测试超级难,现在有点思路了。

    有16位网友表示赞同!

App自动化测试:高级控制定位技巧
赋流云

这篇博客讲解的真清楚!我也在尝试用Android studio写自动化脚本,之前用的ID定位经常失效,这些高级技巧确实有帮助,我要试试AccessibilityNodeInfo这个方法。感谢博主!

    有12位网友表示赞同!

App自动化测试:高级控制定位技巧
巷口酒肆

说的很有道理,有时候单纯依靠控件ID和class name真的不是一套万全之法,各种异常情况可能导致定位失败,需要多掌握一些高级技巧应对!点赞!

    有10位网友表示赞同!

App自动化测试:高级控制定位技巧
莫飞霜

作为一个自动化测试新手,这篇博客的重点讲解非常清晰易懂,例如用图示来解释不同方法的优缺点,真是太棒了!希望以后博主能分享更多关于App自动化测试的实用技巧。

    有6位网友表示赞同!

App自动化测试:高级控制定位技巧
熏染

感觉有点深奥啊。。。我刚接触 App 自动化测试就遇到了各种难点,这篇文章讲得还是比较细节,让我暂时难以理解全部内容,需要再好好研究一下。

    有18位网友表示赞同!

App自动化测试:高级控制定位技巧
枫无痕

说句不好听的,这个高级定位技巧好像跟我的项目场景不太实用。我项目的App比较简单,只有简单的按钮和文本,用传统的ID定位就足够了…

    有12位网友表示赞同!

App自动化测试:高级控制定位技巧
别在我面前犯贱

这篇文章讲的太精妙了!给我打开了一扇新的门窗,原来这些方法是可以用来解决控件定位问题的,让我眼前一亮。

    有17位网友表示赞同!

App自动化测试:高级控制定位技巧
长裙绿衣

我尝试过AccessibilityNodeInfo这个方法,确实效率很高,但有时候会遇到兼容性问题,对不同版本的安卓设备来说效果也不一样,需要认真测试和调整。

    有5位网友表示赞同!

App自动化测试:高级控制定位技巧
龙卷风卷走爱情

自动化测试的难度确实很大,需要不断学习和实践,这篇文章总结了很多经验,对新手小白很有帮助!

    有18位网友表示赞同!

App自动化测试:高级控制定位技巧
一笑傾城゛

我更喜欢用图片定位来解决控件定位的问题,这样更加直观易懂,可以根据App界面上的元素进行定位,不需要记住ID或者class name。

    有17位网友表示赞同!

App自动化测试:高级控制定位技巧
哭花了素颜

有时候单纯依靠这些高级技巧还是不够稳妥,需要结合其他测试工具和策略才能确保测试的有效性和可靠性!

    有13位网友表示赞同!

App自动化测试:高级控制定位技巧
寻鱼水之欢

赞同博文中的观点,App开发越来越复杂,自动化测试也变得越来越重要,掌握一些先进的定位技巧是必不可少的。

    有6位网友表示赞同!

App自动化测试:高级控制定位技巧
刺心爱人i

实际操作中,还需要考虑脚本的运行效率和可维护性,不能光追求定位精度的极致,要找到一个平衡点!

    有5位网友表示赞同!

App自动化测试:高级控制定位技巧
巴黎盛开的樱花

对新手来说,这篇文章确实很有参考价值,但是对于有经验的人来说,这些技巧已经比较基础了,可以尝试研究更高级的定位方法或使用专用的自动化测试框架。

    有17位网友表示赞同!

App自动化测试:高级控制定位技巧
别伤我i

App自动化测试是一个不断更新迭代的领域,我们需要时刻关注新的技术和工具,不断学习和改进我们的技能!

    有18位网友表示赞同!

App自动化测试:高级控制定位技巧
孤街浪途

我觉得这篇文章虽然没有解决所有的问题,但至少打开了一扇窗,让我们对高阶定位技巧有了更深入的了解。期待以后博主继续分享更多关于 App 自动化测试的精益内容!

    有13位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/182819.html

(0)
小su's avatar小su
上一篇 2024年9月23日 上午5:20
下一篇 2024年9月23日 上午5:27

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注