変更履歴
最終更新日: 2020年6月21日
R8 | R9
Javaを使わず、日本語でテストシナリオを作成する方法を提供しました。[マニュアルページへのリンク...]
テストシナリオからテストコードを自動生成したとき、同時に WTF モデルクラスも自動生成されるようになりました。
インポートとエクスポート画面を操作できるようになりました。テストシナリオ中に、テスト用データのインポート操作を記述できます。
ファイル型項目へのファイルアップロード/ダウンロードのテストを記述できるようになりました。
全画面キャプチャができる fullscreenshot() メソッドを用意しました。サブメニュー有、サブメニュー無、サイドバーメニュー利用のいずれの状態にも対応しています。ファイル形式は png です。
なお fullscreenshot メソッド利用時はヘッドレスモードを true にしてください。
利用する WebDriver を、これまで使っていた 1.7.2 から 3.6.1 にバージョンアップしました。これにあわせて selenide を 4系から5系 (5.2.8) にバージョンアップしました。
selenide 4 系にあった Selenide#assertNoJavascriptErrors() メソッドが、5 系ではサポート終了となっています。(selenide の開発チームによると、動作が安定しないというのが理由のようです。)
これまでのテストで同メソッドを利用したテストを作成している場合は、この部分のコードを削除してください。
R8.5.0
テストシナリオを日本語で記述する方式の提供
WTFモデルクラスの自動生成
インポートとエクスポート画面の操作
pageTitle().shouldHave(exactText("インポートとエクスポート"));
// インポートとエクスポート画面を操作する PageObject を取得
ImportExport page = Operations.importExport();
// "すべて選択する" ボタンをクリック
page.selectAllModels();
// "エクスポート" ボタンをクリック
page.exportData();
pageTitle().shouldHave(exactText("インポートとエクスポート"));
// 処理対象のモデル(チェックボックス)を指定する
page.targetModels.val("顧客", "お知らせ");
// 処理対象のモデルの確認
page.targetModels.shouldHave("顧客", "お知らせ");
// インポートフォルダ名 に"data_test01.zip" を選択し、"旧データインポート" ボタンをクリック
page.importOldData("data_test01.zip");
pageTitle().shouldHave(exactText("インポートとエクスポート"));
// インポートフォルダ名 に"data_test01.zip" を選択し、"インポート" ボタンをクリック
page.importData("data_test01.zip");
pageTitle().shouldHave(exactText("インポートとエクスポート"));
// インポートフォルダ名 に"data_test01.zip" を選択し、"ダウンロード" ボタンをクリック
page.download("data_test01.zip");
pageTitle().shouldHave(exactText("インポートとエクスポート"));
// インポートフォルダ名 に"data_test01.zip" を選択し、"削除" ボタンをクリック
page.delete("data_test01.zip");
pageTitle().shouldHave(exactText("インポートとエクスポート"));
// "すべて解除する" ボタンをクリック
page.deselectAllModels();
pageTitle().shouldHave(exactText("インポートとエクスポート"));
制約
その他の改善
R8.4.2
ファイル型項目の対応
// ファイルのアップロード。
// アップロードするファイルは $(DEVHOME)に配置。
new FileType(model, "avatarImage").uploadFile(new File("a.png"));
// こちらでも可。
// アップロードするファイルは customize/test/resources に配置。
new FileType(model, "avatarImage").uploadFromClasspath("b.pdf");
// アップロードしたファイルクリア(クリアボタンをクリック)
//new FileType(model, "avatarImage").clear();
// ファイル名の確認。
new FileType(model, "avatarImage").shouldHave("a.png");
// ファイルのダウンロード。
File downloadFile = new FileType(model, "avatarImage").download();
// アップ前後のファイルが同じかを確認。
assertThat(FileUtils.contentEquals(new File("a.png"), downloadFile), is(true));
制約
画面キャプチャ
R8.4.1
R8.3.1
開発者が考慮すべき影響