private void seleniumVendor_SelectedIndexChanged(object sender, EventArgs e) { var dtVendorCapabilities = new Dictionary<string, Dictionary<string, Object>>(); dtVendorCapabilities.Add("Sauce Labs", new Dictionary<string, Object>{ { "capabilities", new Dictionary<string, string>{ { "username", "<USERNAME>" }, { "accessKey", "<ACCESSKEY>" } } }, { "hub_url", "http://ondemand.saucelabs.com:80/wd/hub/" }, { "help_url", "https://www.browserstack.com/automate/c-sharp#configure-capabilities" }, { "platform", "linux" }, { "browser", "chrome" }, { "version", "35" }, }); dtVendorCapabilities.Add("TestingBot", new Dictionary<string, Object>{ { "capabilities", new Dictionary<string, string>{ { "username", "<USERNAME>" }, { "accesskey", "<ACCESSKEY>" } } }, { "hub_url", "" }, { "help_url", "https://testingbot.com/features" }, { "platform", "<PLATFORM>" }, { "browser", "<BROWSER>" }, { "version", "<VERSION>" }, }); dtVendorCapabilities.Add("BrowserStack", new Dictionary<string, Object>{ { "capabilities", new Dictionary<string, string>{ { "browserstack.user", "<BROWSERSTACK.USER>" }, { "browserstack.key", "<BROWSERSTACK.KEY>" } } }, { "hub_url", "http://hub.browserstack.com/wd/hub/" }, { "help_url", "https://www.browserstack.com/automate/c-sharp#configure-capabilities" }, { "platform", "<PLATFORM>" }, { "browser", "<BROWSER>" }, { "version", "<VERSION>" }, }); string vendor = cbSeleniumVendor.SelectedItem.ToString(); if (dtVendorCapabilities.ContainsKey(vendor)) { // create a dummy vendorBrowser vendorBrowser = new VendorBrowser (); vendorBrowser.Browser = null; vendorBrowser.Version = null; vendorBrowser.Platform = null; vendorBrowser.Custom = true; vendorBrowser.HubUrl = dtVendorCapabilities[vendor]["hub_url"].ToString(); // TODO: update the chkUseRemoteHub.Checked and txtRemoteHubUrl.Text parent.txtRemoteHubUrl.Text = vendorBrowser.HubUrl; parent.chkUseRemoteHub.Checked = true; // fill dataGridView DataGridView with vendor-specific inputs dataGridView.Rows.Clear(); foreach (var configuration_input in new String[] { "browser", "platform", "version" }) { dataGridView.Rows.Add(new String[] { configuration_input, dtVendorCapabilities[vendor][configuration_input].ToString() }); } Object capabilities_input_object; dtVendorCapabilities[vendor].TryGetValue("capabilities", out capabilities_input_object); Dictionary<string, string> capabilities_input = new Dictionary<string, string>(); try { capabilities_input = capabilities_input_object as Dictionary<string, string>; } catch (Exception) { /* ignore */ } foreach (string capability_name in capabilities_input.Keys) { dataGridView.Rows.Add(new String[] { capability_name, capabilities_input[capability_name].ToString() }); } } }
private void seleniumVendor_SelectedIndexChanged(object sender, EventArgs e) { var dtVendorCapabilities = new Dictionary <string, Dictionary <string, Object> >(); dtVendorCapabilities.Add("Sauce Labs", new Dictionary <string, Object> { { "capabilities", new Dictionary <string, string> { { "username", "<USERNAME>" }, { "accessKey", "<ACCESSKEY>" } } }, { "hub_url", "http://ondemand.saucelabs.com:80/wd/hub/" }, { "help_url", "https://www.browserstack.com/automate/c-sharp#configure-capabilities" }, { "platform", "linux" }, { "browser", "chrome" }, { "version", "35" }, }); dtVendorCapabilities.Add("TestingBot", new Dictionary <string, Object> { { "capabilities", new Dictionary <string, string> { { "username", "<USERNAME>" }, { "accesskey", "<ACCESSKEY>" } } }, { "hub_url", "" }, { "help_url", "https://testingbot.com/features" }, { "platform", "<PLATFORM>" }, { "browser", "<BROWSER>" }, { "version", "<VERSION>" }, }); dtVendorCapabilities.Add("BrowserStack", new Dictionary <string, Object> { { "capabilities", new Dictionary <string, string> { { "browserstack.user", "<BROWSERSTACK.USER>" }, { "browserstack.key", "<BROWSERSTACK.KEY>" } } }, { "hub_url", "http://hub.browserstack.com/wd/hub/" }, { "help_url", "https://www.browserstack.com/automate/c-sharp#configure-capabilities" }, { "platform", "<PLATFORM>" }, { "browser", "<BROWSER>" }, { "version", "<VERSION>" }, }); string vendor = cbSeleniumVendor.SelectedItem.ToString(); if (dtVendorCapabilities.ContainsKey(vendor)) { // create a dummy vendorBrowser vendorBrowser = new VendorBrowser(); vendorBrowser.Browser = null; vendorBrowser.Version = null; vendorBrowser.Platform = null; vendorBrowser.Custom = true; vendorBrowser.HubUrl = dtVendorCapabilities[vendor]["hub_url"].ToString(); // TODO: update the chkUseRemoteHub.Checked and txtRemoteHubUrl.Text parent.txtRemoteHubUrl.Text = vendorBrowser.HubUrl; parent.chkUseRemoteHub.Checked = true; // fill dataGridView DataGridView with vendor-specific inputs dataGridView.Rows.Clear(); foreach (var configuration_input in new String[] { "browser", "platform", "version" }) { dataGridView.Rows.Add(new String[] { configuration_input, dtVendorCapabilities[vendor][configuration_input].ToString() }); } Object capabilities_input_object; dtVendorCapabilities[vendor].TryGetValue("capabilities", out capabilities_input_object); Dictionary <string, string> capabilities_input = new Dictionary <string, string>(); try { capabilities_input = capabilities_input_object as Dictionary <string, string>; } catch (Exception) { /* ignore */ } foreach (string capability_name in capabilities_input.Keys) { dataGridView.Rows.Add(new String[] { capability_name, capabilities_input[capability_name].ToString() }); } } }