public Form1() { InitializeComponent(); _browser = new WebBrowserEx(); _browser.Dock = DockStyle.Fill; this.Controls.Add(_browser); }
/// <summary> /// 新しいタブウインドウを設定する /// </summary> /// <param name="e"></param> private void setNewWebTab(WebBrowserEx newBrowser) { // 新しい WebBrowser の初期化 newBrowser.Dock = DockStyle.Fill; //新しい WebBrowser のコンテナ(下記はタブの場合) var tabPage = new TabPage(); tabPage.Controls.Add(newBrowser); tabControl1.TabPages.Add(tabPage); // 新しい WebBrowser に表示させる設定 newBrowser.RegisterAsBrowser = true; // 新しい WebBrowser からさらにウィンドウを開かれるときも同じようにする newBrowser.NewWindow2 += webBrowser_NewWindow2; //新しいタブに名称を設定する //tabPage.Name = newBrowser.Document.Title; //新規タブを選択する tabControl1.SelectedTab = tabPage; //Web画面表示完了イベント登録 newBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowserDocumentCompleted); //テスト対象WebBrowserを変更する if (tabControl1.SelectedTab.Controls.Count > 0) { webTestController.setWebBrowser((WebBrowserEx)tabControl1.SelectedTab.Controls[0]); } }
/// <summary> /// テスト自動実行 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonTestAllDo_Click(object sender, EventArgs e) { //TestCase選択されているかを確認 if (checkedListBox1.CheckedIndices.Count == 0) { MessageBox.Show("対象のテストケースが選択されていません", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //ポストバックカウントをリセット documentCompletedCount = 0; ////----------URLを設定 if (webTestController.webBrowser == null || tabControl1.SelectedTab == null) { WebBrowserEx webBrowserEx = new WebBrowserEx(); //新しいタブウインドウを設定 setNewWebTab(webBrowserEx); webTestController.webBrowser = webBrowserEx; } //ウエイト System.Threading.Thread.Sleep(1000); //TODO Configで外から設定できるようにする //テスト自動実行 webTestController.testDone(checkedListBox1.CheckedIndices.Cast <int>().ToList()); }
// 新しくウィンドウを開かれようとするときに発生する void webBrowser_NewWindow2(object sender, WebBrowserNewWindow2EventArgs e) { WebBrowserEx webBrowserEx = new WebBrowserEx(); //新しいタブウインドウを設定 setNewWebTab(webBrowserEx); e.ppDisp = webBrowserEx.Application; }
/// <summary> /// URLを設定 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonUrlSet_Click(object sender, EventArgs e) { //一覧選択チェック if (!checkTestCaseListSelected()) { return; } ////URLを設定 //comboBoxUrl.Text = webTestController.getWebTestInfo(checkedListBox1.SelectedIndex).url; ////マニュアル実行 //webTestController.testDoneManual(checkedListBox1.SelectedIndex, 0); WebBrowserEx webBrowserEx = new WebBrowserEx(); //新しいタブウインドウを設定 setNewWebTab(webBrowserEx); webTestController.webBrowser = webBrowserEx; ////新しいウインドウが開かれる時の動作のメソッドをハンドルに設定する //webBrowserEx1.NewWindow2 += new WebBrowserNewWindow2EventHandler(webBrowser_NewWindow2); ////Web画面表示完了イベント登録(デフォルトWebブラウザ) //webBrowserEx1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowserDocumentCompleted); WebTestDto webTestDto = webTestController.getWebTestInfo(checkedListBox1.SelectedIndex); //ポストバックカウントをリセット documentCompletedCount = 0; // URLに移動 webTestController.webBrowser.Navigate(webTestDto.url); }