JamesMatchett/Selenium-Move-Sliders-Library

not working

Opened this issue · 0 comments

tried this approach but still the slider pointer is not moving into desired place.
`public int GetPixelsToMove(string column, decimal Amount)
{
//slider filter list
var minValues = BrowserFactory.BrowserDriver.FindElements(By.XPath(".//[@Class='ng5-slider-span ng5-slider-pointer ng5-slider-pointer-min']"));
var maxValues = BrowserFactory.BrowserDriver.FindElements(By.XPath(".//
[@Class='ng5-slider-span ng5-slider-pointer ng5-slider-pointer-max']"));

        //min slider values
        int minHeight = minValues[GetElementIndexForFilterSliderLabels(column, 0)].Size.Height;
        int minWidth = minValues[GetElementIndexForFilterSliderLabels(column, 0)].Size.Width;
        int minLargestVal = Convert.ToInt32(minValues[GetElementIndexForFilterSliderLabels(column, 0)].GetAttribute("aria-valuemax"));
        int minSmallestVal = Convert.ToInt32(minValues[GetElementIndexForFilterSliderLabels(column, 0)].GetAttribute("aria-valuemin"));

        int pixels = 0;
        decimal tempPixels = minValues[GetElementIndexForFilterSliderLabels(column, 0)].Size.Width;
        tempPixels = tempPixels / (minLargestVal - minSmallestVal);
        tempPixels = tempPixels * (Amount - minSmallestVal);
        pixels = Convert.ToInt32(tempPixels);

        return pixels;
    }

    public void MoveSlider(string column, int minValue, int maxValue)
    {
        OpenQA.Selenium.Interactions.Actions action = new OpenQA.Selenium.Interactions.Actions(BrowserFactory.BrowserDriver);

        //slider filter list
        var minValues = BrowserFactory.BrowserDriver.FindElements(By.XPath(".//*[@class='ng5-slider-span ng5-slider-pointer ng5-slider-pointer-min']"));
        var maxValues = BrowserFactory.BrowserDriver.FindElements(By.XPath(".//*[@class='ng5-slider-span ng5-slider-pointer ng5-slider-pointer-max']"));

        //min slider values
        int minHeight = minValues[GetElementIndexForFilterSliderLabels(column, 0)].Size.Height;
        int minWidth = minValues[GetElementIndexForFilterSliderLabels(column, 0)].Size.Width;
        int minLargestVal = Convert.ToInt32(minValues[GetElementIndexForFilterSliderLabels(column, 0)].GetAttribute("aria-valuemax"));
        int minSmallestVal = Convert.ToInt32(minValues[GetElementIndexForFilterSliderLabels(column, 0)].GetAttribute("aria-valuemin"));

        int maxSmallestVal = Convert.ToInt32(maxValues[GetElementIndexForFilterSliderLabels(column, 0)].GetAttribute("aria-valuemin"));

        int PixelsToMove = GetPixelsToMove(column, minValue);

        action.ClickAndHold(minValues[GetElementIndexForFilterSliderLabels(column, 0)])
            .MoveByOffset(-minWidth / 2, 0)
            .MoveByOffset(PixelsToMove, 0).Release().Build();`

}`