浓缩咖啡点击webView按钮

6

你好,我需要在我的测试中点击WebView。WebView中的按钮代码如下:

<input type="submit" onclick="ignoreClose()" name="UsernamePasswordEntry" value="Submit">

我试着这样处理它:
   onWebView().withElement(findElement(Locator.NAME, "UsernamePasswordEntry")).perform(webClick());

但是我得到的结果是:
java.lang.RuntimeException: java.lang.RuntimeException: Atom evaluation returned null!

有没有什么方法来处理它?

你是否尝试过使用HTML标签的其他属性,例如id属性? - Yash
1
问题的原因是按钮不在我的网站代码内,而是在 iframe 中,Espresso 无法访问。我仍然没有弄清楚如何点击由几个 iframe 创建的 webView 中显示的网站部分。 - F1sher
1个回答

4

尝试使用Locator.XPATH,例如:

onWebView().withElement(findElement(Locator.XPATH, "here put XPATH")).perform(webClick())

获取XPATH,只需在网页上右键单击标记的元素并复制XPATH即可。


onWebView() 方法返回具有空元素的 webview。即使在运行测试时设备中加载了网页... 有什么原因吗? - Kannan_SJD
我尝试使用上述方法,使用xPath //*[@id="gb"]/div/div[2]/a单击www.google.com的“登录”按钮。但是,我遇到了这个错误。 java.lang.RuntimeException: java.lang.RuntimeException: evaluationEvaluation中的错误:状态:32值: {message=由于以下错误无法定位带XPath表达式“登录”的元素: SyntaxError: Failed to execute 'evaluate' on 'Document': The string 'Sign in' is not a valid XPath expression. } - harikrishnan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接