0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

TestCafe(5)inputの操作についての問題点

Posted at

記事の概要

 TestCafeについての記述の5回目です。
 現在、inputタグでtype='time'関連のパーツを作ってテストしているのですが、どうもこのあたりの操作についてはTestCafeの動作に問題があるようです。
 今回はその問題について記述しておきます。

IEでの「×」はクリックできない

 クリック操作でカーソル位置や座標を指定してクリックできるのですが、IEのInputでテキストのクリアの為にoffsetXを使って「×」をクリックしても反応しません。他では試していないのですが、どうも本当の意味でのクリックではなさそうです。(実行時の大きなマウスはクリックしているように見えるのですが)

空白が入力できない

 この仕様が不明なのですが、typeTextメソッドで空白が設定できません。入力必須のエラーチェックでは結構苦労します。
 上記で書いたように入力内の「×」はクリックできないので、結局pressKeyメソッドで"ctrl+a delete"を送信する必要があります。

type=text以外ではキー入力が制限されている

 上記の空白が入力できないの続きですが、pressKeyを利用して空白を入力しようとしても、type=timeでは動作しません。どうも、type=text以外は入力に制限をかけているようで(timeでしか試していないので、違うかもしれませんが)text以外の特殊な入力では入力フォーマットが制限されていることが絡んでいるのか、いろいろできない様です。結果、IEでは「type='time'」の入力を空にすることはできませんでした。

IE以外ではtype=timeの空白は「--:--」

 IE以外のChromeやFireFoxではtype=timeの場合にtypeTextメソッドで「--:--」を入力すると、中身が空になるようです。IEで実行すると、値にそのまま「--:--」が入っているようです。

type=timeの時に入力しただけではchangeイベントが発生しない

 よくわからないのですが、ChromeやFireFoxでtype=timeの時に時刻を入力しても、そのページのJavaScriptで設定しているchangeイベントが反応しません。どうもchangeイベントが発生していない様です、他の入力をクリックさせてもblurも反応しません。(IEはこちらの都合で試してません)
 いろいろ調べていくと、入力後に「pressKey」でEnterキーを送信すると反応します。deleteキーで入力を消せないのに不思議ですが...。

結局できないこと

 今のところ、私の作業には影響はないのですが、type=timeの場合にIEでは内容をクリアする方法が見当たりません。知っている方が居られたらコメントください。
 最近TestCafeのバージョンを確認してないので、もしかしたら改選されているかもしれませんが。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?