sikuli-driver team mailing list archive
-
sikuli-driver team
-
Mailing list archive
-
Message #41464
[Bug 1662784] Re: [1.1.1] Android - ADB: input not working correctly
** Description changed:
- reported by https://github.com/kainecy
- at https://github.com/RaiMan/SikuliX-2014/issues/210#issuecomment-278236117
+ reported by https://github.com/Umriyaev
+ input: https://github.com/RaiMan/SikuliX-2014/issues/210#issuecomment-278236117
+ tap: https://github.com/RaiMan/SikuliX-2014/issues/210#issuecomment-278230572
--------------------------
There is no space between input text and the actual text to be typed.
public void input(String text) {
- try {
- text = text.replaceAll("\\s+", "%s");
- device.executeShell("input text ", text);
- RunTime.pause(text.length() * inputDelay);
- } catch (Exception e) {
- log(-1, "input: %s", e);
- }
- }
+ try {
+ text = text.replaceAll("\\s+", "%s");
+ device.executeShell("input text ", text);
+ RunTime.pause(text.length() * inputDelay);
+ } catch (Exception e) {
+ log(-1, "input: %s", e);
+ }
+ }
Also I'm replacing all the spaces with %s, otherwise adb server will raise an error.
To test them I changed org.sikuli.android.ADBTest.basicTest to the
following:
private static void basicTest(ADBScreen adbs) throws FindFailed {
- log(lvl, "**************** running basic test");
- adbs.aSwipeLeft();
- adbs.aSwipeRight();
- adbs.wait(1f);
- ScreenImage sIMg = adbs.userCapture("Android");
- sIMg.save(RunTime.get().fSikulixStore.getAbsolutePath(), "android");
- Image img = new Image(sIMg);
- adbs.aTap(img);
- adbs.wait(1f);
- sIMg = adbs.userCapture("Android");
- sIMg.save(RunTime.get().fSikulixStore.getAbsolutePath(), "android");
- img = new Image(sIMg);
- adbs.aTap(img);
- adbs.wait(1f);
- adbs.aInput("Hello world");
- }
+ log(lvl, "**************** running basic test");
+ adbs.aSwipeLeft();
+ adbs.aSwipeRight();
+ adbs.wait(1f);
+ ScreenImage sIMg = adbs.userCapture("Android");
+ sIMg.save(RunTime.get().fSikulixStore.getAbsolutePath(), "android");
+ Image img = new Image(sIMg);
+ adbs.aTap(img);
+ adbs.wait(1f);
+ sIMg = adbs.userCapture("Android");
+ sIMg.save(RunTime.get().fSikulixStore.getAbsolutePath(), "android");
+ img = new Image(sIMg);
+ adbs.aTap(img);
+ adbs.wait(1f);
+ adbs.aInput("Hello world");
+ }
** Summary changed:
- [1.1.1] Android - ADB: input not working correctly
+ [1.1.1] Android - ADB: input and tap not working correctly
--
You received this bug notification because you are a member of Sikuli
Drivers, which is subscribed to Sikuli.
https://bugs.launchpad.net/bugs/1662784
Title:
[1.1.1] Android - ADB: input and tap not working correctly
Status in Sikuli:
Fix Committed
Bug description:
reported by https://github.com/Umriyaev
input: https://github.com/RaiMan/SikuliX-2014/issues/210#issuecomment-278236117
tap: https://github.com/RaiMan/SikuliX-2014/issues/210#issuecomment-278230572
--------------------------
There is no space between input text and the actual text to be typed.
public void input(String text) {
try {
text = text.replaceAll("\\s+", "%s");
device.executeShell("input text ", text);
RunTime.pause(text.length() * inputDelay);
} catch (Exception e) {
log(-1, "input: %s", e);
}
}
Also I'm replacing all the spaces with %s, otherwise adb server will raise an error.
To test them I changed org.sikuli.android.ADBTest.basicTest to the
following:
private static void basicTest(ADBScreen adbs) throws FindFailed {
log(lvl, "**************** running basic test");
adbs.aSwipeLeft();
adbs.aSwipeRight();
adbs.wait(1f);
ScreenImage sIMg = adbs.userCapture("Android");
sIMg.save(RunTime.get().fSikulixStore.getAbsolutePath(), "android");
Image img = new Image(sIMg);
adbs.aTap(img);
adbs.wait(1f);
sIMg = adbs.userCapture("Android");
sIMg.save(RunTime.get().fSikulixStore.getAbsolutePath(), "android");
img = new Image(sIMg);
adbs.aTap(img);
adbs.wait(1f);
adbs.aInput("Hello world");
}
To manage notifications about this bug go to:
https://bugs.launchpad.net/sikuli/+bug/1662784/+subscriptions
References