web、app的遍历方案

web页面的遍历方案

1、 web页面遍历

· ① 基于selenium框架,获取页面的 DOM 树结构,然后对其解析,python下可以使用 BeautifulSoup,将 DOM 树转换成可视的数据结构;

· ② 对可视的数据结构进一步解析,拼接每个元素的 xpath 路径。(这里有个思路:判断每条分分支的根节点标签,优先取根节点标签的 id、class来开始拼接 xpath,后续的标签不需要判断它的id 或者 class是否唯一,仅用标签名字一步步拼接下去)

· ③ 第二步中拼接出的 xpath 的无效数据太多,若是不考虑效率问题,可直接使用;需要考虑效率时,需要自定义筛选条件(在做筛选时有几个思路:1)可以在解析DOM时做筛选;2)根据页面内容,排除无需点击的控件)

· ④ 处理完树结构后,开始做遍历点击操作,这部分反而是最简单的。通过 driver.execute_script(“arguments[0].click();”, temp) 来执行强点击事件,一般而言,只需要根据3个条件便可判断页面是否发生变化:1)新增页面,此时关闭新页签,然后用switch_window 重新定焦;2)地址栏发生变化,用 driver.back()回退;3)最后是页面DOM 数发生变化,重新get 一下页面即可,这种情况需要根据实际情况考虑异步加载的问题

· 【备注】对DOM树处理的筛选条件越多,方案的通用性越低

2、移动app内嵌web页面遍历

· ① 获取页面的控件树,取出每个控件的 name 或 text 属性,根据这个属性做点击遍历操作;

· ② 页面的变化判断有多种方案,比如:图像识别、控件树比对、关键元素变化等,选择合适的方案即可

3、app遍历

· ① app遍历可基于前面提到的方案进行处理,但其中有个难题:如何保证当前页面被全遍历了,尤其是 tab 切换; 多个页面的activey相同但实际ui元素不同。目前来说,有些思路,但效率可能不高,等以后有机会实现了再来谈谈。

4、结语

1)以上场景中,没详细说的是对异常情况的处理以及如何恢复初始化条件,在出现异常后紧接着上一步异常之后继续做遍历事件,较简单的页面式方便做的,复杂的就不太行,比如移动app,针对整个移动app的遍历目前我还没做出过完整的方案,虽然有些思路。想着那个复杂度就头秃。

2)有些团队已经做出了有完全可用的遍历方案,以及利用深度学习、AI 等技术研发出了更高的项目,这都是我学习、了解的方向,测试一行,尽量避免闭门造车,不然眼界太低了,自勉。

3)若有朋友、前辈有不同的思路,敬请指教~

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
自动化遍历app测试是一种通过使用自动化测试工具来模拟用户操作和验证app功能的方法。在这种测试中,通过编写测试脚本或配置文件,可以实现自动启动应用程序、执行一系列测试用例和断言,并生成测试报告。 在自动化遍历app测试中,有几个关键的步骤和概念需要了解: 1. 配置文件:配置文件是指通过指定一些参数和设置来定义测试的方式和范围的文件。它可以包含应用程序的包名、启动的activity、appium的地址等信息[2]。 2. 测试用例:测试用例是指在自动化测试过程中要执行的一系列步骤和验证的操作。在配置文件中,可以定义测试用例的范围、条件触发和执行动作的设置。 3. 动作:动作是指在测试用例中要执行的操作,例如点击、滑动、输入等。在自动化遍历app测试中,可以使用XPath定位元素并执行相应的动作[4.8]。 4. 自动化测试工具:在自动化遍历app测试中,可以使用一些自动化测试工具来实现测试。一些常用的工具包括appcrawler、appium等。 要进行自动化遍历app测试,你可以按照以下步骤进行: 1. 安装所需的环境和工具:首先,需要确保你已经安装了Java开发环境(JDK)和相应的自动化测试工具,例如appcrawler。你还需要安装appium和adb等底层引擎[3.4.2]。 2. 配置测试环境:在配置文件中,设置好应用程序的包名、启动的activity、appium的地址等信息。可以根据需要设置其他参数,例如设备的capabilities。 3. 编写测试用例:根据应用程序的功能和需求,编写相应的测试用例。在测试用例中,定义测试的范围、条件触发和执行动作的设置。可以使用XPath定位元素并执行相应的动作[4.8]。 4. 执行测试:使用命令行或脚本执行自动化遍历app测试。根据配置文件和测试用例,自动化测试工具将启动应用程序,并按照定义的测试用例执行相应的动作和验证。执行过程中,工具会生成测试报告,记录测试结果和错误信息。 总结起来,自动化遍历app测试是一种通过编写配置文件和测试用例,使用自动化测试工具来模拟用户操作和验证app功能的方法。通过定义测试范围、条件触发和执行动作的设置,可以实现自动执行测试并生成测试报告。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lyle·Lee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值