2016-04-09 39 views
0
[TestClass] 
    public class UnitTest1 
    { 
     [TestMethod()] 
     public void TestMethod1() 
     { 
      // Arrange 
      String expected = "text"; 

      //a ACT 
      IWebDriver driver = new FirefoxDriver(); 
      driver.Navigate().GoToUrl("https://accounts.google.com/ServiceLogin?service=mail&continue=https://mail.google.com/mail/&hl=pl#identifier"); 
      driver.Manage().Window.Maximize(); 

      IWebElement email = driver.FindElement(By.XPath("//*[@id='Email']")); 
      email.Clear(); 
      email.SendKeys("myemail"); 

      IWebElement buttonElement = driver.FindElement(By.XPath("//*[@id='next']")); 
      buttonElement.Click(); 

      var wait1 = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(10)); 
      var password = wait1.Until(wd => wd.FindElement(By.XPath("//input[@id='Passwd']")));    
      password.Clear(); 
      password.SendKeys("mypassword"); 

      IWebElement login = driver.FindElement(By.XPath("//*[@id='signIn']")); 
      login.Click(); 

      expected = driver.FindElement(By.ClassName("z0")).Text; //<-DOES'NT WORK 


      // Assert 
      Assert.IsTrue(expected.Contains("text")); 

     } 
    } 

Merhaba. Gmail'e giriş yapmak için test yaptım. Ama giriş yaptıktan sonra bu sayfada metin bulmak ve testimin sonunda "iddia" ya koymak istiyorum. Bana nasıl yardımcı olabilir misiniz, nasıl yapmalı?Sayfadan metin nasıl alınır? Selenyum, C#

cevap

0

Sen mevcut olması element için bekleme gereken:

var expected = wait1.Until(wd => wd.FindElement(By.ClassName("z0"))).Text;