web automation testing using selenium
TRANSCRIPT
SELENIUM
•
HTTP://WWW.SELENIUMHQ.ORG/
•
WEBDRIVER
•
•
• HTTP://GOO.GL/AMKSRL
• HTTP://GOO.GL/ZVITGS
WEBDRIVER
•
•
IWebDriver driver = new ChromeDriver();driver.Navigate().GoToUrl("http://localhost:57536/");
IWebElement element = driver.FindElement(By.Id(UserName"));
case-sensitive!
WEBDRIVER
•
•
•
IWebElement element = driver.FindElement(By.Id("confirm"));element.Click();
ReadOnlyCollection<IWebElement> elements = driver.FindElements(By.Name("sex")); // or use By.Id if anyelements[1].Click();
new SelectElement(driver.FindElement(By.Id("month"))).SelectByText("Mar");
WEBDRIVER
•
•
IWebElement element = driver.FindElement(By.Id("name"));element.SendKyes("pete");
ReadOnlyCollection<IWebElement> elements = driver.FindElements(By.Name("lang"));// or use By.Id if anyelements[1].Click();elements[2].Click();
WEBDRIVER
• REGISTRATION
[Test]public void Can_Register(){
IWebDriver driver = new ChromeDriver("../../");driver.Navigate().GoToUrl(@"G:\meetup\sample\register.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!");
}
•
•
_username.SendKeys("pete");
[FindsBy(How = How.Id, Using = "username")] private IWebElement _username;
driver.FindElement(By.Id("username")).SendKeys("pete");
PageFactory.InitElements(driver, this);
•
•
[Test]public void Can_Register(){
IWebDriver driver = new ChromeDriver("../../");
RegistrationPage registrationPage = new RegistrationPage(driver);registrationPage.Navigate();
RegistrationCompletedPage completedPage = registrationPage.Register();Assert.True(completedPage.Exists());
}
IWebDriver driver = new ChromeDriver("../../");
RegistrationPage registrationPage = new RegistrationPage(driver);registrationPage.Navigate();
LoginPage loginPage = registrationPage.Register("pete", "123456", "Pete"); loginPage.LogIn("pete", "123456");
PaymentPage paymentPage = new PaymentPage(driver);paymentPage.Navigate();
ThirdPartyPage thirdPartyPage = paymentPage.Deposit("41523365", 10);
DepositCompletedPage completedPage = thirdPartyPage.Verify("pete", "123456");
Assert.True(completedPage.Succeeded());
FLUENTAUTOMATION
•
•
•
•
•
I.Open(@"G:\meetup\sample\register.html").Enter("pete").In("#username").Enter("123456").In("#password").Select(Option.Value, "Mr").From("#title").Click(":radio[value='2']").Click(":checkbox[value='C++']").Click(":checkbox[value='C#']").Click("#register").Assert.Exists("#done").Text("Registration Completed!");
• HTTP://GOO.GL/PXHBTY
SeleniumWebDriver.Bootstrap(SeleniumWebDriver.Browser.PhantomJs);
Devs
Repository
Build Server
Push
Pull
NotifyBuild > Run Tests (Unit Tests /
Integrations Tests / Selenium Tests / …)
(GitHub / Bitbucket / Stash / TFS / …)
(TeamCity / Jenkins / TFS / …)