如何在 Android Esspresso Kakao 测试中点击 webview 按钮

How to click on webview button in Android Esspresso Kakao test

我的 android 应用程序外有一个 html 表单,其部分如下所示:

<form action="https://cards-accept.bm.pl/secure_back/play/AW2E8CY8ZG" method="POST"><div class="form-row"><label for="PaRes" data-trans="PaRes"></label><div class="form-field"><textarea id="PaRes" name="PaRes" rows="10" cols="54">&lt;dummy pareq&gt;</textarea></div></div><div class="form-row"><label for="MD">MD</label><div class="form-field"><input type="text" name="MD" id="MD" value="29cdce57-e7a1-475f-8243-b141bb2e162f" autocomplete="off"></div></div><div class="tac"><button type="submit" class="btn dark"><span>SUBMIT</span></button></div></form>

我需要在测试中单击提交按钮。 我试图通过这段代码实现它,但失败了:

      onScreen<MyScreen> {
            webView {
                withElement(Locator.CLASS_NAME, "btn dark") {
                    click()
                }
            }
        }

我有一个例外如下:

java.lang.RuntimeException: java.lang.RuntimeException: Error in evaluationEvaluation: status: 32 value: {message=Compound class names not permitted} hasMessage: true message: Compound class names not permitted

有没有其他方法可以点击提交按钮?

不允许在 class 名称中使用 space。 Space 用于将多个 class 分配给单个元素。

更改按钮 class 名称如下:

<button type="submit" class="btn_dark">

和 java 代码:

  onScreen<MyScreen> {
            webView {
                withElement(Locator.CLASS_NAME, "btn_dark") {
                    click()
                }
            }
        }

解决我的问题是使用TAG_NAME,幸运的是,我在这个html present

中只有一个button标签
     onScreen<MyScreen> {
            webView {
                withElement(Locator.TAG_NAME, "button") {
                    click()
                }
            }
        }