Guest User

Untitled

a guest
Jul 16th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using OpenQA.Selenium;
  3. using OpenQA.Selenium.Chrome;
  4. using OpenQA.Selenium.Support.UI;
  5. using System;
  6. using System.IO;
  7. using System.Linq;
  8. using System.Reflection;
  9. using SeleniumExtras.WaitHelpers;
  10.  
  11. [TestClass]
  12. public class UnitTest1
  13. {
  14. ChromeDriver driver;
  15. WebDriverWait webDriverWait;
  16. [TestInitialize]
  17. public void Startup()
  18. {
  19. var chromeOptions = new ChromeOptions();
  20. //chromeOptions.AddArguments("headless");
  21. chromeOptions.AddArguments("--proxy-server='direct://'");
  22. chromeOptions.AddArguments("--proxy-bypass-list=*");
  23. //chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true");
  24. //chromeOptions.AddArguments("--disable-extensions");
  25. chromeOptions.AddArguments("--start-maximized");
  26.  
  27. var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
  28. ChromeDriverService chromeDriverService = ChromeDriverService.CreateDefaultService(path);
  29. driver = new ChromeDriver(chromeDriverService, chromeOptions);
  30. webDriverWait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
  31. }
  32. [TestCleanup]
  33. public void CleanUp()
  34. {
  35. driver.Quit();
  36. }
  37. [TestMethod]
  38. public void GetSproutsWeeklyAdDetails()
  39. {
  40. try
  41. { driver.Navigate().GoToUrl("http://www.sprouts.com/store/tx/plano/plano/");
  42. }
  43. catch (TimeoutException timeoutException)
  44. {
  45. driver.Navigate().Refresh();
  46. }
  47. webDriverWait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
  48. **var elements1 = webDriverWait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(
  49. By.XPath("//div[@class='cell small-6 divider']/button")));
  50. elements1.First().Click();**
  51. <= the system is unable to find the button 80% of the times
  52.  
  53. webDriverWait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
  54. var elements2 = webDriverWait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(
  55. By.XPath("//li[@class='cell-wrapper' and @ng-repeat='item in items track by $index']")));
  56. System.Diagnostics.Debug.WriteLine(elements2.Count);
  57.  
  58. foreach (var element2 in elements2)
  59. {
  60. var element3 = element2.FindElement(By.XPath(".//span[@class='cell-title-text']"));
  61. var element4 = element2.FindElement(By.CssSelector(".price.sale.on-sale"));
  62. System.Diagnostics.Debug.WriteLine(element3?.Text +" : " +element4?.Text);
  63. }
  64. }
  65. }
Add Comment
Please, Sign In to add comment