Я должен симулировать разблокировку этого слайда с помощью 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; }