- Регистрация
- 20.03.2020
- Сообщения
- 76
- Благодарностей
- 78
- Баллы
- 18
C#:
Tab tab = instance.ActiveTab;
// https://chromedevtools.github.io/devtools-protocol/tot/Input/#type-TouchPoint
TouchData data = new TouchData(
x: 400, // X coordinate of the event relative to the main frame's viewport in CSS pixels.
y: 500, // Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to the top of the viewport and Y increases as it proceeds towards the bottom of the viewport.
id: 0, // неприменимо в текущем виде, только 0
radiusX: 1.0f, // X radius of the touch area (default: 1.0)
radiusY: 1.0f, // Y radius of the touch area (default: 1.0)
rotationAngle: 0.0f, // Rotation angle (default: 0.0)
force: 1.0f, // Force (default: 1.0)
EventFlags.None, // полезно, если вы эмулируете ПК с сенсорным экраном
PointerType.Touch // Touch, Pen, Eraser, Mouse
);
tab.Touch.TouchStart(data); // начало касания
// ждём...
Thread.Sleep(500);
// Далее потребуется выполнить
tab.Touch.TouchEnd(data); // палец отжат
C#:
//(int xMin, int yMin, int xMax, int yMax, bool longPress, string clickDistributionType)
// Эмулировать клик
instance.DroidInstance.Input.Touch(, , , , false, "Normal");
Или может можно переписать dllы какие-нибудь, чтобы добавить их в дроид.
Изменение силы, масштаба и ротации тача вроде бы база для эмуляции андроида - это обязано должно быть в дроиде.
А так же это:
C#:
//Создаем экземпляр класса для задания параметров эмуляции
TouchEmulationParameters touchEmulationParameters = new TouchEmulationParameters();
touchEmulationParameters.Acceleration = 0;
touchEmulationParameters.LongTouchLengthMs = 0;
touchEmulationParameters.MaxCurvature = 0;
touchEmulationParameters.MaxCurvePeakShift = 0;
touchEmulationParameters.MaxStep = 0;
touchEmulationParameters.MaxSwipeShiftTowardsThumb = 0;
touchEmulationParameters.MinCurvature = 0;
touchEmulationParameters.MinCurvePeakShift = 0;
touchEmulationParameters.MinStep = 0;
touchEmulationParameters.MinSwipeShiftTowardsThumb = 0;
touchEmulationParameters.PauseAfterTouchMs = 0;
touchEmulationParameters.PauseBetweenStepsMs = 0;
touchEmulationParameters.PauseBetweenSwipesMs = 0;
touchEmulationParameters.RectangleBasePointPartH = 0;
touchEmulationParameters.RectangleBasePointPartW = 0;
touchEmulationParameters.RightThumbProbability = 0;
touchEmulationParameters.SwipeDeviationX = 0;
touchEmulationParameters.SwipeDeviationY = 0;
touchEmulationParameters.SwipeFractionX = 0;
touchEmulationParameters.SwipeFractionY = 0;
touchEmulationParameters.TouchLengthMs = 0;
//Передаем в метод указания параметров эмуляции наш экземпляр класса с сгенерированными параметрами
instance.ActiveTab.Touch.SetTouchEmulationParameters(touchEmulationParameters);
//Делаем свайп
instance.ActiveTab.Touch.SwipeBetween(minX, minY, maxX + 340, maxY);