Appium findElement (By.name (String str)) 这里的 str 不支持中文吗?

Mr Wang · 2016年04月02日 · 最后由 June 回复于 2016年04月04日 · 1787 次阅读

我在测试中文 app(android)的时候,我要点击 app 上的登录按钮,我试过用 By.id() 的方式可以点击到登录元素, 我想用 by.name() 的方式查找登录元素,如图所示:

由于登录元素 有个 text="登录",所以 应当可以使用 findElement(By.name("登录")) 才对,但是运行用例提示如下信息:

org.openqa.selenium.NoSuchElementException: An element could not be located on the page using the given search parameters. (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 15.10 seconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.53.0', revision: '35ae25b1534ae328c771e0856c93e187490ca824', time: '2016-03-15 10:43:46'
System info: host: 'DESKTOP-790N287', ip: '192.168.118.1', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.7.0_79'
*** Element info: {Using=name, value=登录}

没有根据 “登录” 这个 name 找到登录元素,在这里请教下各位高手,appium 支持 value 是中文的查找方式吗?如果支持 我这个为什么不能找到元素呢?

共收到 6 条回复 时间 点赞

希望各位能指教下 本人查了很多 但是没有找到解决方案

Appium 版本是 1.5.0 吗?
1.5.0 开始不支持 byName。

#2 楼 @jinjun0620
是 1.4.16.1 我看了下 当设置 automationName = appium 的时候可以 使用 by.name 但是设置为 selendroid 的时候不能使用 by.name 这是不是对的?

4楼 已删除

#3 楼 @young
Selendroid 好像不行。
应该是 UIautomator 模式下才可以使用的。
但最好不要用 name,1.5.0 开始不支持。

#5 楼 @jinjun0620 多谢 不过 1.5.0 还没发布吧

#6 楼 @young 已经发布了。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册