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



我有一个html表单外我的android应用程序的部分看起来像这样:

<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>

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

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

是否有一种方法,以其他方式点击提交按钮?

不允许在类名中使用空格。空格用于为单个元素分配多个类。

像这样修改按钮类名:

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

和Java代码:

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

要解决我的问题是使用TAG_NAME,幸运的是,我在这个html中只有一个button标签

onScreen<MyScreen> {
webView {
withElement(Locator.TAG_NAME, "button") {
click()
}
}
}

最新更新