Слайд, чтобы разблокировать с Selenium - PullRequest
2 голосов
/ 18 марта 2020

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

Я пытался с:

Action action = (Action) move.dragAndDropBy (slider, 10, 0) .build ();

курсор двигается, но ничего не начинается

Затем я пытался с:

JavascriptExecutor js = (JavascriptExecutor) webDriver;
js.executeScript ( "javascript: document.getElementById(\"slider\").value = 100;");

проблема в том, что это не ползунок classi c, а вход типа диапазона, подключенный к JS. Я прилагаю код

<input ng-disabled="ngDisabled" id="Slider" type="range" min="0" max="100" step="1" ng-change="setMoving()" ng-model="ngModel" class="ng-valid ng-not-empty ng-valid-min ng-valid-max ng-valid-step ng-dirty ng-touched" style="">


   function() {
    "use strict";
    angular.module("widgets").directive("Slider", ["TranslationService", "$timeout", "$compile", "$log", function(e, a, t, i) {
        return i.debug("slider directive called"), {
            require: ["ngModel"],
            templateUrl: "slider/template/slider.html",
            scope: {
                ngModel: "=",
                sliderParams: "=",
                min: "@",
                max: "@",
                step: "@",
                labelKey: "@",
                sliderCallback: "&",
                ngDisabled: "="
            },
            replace: !0,
            link: function(t, i) {
                var o = i.find("input");
                angular.isObject(t.sliderParams) || (t.sliderParams = {
                    callback: !1,
                    value: 0,
                    step: 100,
                    min: 0,
                    max: 100
                }), t.labelKey && (t.label = e.getLabelFromKey(t.labelKey, "label")), t.sliderParams.callback && function(e, t) {
                    o.bind("mouseup", function() {
                        parseInt(e.ngModel) === parseInt(e.sliderParams.max) && e.moving ? (e.moving = !1, e.clicked = !1, e.$eval(e.$parent.sliderCallback), e.sliderParams.value = 0, a(function() {
                            $("#Slider").val(0)
                        }, 100)) : (e.ngModel = 0, e.moving = !1, a(function() {
                            $("#Slider").val(0)
                        }, 100))
                    })
                }(t), t.setMoving = function() {
                    parseInt(t.ngModel) <= parseInt(t.sliderParams.max / 5) && (t.moving = !0)
                }
            }
        }
    }])
}(),
### CSS
   .slider-container {
  /* thumb */ }
  .slider-container input[type="range"] {
    -webkit-appearance: none;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    width: 100%;
    height: 26px;
    margin: 0;
    border: none;
    padding: 1px 2px;
    border-radius: 3px;
    background: url(../images/icons/slider-body.png) no-repeat center center #fff;
    -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2);
    outline: none;
    /* no focus outline */ }
  .slider-container input[type="range"]::-moz-range-track {
    border: inherit;
    background: transparent; }
  .slider-container input[type="range"]::-ms-track {
    border: inherit;
    color: transparent;
    /* don't drawn vertical reference line */
    background: transparent; }
  .slider-container input[type="range"]::-ms-fill-lower,
  .slider-container input[type="range"]::-ms-fill-upper {
    background: transparent; }
  .slider-container input[type="range"]::-ms-tooltip {
    display: none; }
  .slider-container input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 30px;
    height: 26px;
    border: none;
    border-radius: 3px;
    background: url(../images/icons/slider-thumb.png) no-repeat center center; }
  .slider-container input[type="range"]::-moz-range-thumb {
    width: 30px;
    height: 26px;
    border: none;
    border-radius: 3px;
    background: url(../images/icons/slider-thumb.png) no-repeat center center; }
  .slider-container input[type="range"]::-ms-thumb {
    width: 30px;
    height: 26px;
    border: none;
    border-radius: 3px;
    background: url(../images/icons/slider-thumb.png) no-repeat center center; }
  .slider-container.disabled input[type="range"]::-webkit-slider-thumb {
    background: url(../images/icons/slider-thumb-disabled.png) no-repeat center center; }
  .slider-container.disabled input[type="range"] {
    background-color: #ccc;
    background-image: none; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...