Example #1
0
    public SeleniumSteps SelectSizeAndQuantity(Product product)
    {
      //      var selectContainer = _driver.FindElements(By.ClassName("exp-pdp-size-container")).FirstOrDefault(e => e.Displayed);
      var selectContainer =
        _driver.FindElement(By.CssSelector(".exp-pdp-size-and-quantity-container > div:nth-child(1)"));
      selectContainer.Click();

      var sizeOption =
        _driver.ExecuteJavaScript<IWebElement>(
          "return $('ul.nsg-form--drop-down--option-container:nth-child(1)>li:contains(\\'" + 43 + "\\')')[0]");

      // should change to stock check.
      if (sizeOption.GetAttribute("class").Contains("selectBox-disabled"))
      {
        MessageBox.Show("out of stock.");
        return null;
      }
      sizeOption.Click();
      return this;

      // don't choose quantity for now.
      //      var quantityOption =
      //        _driver.ExecuteJavaScript<IWebElement>("return $('ul.exp-pdp-quantity-dropdown > li:contains(1)')");
      //      quantityOption.Click();
    }
 private async void BtnGetProduct_click(object sender, RoutedEventArgs e)
 {
   product = PurchaseConfiguration.GetProduct();
   await product.GetProductInfo();
   MessageBox.Show(
     $"Instock:{product.ProductSkus.Where(s => s.InStock).Aggregate(string.Empty, (result, next) => result += (next.DisplaySize + ";"))}, Outstock:{product.ProductSkus.Where(s => !s.InStock).Aggregate(string.Empty, (result, next) => result += next.DisplaySize + ";")}");
 }
Example #3
0
    public async Task AddtoCart(Product product)
    {

      var client = Utilities.HttpClient("https://secure-store.nike.com", Cookies);
      var responseMessage = await client.SendAsync(RequestMessageBuilder.BuildAddProductRequest(this));
      responseMessage.EnsureSuccessStatusCode();
      // "https://secure-store.nike.com/ap/services/jcartService?callback=nike_Cart_handleJCartResponse&action=addItem&lang_locale=zh_CN&country=CN&catalogId=4&productId=10873886&price=1599&siteId=null&line1=Kobe+XI+Elite+Low+BHM&line2=%E7%94%B7%E5%AD%90%E7%AF%AE%E7%90%83%E9%9E%8B&passcode=null&sizeType=null&skuAndSize=15848073%3A42.5&qty=1&rt=json&view=3&skuId=15848073&displaySize=42.5&_=1453400314000"
    }
 public static HttpRequestMessage BuildAddProductRequest(User user, Product product)
 {
   var request = new HttpRequestMessage(HttpMethod.Get, "ap/services/jcartService?callback=nike_Cart_handleJCartResponse&action=addItem&lang_locale=zh_CN&country=CN&catalogId=4&productId=10873886&price=1599&siteId=null&line1=Kobe+XI+Elite+Low+BHM&line2=%E7%94%B7%E5%AD%90%E7%AF%AE%E7%90%83%E9%9E%8B&passcode=null&sizeType=null&skuAndSize=15848073%3A42.5&qty=1&rt=json&view=3&skuId=15848073&displaySize=42.5&_=1453400314000");
   request.Headers.Add("Accept", "*/*");
   request.Headers.Add("Accept-Encoding", "gzip, deflate, sdch");
   request.Headers.Add("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4,zh-TW;q=0.2");
   request.Headers.Add("Cache-Control", "no-cache");
   request.Headers.Add("Connection", "keep-alive");
   request.Headers.Add("Host", "secure-store.nike.com");
   request.Headers.Add("Pragma", "no-cache");
   request.Headers.Referrer = new Uri("http://store.nike.com/cn/zh_cn/pd/kobe-11-elite-low-bhm-%E7%AF%AE%E7%90%83%E9%9E%8B/pid-10873886/pgid-11181193");
   request.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36");
   return request;
 }