0
電子メール入力の制約の検証を確認するためのテストを書き直しています。私は、次のJavaScriptをチェックしようとしている:Geb内の入力の制約の有効性を確認するにはどうすればよいですか?
document.getElementById('theEmailId').validity.typeMismatch
私は昔ながらのJavaScriptでこれをテストする場合、すべてが正常です。私は「真実」を得ます。これは、電子メールアドレスが無効な場合の予想される回答です。私がGebの中でこれをしようとすると、私はあらゆる種類の問題を抱えます。
Condition not satisfied:
isValid == true
| |
null false
私は
def isValid = js.exec(theEmailAddress,
"""
return \$(this).validity;
"""
)
をしようとすると:私は、アサーションがはisValid ==真
は、私は次の出力とスポック比較エラーが出るということでで
def isValid = js.exec("document.getElementById('theEmailAddress')")
をしようとすると
次のレポートでjava.lang.IllegalArgumentExceptionエラーが発生します。
java.lang.IllegalArgumentException: Argument is of an illegal type: geb.content.TemplateDerivedPageContent
at org.openqa.selenium.remote.internal.WebElementToJsonConverter.apply(WebElementToJsonConverter.java:81)
at com.google.common.collect.Iterators$8.transform(Iterators.java:817)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
at com.google.common.collect.Iterators.addAll(Iterators.java:365)
at com.google.common.collect.Lists.newArrayList(Lists.java:162)
at com.google.common.collect.Lists.newArrayList(Lists.java:146)
at org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:572)
at geb.js.JavascriptInterface.execjs(JavascriptInterface.groovy:37)
at geb.js.JavascriptInterface.exec(JavascriptInterface.groovy:67)
at com.ag.functionaltest.crs.specs.LoginGebSpec.The customer can not register using an email without @(LoginGebSpec.groovy:33)
私は迷っています。私はbrowser.driver.executeScript、js.exec、jsを試してみました。すべてがnullまたはエラーを返します。これを動作させるために私が何をする可能性があるかについてのあらゆる指針は?