Outline
- What Is Selenium
- Why Automates Web Browser
- Automation with Selenium IDE
- Automation with WebDriver
- Page Factory
- Page Object Pattern
- Automation with FluentAutomation
- Selenium Grid
- Selenium Tests in Continuous Integration
- The Reality
- Q & A
Code sample can be downloaded at http://goo.gl/KtyF6r
9. WEBDRIVER
•
•
IWebDriver driver = new ChromeDriver();
driver.Navigate().GoToUrl("http://localhost:57536/");
IWebElement element = driver.FindElement(By.Id(UserName"));
case-sensitive!
10. WEBDRIVER
•
•
•
IWebElement element = driver.FindElement(By.Id("confirm"));
element.Click();
ReadOnlyCollection<IWebElement> elements = driver.FindElements(By.Name("sex"));
// or use By.Id if any
elements[1].Click();
new SelectElement(driver.FindElement(By.Id("month"))).SelectByText("Mar");
11. WEBDRIVER
•
•
ReadOnlyCollection<IWebElement> elements = driver.FindElements(By.Name("lang"));
// or use By.Id if any
elements[1].Click();
elements[2].Click();
IWebElement element = driver.FindElement(By.Id("name"));
element.SendKyes("pete");
12. WEBDRIVER
• REGISTRATION
[Test]
public void Can_Register()
{
IWebDriver driver = new ChromeDriver("../../");
driver.Navigate().GoToUrl(@"G:meetupsampleregister.html");
driver.FindElement(By.Id("username")).SendKeys("pete");
driver.FindElement(By.Id("password")).SendKeys("123456");
new SelectElement(driver.FindElement(By.Id("title"))).SelectByText("Mr");
driver.FindElements(By.Name("sex"))[1].Click();
driver.FindElements(By.Name("lang"))[1].Click();
driver.FindElements(By.Name("lang"))[2].Click();
driver.FindElement(By.Id("register")).Click();
Assert.True(driver.FindElement(By.Id("done")).Text == "Registration Completed!");
}