appcrawler 最新版本下载地址

这是出现了横竖屏嘛,给我当时出问题的截图和当时的dom文件看看

您好!请问关于flutter页面的 app 元素默认dump下来的元素信息中包含一些特殊字符,然后无论是自动遍历或是手工指定路径都无法识别到,也尝试了一些方法如,如直接复制描述中的内容或把特殊字符转义,都无法识别到

  • xpath: //*[contains(@content-desc, ‘口碑\n;Tab 2 of 4’)]
  • xpath: “^口碑.*”
  • xpath: //*[contains(@content-desc, ‘口碑’)]
    希望能得到大佬的支持与帮助 ,感谢 :pray:

xpath支持contains语法 * xpath: //*[contains(@content-desc, ‘口碑’) and contains(@content-desc, ‘Tab 2 of 4’) ]

这块涉及到底层的控件识别原理,底层的uiautomator发现特殊字符后,自作聪明的帮你转义了下,结果就导致了xpath识别完整内容的时候有问题,可以先用这个方法折中下吧。

首先非常感谢您的回复,方法我尝试了还是不可以识别,而且我有个疑问:假设上面您给出的方法可以,按道理 //*[contains(@content-desc, ‘口碑’)] 这样也应该没问题吧? 感谢回复 :pray:

刚想起来,实际查找的时候,貌似你写的xpath会被底层强行转成绝对xpath,所以你这样修改貌似不会生效。如果你的content-desc不准的话,这个元素可能就没法找到了。你可以把xpathAttribute里的这个属性去掉,这样生成定位表达式的时候,不用这个属性也许会好些

我需要要在源码中尝试把xpathAttribute里的这个属性去掉呢?能指教下吗?其实我不太理解的是flutter页面本身结构并没有 content-desc 等这些属性,而且在开发代码中写的title内容也只有”口碑“,但生成的dom对像文件就自动转换成了 content-desc 这种形式,而且有些还带了一些特殊字符

Yaml配置中有这个配置


思寒大佬,下载最新的jar包之后 运行java -jar appcrawler-2.7.4-hogwarts.jar -c demo.yaml 直接报错了

配置文件的编码问题,运行的时候加个参数 -e UTF-8 设置一下编码看看


还是不行 :sob:

你的yaml文件中,雪球App的包名写错了,appPackage: com.xueqiu.android,你少了一个d

:face_with_peeking_eye:这个问题我发现了 后面改了 加上编码格式之后运行还是错的

你的文件是windows上的基本编辑的吧,他里面有个特殊的bom字符。你最好用标准的标记工具编写,比如用vs code pycharm等工具。或者编码上你用utf8保存下文件。


请问大佬,为什么我用着之前是好好的,但突然就在页面一直重启了,之后怎么弄也不好使了呢?请大佬帮忙看看

感谢回复,问题已处理,是编码格式的问题

你用的什么版本,是挺奇怪的?
把堆栈的文本贴过来吧,我假期查一查

我又重新调整了下配置文件,就没有总重启的情况了,不过也没有找清具体原因,之前的配置文件运行也是没问题的,我再请教您个问题:配置文件中testcase: 这块不能多个用例分别写是吗?如如
name: “test1”
steps:
-xpath: ****
-xpath: click

name: “test2”
steps:
-xpath: ****
-xpath: click
因为我发现写多个只有一个被执行

目前只支持一个

@seveniruby 老师,web端的开源了吗?

我发现用例第一个元素如果没有找到的话,后面的元素就都不查找了是吗?如果我首次打开会有个弹窗,第二次再打开就没有了,这样的场景怎么在用例中体现呢?