Más contenido relacionado La actualidad más candente (20) Similar a Stac2014 石川 (20) Más de Tatsuya Ishikawa (20) Stac2014 石川16. こう見るのだ!
つまり、プログラムとして
見るのですね
public partial class InputForm : Form{
DataGridView _dataGridView;
TextBox _textBoxName;
DateTimePicker _dateTime;
Button _buttonOK;
void buttonOK_Click(object s, EventArgs e)
{
・・・
}
}
1.Why do you peel
it?
17. いつもと同じAPIが使える!(とすると
form._textBoxName.Text = “abc”;
form._dateTime.Value =
new DateTime(2014, 11, 1);
Form._buttonOK.PerformClick();
public partial class InputForm : Form{
DataGridView _dataGridView;
TextBox _textBoxName;
DateTimePicker _dateTime;
Button _buttonOK;
void buttonOK_Click(object s, EventArgs e)
{
・・・
}
}
1.Why do you peel
it?
思い通りにプログラムできる!
Happy!
19. そこでFriendlyですよ
Is a magical library!
It break through
the walls of processes.
デモ!
https://www.youtube.com/watch?v=CK327YuI-bk
https://www.youtube.com/watch?v=xy7BvrrF8oE
21. なぜ剥くのか?
僕自身が
自在にテスト自動化コードを書くために
この考えを採用したのです。
だって、こうしたら
普通のプログラムと同じノリで拡張できるし。
操作上のボトルネックを外すこともできる!
テスタビリティーも好きに向上できるじゃん!
1.Why do you peel
it?
Freedom!
33. GUIコントロールを操作する分には、
多くの場合は手動と同等と考えられる
GUI
コントロール
(3rdパーティー)
→差異のあるものもある
form._textBoxName.Text = “abc”;
form._dateTime.Value =
new DateTime(2014, 11, 1);
form._buttonOK.PerformClick();
大体はこれでOK
一般的に望まれる
システムテスト自動化とほぼ同等の効果
単にプログラムから扱いやすいだけ
2.How to peel
39. 例えばこんなとき
//ここの結合は不安が少ない
void Event(object sender, EventArgs e)
{
EventCore(PointToClient(Control. MousePosition));
}
//これを呼び出す
void EventCore(Point mousePosClient)
{
//ここから先なら簡単に操作可能
//テストとしても問題がない
}
自動化可能に! こういうの苦手・・・
・キー、マウス直接参照
・D&D
・OS提供のGUI
2.How to peel
47. GUIすっ飛ばして、
static変数書き換えて
関数呼び出し。
結果のstatic変数を全ダンプ。
2.How to peel
種類実行平均時間合計
手動30秒1250時間
自動GUI操作2秒83時間
自動内部メソッド10ミリ秒24分
24分でできた。
これなら機能追加期間に
頻繁に実行できるね。
ローカルPCでもね。
59. Friendlyの上位ライブラリは
一般的なコントロールの皮を剥いた後にかぶせるラッパー
それを使うとローコストにAppDriverを作れます!
Win32,WinForms,WPF
そろってます。
3.Add New Interface
http://www.codeer.co.jp/AutoTest/api-reference/codeer-friendly-windows-
nativestandardcontrols-dll
http://www.codeer.co.jp/AutoTest/api-reference/ong-friendly-formsstandardcontrols-
dll
https://github.com/Roommetro/Friendly.WPFStandardControls/