Используя машинописный текст, как мне определить этот квадрат белого прямоугольника элемента, затем щелкнуть и перетащить белое поле, оно имеет ng-mousedown и преобразует - PullRequest
0 голосов
/ 29 декабря 2018

Мне нужна помощь в создании кода транспортира машинописного текста / javascript для этого?для веб-автоматизации.

Как щелкнуть эту белую коробку и перетащить ее слева направо?

Перетаскивание слева направо, также изменит значение с transform="translate(205)" на transform="translate(206)", а также на <text>2/20/18</text>.

Код веб-сайта:

<g id="IndicateNav" ng-attr-trnsform="translate({{trVM._indicate || 0}})" ng-mousedown="trVM.mousedown($event, 'indicator')" ng-show="trVM._indicate" class="move-horizonal show-label-on-hover" transform="translate(205)">
   <line x1="0" x2="0" ng-attr-y1="{{trVM.bTop}}" ng-attr-y2="{{trVM.height}}" stroke="black" stroke-width="2" y1="20" y2="45"></line>
        <g ng-attr-trnsform="translate(0,{{trVM.bTop + ( (trVM.height - trVM.bTop) / 2) }})" transform="translate(0,32.5)">
            <square sx="0" sy="0" r="6" fill="white" stroke="black" stroke-width="2" ng-non-bindable=""></square>
        </g>
            <text x="14" ng-attr-y="{{3 + trVM.bTop + ( (trVM.height-trVM.bTop) / 2 )}}" text-anchor="start" font-size="12px" fill="white" style="pointer-events:none;" y="35.5">2/20/18</text>
</g>

1 Ответ

0 голосов
/ 29 декабря 2018

Вы можете воспользоваться функциями, предоставляемыми browser.actions().

Решение:

  1. Добавить идентификатор в тег square [Допустим, идентификатор - «whiteBox»].
  2. Получить элемент 'whiteBox' и сохранить его в переменной.

    const whiteBox = element(by.css('#whiteBox'));
    
  3. Имитировать поведение пользователя при перетаскивании с помощью следующего кода:

    browser.actions().mouseDown(whiteBox).mouseMove({x: 50, y: 0}).mouseUp().perform()  
    

    При этом перетащите whiteBox на 50 пикселей вправо.

  4. Если вы хотите перетащить «whiteBox» на другой элемент, вы можете сделать это тоже:

    browser.actions().mouseDown(whiteBox).mouseMove(element2).mouseUp().perform()  
    

Полный код теста:

describe('whiteBox Dragging Test', function() {
  it('Drag whiteBox to right', function () {
    const EC = protractor.ExpectedConditions;
    const whiteBox = element(by.css('#whiteBox'));
    browser.wait(EC.presenceOf(whiteBox), 5000).then(() => {
      browser.actions().mouseDown(whiteBox).mouseMove({x: 50, y: 0}).mouseUp().perform();
    });
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...