Как заставить "dragAndDrop" работать с Selenium с помощью JavaScript? - PullRequest
0 голосов
/ 25 апреля 2019

Я создаю тест Selenium для веб-страницы, над которой я работаю, и застреваю, пытаясь использовать действие dragAndDrop.Мне нужно использовать это действие, чтобы переупорядочить список ожидания, который у меня есть.Я новичок, когда дело доходит до Selenium, и я не уверен, что использую правильный синтаксис для действия dragAndDrop.Я был бы признателен, если бы кто-нибудь помог мне вести меня в правильном направлении.Ниже приведен мой текущий код минус какой-то другой тест, который я написал.

const webdriver = require('selenium-webdriver');
const keys = webdriver.Key;
const chromedriver = require('chromedriver');
const chrome = require('selenium-webdriver/chrome');
const rp = require('request-promise');
const chai = require('chai');
const assert = chai.assert;
const expect = chai.expect;
const should = chai.should();
const WebElement = require('selenium-webdriver');
const actions = require('selenium-webdriver/lib/input');

driver = new webdriver.Builder().forBrowser('chrome').build();

describe('This is for testing the Rewards Portal using Selenium', function() {
this.timeout(60000);

  it('Should reorder the customers', async function () {
        let drag = driver.findElement(webdriver.By.xpath('//*[@id="LiveScheduleList"]/ul/li[1]/div[2]'));
        let drop = driver.findElement(webdriver.By.xpath('//*[@id="LiveScheduleList"]/ul/li[2]/div[2]'));

        await driver.sleep(2500);

        await driver.executeScript("document.querySelector('#ChangeOrderBtn').click();");

        await driver.sleep(2500);

        await actions.dragAndDrop(drag, drop);

    });
};

Когда я его запускаю, я получаю это обратно: TypeError: actions.dragAndDrop is not a function

1 Ответ

0 голосов
/ 07 июня 2019

Вы используете действия неправильно.

Ваш код должен выглядеть следующим образом ...

await driver.
      actions().
      dragAndDrop(drag, drop);

PD: Кстати, использование сна для синхронизации вашего кода не лучшая практика ...

...