ささいなことですが。

Windowsアプリテスト自動化ライブラリFriendly開発者の日記です。

Friendly.FarPoint 1.0.0、Friendly.C1.Win 1.0.0 をリリースしました!

連続リリースです。
GrapeCity様のFpSpread、C1FlexGridを別プロセスから操作するためのライブラリであるFriendly.FarPoint 1.0.0、Friendly.C1.Win 1.0.0 をリリースしました!www.nuget.org
www.nuget.org

Friendly.FarPointはもちろんFpSpreadの操作だけですし、Friendly.C1.WinもまだC1FlexGridの操作だけですね。C1に関しては、もっと便利なUIクラスが多数定義されていますが、いかんせん僕がまだ使ったことないんで、操作クラスが上手く実装できないんですよねー。(誰か手伝って

ご要望受付中

こちらもご要望うけつけますよ。まだまだ使いやすく進化させる予定です。

操作コード

FpSpreadの操作です。

dynamic main = app.Type(typeof(Application)).OpenForms[0];  
var spread = new FpSpreadDriver(main._grid);

//sheets.
int count = spread.Sheets.Count;
int activeSheetIndex = spread.ActiveSheetIndex;
spread.EmulateChangeActiveSheet(1);
var sheet = spread.Sheets[1];
sheet = spread.ActiveSheet;

//cell.
var cell = sheet.Cells[0. 3];
cell = sheet.ActiveCell;
string text = cell.Text;
int rowIndex = cell.Row.Index;
int rowIndex2 = cell.Row.Index2;
int rowIndex = cell.Column.Index;
int rowIndex2 = cell.Column.Index2;
sheet.EmulateChangeActiveCell(3, 5, true);
sheet.EmulateAddSelection(1, 2, 3, 5);
sheet.EmulateRemoveSelection(1, 2, 3, 5);
sheet.EmulateClearSelection();

//edit.
sheet.EmulateChangeActiveCell(0, 1, true);
spread.EmualteEditText("abc");

sheet.EmulateChangeActiveCell(1, 1, true);
spread.EmualteEditValue(2);

sheet.EmulateChangeActiveCell(0, 3, true);
spread.EmualteEditSelectedIndex(1);

sheet.EmulateChangeActiveCell(0, 2, true);
spread.EmualteEditCheckState(CheckState.Checked);

f:id:ishikawa-tatsuya:20150906220858p:plain
C1FlexGridの操作です。

dynamic main = app.Type(typeof(Application)).OpenForms[0];  
var grid = new C1FlexGridDriver(main._grid);

//select cell.
grid.EmulateSelect(1, 2);
grid.EmulateSelect(1, 2, 5, 3);

//get selection.
int row = grid.Row;
int col = grid.Col;
int rowSel = grid.RowSel;
int colSel = grid.ColSel;

//add row selection.
grid.EmulateAddSelectedRow(2);
grid.EmulateAddSelectedRow(3);

//get row selection.
int[] rows = grid.SelectedRows;

//get cell text.
grid.GetCellText(1, 2);
grid.GetCellTexts(0, 0, 2, 4);

//get cell object.
//it can use for serializasble objects.
grid.GetCellObjects(0, 0, 2, 4);
grid.GetCellObject(1, 2);

//edit.
grid.EmulateSelect(1, 1);
grid.EmulateEditText("1-1");
grid.EmulateSelect(1, 2);
grid.EmulateEditCombo(2);
grid.EmulateSelect(1, 3);
grid.EmulateEditCheck(false);

f:id:ishikawa-tatsuya:20150906220908p:plain
どちらも、非常に直感的ですよねw

他のFriendlyのライブラリと組み合わせて使う必要があります。

単品で使うものではなく、Friendlyの他のライブラリと組み合わせて使うものです。Friendlyの基本を学んでおかないと使えないのです。Frienldyはコツさえつかめば簡単なんで問題ないです。
え?それもできるだけ少ない時間で習得したい?そんな都合のいいもの・・・
あったw(すみません二回連続)
はい、東京と大阪でハンズオンやります。特に東京の方は半日でFriendlyの全てをマスターできるフルコースです。これはお得!残席まだあります。このチャンスに是非!

東京会場SHIFT様(9/19)madoguchi100.connpass.com

大阪会場ベリサーブ様(9/24)vshtc.doorkeeper.jp