Могу ли я отсортировать свой код, используя другую функцию в селене - PullRequest
0 голосов
/ 30 мая 2020
driver.Navigate().GoToUrl("http://demoqa.com/sortable");
var numberOne = driver.FindElement(By.XPath("//*[@id='demo-tabpane-  list']/div/div[1]"));
var numberTwo = driver.FindElement(By.XPath("//*[@id='demo-tabpane-list']/div/div[2]"));

var actions = new Actions(driver);
actions
     .ClickAndHold(numberTwo)
     .MoveToElement(numberOneOne)
     .MoveByOffset(0, 10)
     .Release()
     .Perform();

IList Этот код помогает мне изменить положение чисел. Но теперь я хочу его (обновить).

Как я могу делать то же самое с помощью (IList)?

Я использую пример с сортируемыми числами из: http://demoqa.com/sortable

1 Ответ

0 голосов
/ 30 мая 2020

Трудно понять, что именно вы здесь просите. Что вы имеете в виду под «(обновить) его»?

Я собрал небольшой код, который будет обрабатывать перемещение элемента списка в другую позицию, но с использованием метода, который можно использовать повторно:

    [TestClass]
    public class UnitTest1
    {
        private IWebDriver _driver;

        [TestMethod]
        public void Test1()
        {
            _driver = new ChromeDriver();
            _driver.Navigate().GoToUrl("http://demoqa.com/sortable");

            // Get the list of items (one to six)
            var listItems = _driver.FindElements(By.XPath("//*[@id='demo-tabpane-list']/div/div"));

            // Use a method to specify what item to movem and where
            Sort(listItems, "One", "Three");
            Sort(listItems, "Three", "Six");

            _driver.Dispose();
        }

        private void Sort(ReadOnlyCollection<IWebElement> list, string itemToMove, string itemToReplace)
        {
            var elToMove = list.First(a => a.Text == itemToMove);
            var elToReplace = list.First(a => a.Text == itemToReplace);

            var actions = new Actions(_driver);
            actions
                 .ClickAndHold(elToMove)
                 .MoveToElement(elToReplace)
                 .MoveByOffset(0, 10)
                 .Release()
                 .Perform();
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...