Bootstrap3 と JQuery を使用した Scala アプリケーションである ScalaTest、FlatSpec、および Selenium でテストしていますが、Select2 要素で奇妙な動作が発生しています。
Select2 要素をクリックしたいときは、次のオプションを試します。
click on xpath("... My XPath ...")
また
click on cssSelector(" ... My cssSelector ...")
また
blahblah.webElement.click()
これらの可能性はすべて正常に機能しますが、例外が見つかりました。
これは、BootStrap 3 での Select 要素の定義です。
// mySelect1
@b3.select( filterForm("mySelect1"), ("" -> "All") +: mySelect1.values.map(r => r.code -> Messages("mySelect1." + r.code)), '_label -> Messages("mySelect1"), '_class -> "col-md-4 col-sm-6 col-xs-12" )
// mySelect2
@b3.select( filterForm("mySelect2"), options = Seq(""->"All", "true"->"Yes", "false"->"No"), '_label -> Messages("mySelect2"), '_class -> "col-md-4 col-sm-6 col-xs-12" )
// mySelect3
@b3.select( filterForm("mySelect3"), options = Seq(""->"All", "true"->"Yes", "false"->"No"), '_label -> Messages("mySelect3"), '_class -> "col-md-4 col-sm-6 col-xs-12" )
最初の Select2 (mySelect1) をクリックしようとすると、古典的なエラーが発生しました。
InvalidElementStateException: 要素が無効になっているため、アクションに使用できない可能性があります
しかし、他の 2 つの要素 (mySelect2 と mySelect3) をクリックすると、正常に動作します。最初のものだけがエラーをスローします。
定義の順序を変更すると、最初の動作が再び再現されます。他の人ではありません。
// mySelect2
@b3.select( filterForm("mySelect2"), options = Seq(""->"All", "true"->"Yes", "false"->"No"), '_label -> Messages("mySelect2"), '_class -> "col-md-4 col-sm-6 col-xs-12" )
// mySelect3
@b3.select( filterForm("mySelect3"), options = Seq(""->"All", "true"->"Yes", "false"->"No"), '_label -> Messages("mySelect3"), '_class -> "col-md-4 col-sm-6 col-xs-12" )
// mySelect1
@b3.select( filterForm("mySelect1"), ("" -> "All") +: mySelect1.values.map(r => r.code -> Messages("mySelect1." + r.code)), '_label -> Messages("mySelect1"), '_class -> "col-md-4 col-sm-6 col-xs-12" )
そして最後に、2 番目と 3 番目のみをクリックして最初のものを忘れても、エラーは発生せず、正常に動作します。
これはバグですか?誰かがこのようなものを見つけましたか? Chrome、Firefox、IE で発生します。